:root {
    --ink:#191529;
    --muted:#665f75;
    --bg:#fffaf7;
    --paper:#fff;
    --pink:#ff4f9a;
    --purple:#7c5cff;
    --cyan:#45d9e8;
    --yellow:#ffd84d;
    --line:#eadfeb;
    --shadow:0 24px 70px rgba(55,30,82,.13);
    --r:28px
}

* {
    box-sizing:border-box
}

html {
    scroll-behavior:smooth
}

body {
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    overflow-x:hidden
}

body:before {
    content:'';
    position:fixed;
    inset:0;
    pointer-events:none;
    z-index:-2;
    background:radial-gradient(circle at 5% 10%,rgba(255,79,154,.13),transparent 22%),radial-gradient(circle at 95% 15%,rgba(69,217,232,.14),transparent 23%),radial-gradient(circle at 75% 80%,rgba(124,92,255,.10),transparent 28%)
}

a {
    color:inherit;
    text-decoration:none
}

img {
    max-width:100%;
    display:block
}

picture {
    display:block;
    max-width:100%
}

.container {
    width:min(1180px,calc(100% - 36px));
    margin:auto
}

.topbar {
    background:var(--ink);
    color:#fff;
    text-align:center;
    padding:9px 16px;
    font-size:13px
}

.header {
    position:sticky;
    top:0;
    z-index:20;
    background:rgba(255,250,247,.88);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(234,223,235,.8)
}

.nav {
    height:78px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px
}

.logo {
    display:flex;
    align-items:center;
    gap:11px;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-weight:800;
    font-size:23px
}

.logo-mark {
    width:42px;
    height:42px;
    border-radius:50%;
    background:conic-gradient(from 40deg,var(--pink),var(--purple),var(--cyan),var(--yellow),var(--pink));
    display:grid;
    place-items:center;
    box-shadow:0 8px 22px rgba(124,92,255,.25)
}

.logo-mark:after {
    content:'360';
    width:30px;
    height:30px;
    border-radius:50%;
    background:#fff;
    display:grid;
    place-items:center;
    font:800 10px system-ui;
    color:var(--ink)
}

.menu {
    display:flex;
    align-items:center;
    gap:25px;
    font-size:14px;
    font-weight:700
}

.menu a:hover {
    color:var(--pink)
}

.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    border:0;
    border-radius:999px;
    padding:15px 22px;
    font-weight:800;
    cursor:pointer;
    transition:.25s;
    background:var(--ink);
    color:#fff;
    box-shadow:0 10px 25px rgba(25,21,41,.15)
}

.btn:hover {
    transform:translateY(-2px);
    box-shadow:0 15px 32px rgba(25,21,41,.22)
}

.btn.gradient {
    background:linear-gradient(100deg,var(--pink),var(--purple));
}

.btn.light {
    background:#fff;
    color:var(--ink);
    border:1px solid var(--line)
}

.mobile-toggle {
    display:none;
    background:none;
    border:0;
    font-size:27px
}

.hero {
    padding:64px 0 45px;
    min-height:760px;
    display:flex;
    align-items:center
}

.hero-grid {
    display:grid;
    grid-template-columns:1.05fr .95fr;
    align-items:center;
    gap:54px
}

.eyebrow {
    display:inline-flex;
    gap:8px;
    align-items:center;
    border:1px solid var(--line);
    background:rgba(255,255,255,.72);
    padding:8px 13px;
    border-radius:999px;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em
}

.dot {
    width:8px;
    height:8px;
    background:var(--pink);
    border-radius:50%;
    box-shadow:0 0 0 5px rgba(255,79,154,.15)
}

h1,h2,h3 {
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif,sans-serif;
    margin:0;
    line-height:1.02
}

h1 {
    font-size:clamp(48px,6.3vw,86px);
    letter-spacing:-.055em
}

.gradient-text {
    background:linear-gradient(100deg,var(--pink),var(--purple),var(--cyan));
    -webkit-background-clip:text;
    color:transparent
}

.lead {
    font-size:18px;
    line-height:1.72;
    color:var(--muted);
    max-width:660px
}

.hero-actions {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
    margin:28px 0
}

.trust {
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    font-size:13px;
    font-weight:700;
    color:var(--muted)
}

.trust span {
    display:flex;
    align-items:center;
    gap:7px
}

.visual {
    position:relative;
    min-height:610px
}

.blob {
    position:absolute;
    inset:18px 18px 24px 20px;
    border-radius:45% 55% 48% 52%/42% 38% 62% 58%;
    background:linear-gradient(145deg,#ffebf4,#e7e2ff 48%,#dffcff);
    transform:rotate(-4deg);
    animation:morph 9s ease-in-out infinite
}

.hero-photo {
    position:absolute;
    inset:42px 40px 55px 52px;
    border-radius:42px;
    object-fit:cover;
    width:calc(100% - 92px);
    height:calc(100% - 97px);
    box-shadow:var(--shadow);
    transform:rotate(2deg)
}

.floating {
    position:absolute;
    background:rgba(255,255,255,.93);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.8);
    border-radius:20px;
    padding:15px 18px;
    box-shadow:0 18px 45px rgba(52,30,81,.16);
    font-weight:800;
    animation:float 4s ease-in-out infinite
}

.f1 {
    left:-16px;
    top:105px
}

.f2 {
    right:-6px;
    bottom:105px;
    animation-delay:-1.7s
}

.disco {
    position:absolute;
    width:90px;
    height:90px;
    border-radius:50%;
    right:4px;
    top:10px;
    background:repeating-conic-gradient(#fff 0 8deg,#d7d5ed 8deg 16deg);
    box-shadow:0 0 45px rgba(124,92,255,.28);
    animation:spin 14s linear infinite
}

.section {
    padding:95px 0
}

.section-head {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:38px
}

.section-head h2 {
    font-size:clamp(39px,5vw,64px);
    letter-spacing:-.045em
}

.section-head p {
    max-width:520px;
    color:var(--muted);
    line-height:1.7
}

.services {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}

.service-card {
    position:relative;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--line);
    border-radius:var(--r);
    padding:12px;
    box-shadow:0 12px 40px rgba(57,34,72,.07);
    transition:.3s
}

.service-card:hover {
    transform:translateY(-8px);
    box-shadow:var(--shadow)
}

.service-card img {
    height:310px;
    width:100%;
    object-fit:cover;
    border-radius:20px
}

.service-content {
    padding:22px 14px 16px
}

.service-content h3 {
    font-size:27px
}

.service-content p {
    color:var(--muted);
    line-height:1.65
}

.tag {
    position:absolute;
    top:26px;
    left:26px;
    background:#fff;
    padding:8px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:800
}

.arrow {
    font-size:20px
}

.ticker {
    overflow:hidden;
    border-block:1px solid var(--line);
    background:#fff;
    padding:17px 0
}

.ticker-track {
    white-space:nowrap;
    display:inline-flex;
    gap:38px;
    animation:ticker 24s linear infinite;
    font:800 16px Syne
}

.ticker i {
    color:var(--pink);
    font-style:normal
}

.split {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:55px;
    align-items:center
}

.feature-photo {
    border-radius:38px;
    height:620px;
    width:100%;
    object-fit:cover;
    box-shadow:var(--shadow)
}

.features {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
    margin-top:30px
}

.feature {
    background:#fff;
    border:1px solid var(--line);
    border-radius:19px;
    padding:18px
}

.feature b {
    display:block;
    margin-bottom:7px
}

.feature small {
    color:var(--muted);
    line-height:1.5
}

.price-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px
}

.price {
    background:#fff;
    border:1px solid var(--line);
    border-radius:28px;
    padding:30px;
    position:relative;
    transition:.3s
}

.price.featured {
    transform:translateY(-14px);
    border:2px solid var(--purple);
    box-shadow:var(--shadow)
}

.price-label {
    font-weight:800;
    color:var(--purple)
}

.amount {
    font:800 45px Syne;
    margin:17px 0
}

.amount small {
    font:600 14px var(--font-sans);
    color:var(--muted)
}

.price ul {
    padding:0;
    list-style:none;
    display:grid;
    gap:12px;
    color:var(--muted);
    font-size:14px
}

.price li:before {
    content:'✓';
    color:var(--pink);
    font-weight:900;
    margin-right:9px
}

.badge {
    position:absolute;
    right:20px;
    top:20px;
    background:var(--yellow);
    padding:7px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:900
}

.gallery {
    display:grid;
    grid-template-columns:1.15fr .85fr .85fr;
    grid-auto-rows:240px;
    gap:14px
}

.gallery img {
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:24px;
    cursor:pointer;
    transition:.3s
}

.gallery img:hover {
    transform:scale(.985);
    filter:saturate(1.12)
}

.gallery .tall {
    grid-row:span 2
}

.gallery .wide {
    grid-column:span 2
}

.reviews {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px
}

.review {
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    padding:27px
}

.stars {
    color:#ffb800;
    letter-spacing:3px
}

.review p {
    line-height:1.75;
    color:var(--muted)
}

.review footer {
    display:flex;
    justify-content:space-between;
    align-items:center;
    font-size:13px
}

.contact-box {
    background:linear-gradient(135deg,#221b3a,#52278c 55%,#d83b86);
    color:#fff;
    border-radius:42px;
    padding:55px;
    display:grid;
    grid-template-columns:.8fr 1.2fr;
    gap:55px;
    position:relative;
    overflow:hidden
}

.contact-box:after {
    content:'';
    position:absolute;
    width:260px;
    height:260px;
    border:50px solid rgba(255,255,255,.07);
    border-radius:50%;
    right:-80px;
    top:-90px
}

.contact-box h2 {
    font-size:53px
}

.contact-box p {
    color:#e9dff0;
    line-height:1.7
}

.form {
    position:relative;
    z-index:2;
    background:#fff;
    color:var(--ink);
    padding:27px;
    border-radius:28px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:13px
}

.form input,.form select,.form textarea {
    width:100%;
    padding:15px 16px;
    border:1px solid var(--line);
    border-radius:13px;
    font:inherit;
    background:#fff
}

.form textarea {
    grid-column:1/-1;
    min-height:110px;
    resize:vertical
}

.form .full {
    grid-column:1/-1
}

.footer {
    padding:55px 0 25px
}

.footer-grid {
    display:grid;
    grid-template-columns:1.4fr repeat(3,1fr);
    gap:35px
}

.footer h4 {
    margin:0 0 15px
}

.footer a,.footer p {
    display:block;
    color:var(--muted);
    margin:9px 0;
    font-size:14px
}

.copyright {
    border-top:1px solid var(--line);
    margin-top:35px;
    padding-top:20px;
    font-size:12px;
    color:var(--muted);
    display:flex;
    justify-content:space-between
}

.subhero {
    padding:85px 0 60px;
    text-align:center
}

.subhero h1 {
    font-size:clamp(46px,7vw,78px)
}

.subhero .lead {
    margin:22px auto
}

.breadcrumb {
    font-size:13px;
    color:var(--muted);
    margin-bottom:18px
}

.offer-hero {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:48px;
    align-items:center
}

.offer-hero img {
    height:590px;
    width:100%;
    object-fit:cover;
    border-radius:40px;
    box-shadow:var(--shadow)
}

.icon-list {
    display:grid;
    gap:13px;
    margin:24px 0
}

.icon-list div {
    display:flex;
    gap:12px;
    align-items:flex-start
}

.icon-list b {
    background:#fff;
    border:1px solid var(--line);
    width:35px;
    height:35px;
    border-radius:11px;
    display:grid;
    place-items:center;
    flex:0 0 auto
}

.faq {
    max-width:900px;
    margin:auto
}

.faq-item {
    border-bottom:1px solid var(--line)
}

.faq-q {
    width:100%;
    background:none;
    border:0;
    padding:23px 0;
    text-align:left;
    font:800 18px var(--font-sans);
    display:flex;
    justify-content:space-between
}

.faq-a {
    max-height:0;
    overflow:hidden;
    color:var(--muted);
    line-height:1.7;
    transition:max-height .35s
}

.faq-item.active .faq-a {
    max-height:180px;
    padding-bottom:22px
}

.sticky-cta {
    position:fixed;
    right:20px;
    bottom:20px;
    z-index:25
}

.lightbox {
    position:fixed;
    inset:0;
    background:rgba(18,13,28,.88);
    z-index:100;
    display:none;
    align-items:center;
    justify-content:center;
    padding:30px
}

.lightbox.open {
    display:flex
}

.lightbox img {
    max-height:90vh;
    max-width:92vw;
    border-radius:20px
}

.reveal {
    opacity:0;
    transform:translateY(25px);
    transition:.7s
}

.reveal.visible {
    opacity:1;
    transform:none
}

@keyframes float {
    50% {
        transform:translateY(-12px) rotate(1deg)
    }

}

@keyframes morph {
    50% {
        border-radius:55% 45% 58% 42%/52% 58% 42% 48%;
        transform:rotate(3deg)
    }

}

@keyframes spin {
    to {
        transform:rotate(360deg)
    }

}

@keyframes ticker {
    to {
        transform:translateX(-50%)
    }

}

@media(max-width:900px) {
    .menu {
        position:fixed;
        inset:108px 18px auto;
        background:#fff;
        border:1px solid var(--line);
        border-radius:20px;
        padding:22px;
        display:none;
        flex-direction:column;
        align-items:flex-start;
        box-shadow:var(--shadow)
    }

    .menu.open {
        display:flex
    }

    .mobile-toggle {
        display:block
    }

    .nav>.btn {
        display:none
    }

    .hero {
        padding-top:35px
    }

    .hero-grid,.split,.offer-hero,.contact-box {
        grid-template-columns:1fr
    }

    .visual {
        min-height:520px
    }

    .services,.price-grid,.reviews {
        grid-template-columns:1fr
    }

    .price.featured {
        transform:none
    }

    .section {
        padding:70px 0
    }

    .section-head {
        display:block
    }

    .features {
        grid-template-columns:1fr
    }

    .gallery {
        grid-template-columns:1fr 1fr;
        grid-auto-rows:210px
    }

    .gallery .wide {
        grid-column:span 1
    }

    .contact-box {
        padding:30px
    }

    .footer-grid {
        grid-template-columns:1fr 1fr
    }

}

@media(max-width:560px) {
    .topbar {
        font-size:11px
    }

    .nav {
        height:68px
    }

    .logo {
        font-size:19px
    }

    .logo-mark {
        width:37px;
        height:37px
    }

    .hero {
        min-height:auto
    }

    .visual {
        min-height:430px
    }

    .hero-photo {
        inset:32px 15px 30px;
        width:calc(100% - 30px);
        height:calc(100% - 62px)
    }

    .blob {
        inset:8px
    }

    .f1 {
        left:0;
        top:70px
    }

    .f2 {
        right:0;
        bottom:55px
    }

    .disco {
        width:65px;
        height:65px
    }

    .gallery {
        grid-template-columns:1fr
    }

    .gallery .tall {
        grid-row:span 1
    }

    .form {
        grid-template-columns:1fr
    }

    .form textarea,.form .full {
        grid-column:auto
    }

    .contact-box h2 {
        font-size:40px
    }

    .footer-grid {
        grid-template-columns:1fr
    }

    .copyright {
        display:block
    }

    .sticky-cta .btn {
        padding:13px 16px;
        font-size:13px
    }

}

/* Redesign 2.1 — jasny klimat premium */
:root {
    --ink:#24201f;
    --muted:#706967;
    --bg:#fbf8f3;
    --paper:#fff;
    --pink:#b94752;
    --purple:#7f5960;
    --cyan:#d7a86e;
    --yellow:#f2d5b3;
    --line:#e8ded4;
    --shadow:0 26px 70px rgba(81,58,50,.13);
    --r:26px
}

body {
    font-family:"Manrope",Arial,sans-serif;
    background:linear-gradient(180deg,#fffdf9 0,#f8f2ec 100%);
    color:var(--ink)
}

body:before {
    background:radial-gradient(circle at 4% 12%,rgba(215,168,110,.18),transparent 25%),radial-gradient(circle at 96% 18%,rgba(185,71,82,.10),transparent 24%)
}

h1,h2,h3,.logo,.ticker-track {
    font-family:"Manrope",Arial,sans-serif;
    font-weight:800;
    letter-spacing:-.045em
}

.topbar {
    background:#2b2523
}

.header {
    background:rgba(255,253,249,.94)
}

.logo-mark {
    background:linear-gradient(145deg,#b94752,#d7a86e);
    box-shadow:0 8px 20px rgba(185,71,82,.2)
}

.btn.gradient,.btn.primary {
    background:#b94752
}

.btn.gradient:hover,.btn.primary:hover {
    background:#9e3944
}

.gradient-text,.accent-text {
    background:none!important;
    color:#b94752!important
}

.blob {
    background:linear-gradient(145deg,#f3dfcb,#ead0d2 52%,#f7eee5)
}

.disco {
    box-shadow:0 0 45px rgba(185,71,82,.18)
}

.service-card,.price,.review,.feature {
    box-shadow:0 10px 35px rgba(81,58,50,.06)
}

.contact-box {
    background:linear-gradient(135deg,#302826,#69464b 58%,#a84651)
}

.nav-dropdown {
    position:relative
}

.nav-drop-btn {
    font:inherit;
    font-weight:700;
    color:inherit;
    background:none;
    border:0;
    padding:16px 0;
    cursor:pointer;
    display:flex;
    gap:5px;
    align-items:center
}

.nav-drop-panel {
    position:absolute;
    top:100%;
    left:50%;
    transform:translate(-50%,10px);
    width:310px;
    padding:10px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transition:.2s;
    z-index:40
}

.nav-dropdown:hover .nav-drop-panel,.nav-dropdown:focus-within .nav-drop-panel {
    opacity:1;
    visibility:visible;
    transform:translate(-50%,0)
}

.nav-drop-panel a {
    display:flex!important;
    flex-direction:column;
    gap:3px;
    padding:12px 13px;
    border-radius:12px
}

.nav-drop-panel a:hover {
    background:#faf3ed
}

.nav-drop-panel small {
    font-size:11px;
    color:var(--muted);
    font-weight:500
}

.nav-drop-panel b {
    font-size:14px
}

.about-section {
    background:#fff
}

.about-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:70px;
    align-items:center
}

.about-collage {
    position:relative;
    min-height:610px
}

.about-main {
    position:absolute;
    left:0;
    top:0;
    width:78%;
    height:520px;
    object-fit:cover;
    border-radius:34px;
    box-shadow:var(--shadow)
}

.about-small {
    position:absolute;
    right:0;
    bottom:0;
    width:47%;
    height:275px;
    object-fit:cover;
    border:8px solid #fff;
    border-radius:28px;
    box-shadow:var(--shadow)
}

.about-number {
    position:absolute;
    left:25px;
    bottom:18px;
    background:#fff;
    border-radius:20px;
    padding:18px 22px;
    box-shadow:var(--shadow);
    display:flex;
    flex-direction:column
}

.about-number strong {
    font-size:36px;
    color:#b94752
}

.about-number span {
    font-size:12px;
    color:var(--muted)
}

.about-copy h2 {
    font-size:clamp(40px,5vw,62px);
    margin:18px 0
}

.about-copy>p {
    color:var(--muted);
    line-height:1.75
}

.about-points {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin:26px 0
}

.about-points span {
    font-weight:700;
    font-size:14px
}

.hero-photo,.feature-photo,.offer-hero img,.gallery img,.service-card img {
    filter:saturate(.92) contrast(1.03)
}

@media(max-width:900px) {
    .nav-dropdown {
        width:100%
    }

    .nav-drop-btn {
        width:100%;
        justify-content:space-between
    }

    .nav-drop-panel {
        position:static;
        transform:none!important;
        width:100%;
        opacity:1;
        visibility:visible;
        display:none;
        box-shadow:none;
        margin-top:4px
    }

    .nav-dropdown.open .nav-drop-panel {
        display:block
    }

    .about-grid {
        grid-template-columns:1fr
    }

    .about-collage {
        min-height:540px
    }

}

@media(max-width:560px) {
    .about-collage {
        min-height:450px
    }

    .about-main {
        height:390px;
        width:86%
    }

    .about-small {
        height:200px
    }

    .about-points {
        grid-template-columns:1fr
    }

}

/* Korekty 2.2 */
.amount {
    font-family:"Manrope",Arial,sans-serif!important;
    font-weight:800!important;
    letter-spacing:-.035em!important;
    font-style:normal!important
}

.social-links {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:14px
}

.social-links a {
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin:0;
    padding:8px 10px;
    border:1px solid var(--line);
    border-radius:999px;
    background:#fff;
    color:var(--ink);
    font-size:12px;
    font-weight:700
}

.social-links a span {
    width:22px;
    height:22px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#f5ece4;
    color:var(--pink);
    font-weight:900
}

.footer-cookie-link {
    border:0;
    background:none;
    padding:0;
    color:var(--muted);
    font:inherit;
    font-size:14px;
    cursor:pointer;
    text-align:left;
    margin:9px 0
}

.wzk-badge {
    min-width:300px;
    display:flex;
    align-items:center;
    gap:13px;
    padding:15px 18px;
    background:#fff;
    border:1px solid #ecd8de;
    border-radius:20px;
    box-shadow:0 12px 34px rgba(81,58,50,.08);
    color:#3d3033
}

.wzk-heart {
    width:42px;
    height:42px;
    display:grid;
    place-items:center;
    border-radius:50%;
    background:#ca4967;
    color:#fff;
    font-size:20px
}

.wzk-badge span:nth-child(2) {
    display:flex;
    flex-direction:column;
    line-height:1
}

.wzk-badge small {
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.08em;
    color:var(--muted);
    margin-bottom:5px
}

.wzk-badge strong {
    font-size:18px;
    color:#ca4967;
    letter-spacing:-.02em
}

.wzk-badge>b {
    margin-left:auto;
    font-size:13px;
    background:#fff4d8;
    padding:8px 10px;
    border-radius:999px
}

.cookie-banner {
    position:fixed;
    left:18px;
    right:18px;
    bottom:18px;
    z-index:200;
    max-width:1100px;
    margin:auto;
    padding:20px 22px;
    background:rgba(255,253,249,.98);
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:0 25px 80px rgba(42,31,28,.22);
    display:none;
    align-items:center;
    justify-content:space-between;
    gap:24px
}

.cookie-banner.show {
    display:flex
}

.cookie-copy {
    max-width:680px
}

.cookie-copy strong {
    font-size:18px
}

.cookie-copy p {
    margin:6px 0;
    color:var(--muted);
    font-size:13px;
    line-height:1.55
}

.cookie-copy a {
    font-size:12px;
    font-weight:800;
    color:var(--pink)
}

.cookie-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    justify-content:flex-end
}

.cookie-actions .btn {
    padding:12px 16px
}

.cookie-modal {
    position:fixed;
    inset:0;
    z-index:210;
    background:rgba(35,28,27,.55);
    display:none;
    place-items:center;
    padding:20px
}

.cookie-modal.open {
    display:grid
}

.cookie-modal-card {
    width:min(540px,100%);
    background:#fff;
    border-radius:28px;
    padding:30px;
    position:relative;
    box-shadow:var(--shadow)
}

.cookie-modal-card h3 {
    font-size:28px;
    margin:12px 0 20px
}

.cookie-close {
    position:absolute;
    right:18px;
    top:15px;
    border:0;
    background:#f4ece6;
    width:36px;
    height:36px;
    border-radius:50%;
    font-size:24px;
    cursor:pointer
}

.cookie-option {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:17px 0;
    border-top:1px solid var(--line)
}

.cookie-option span {
    display:flex;
    flex-direction:column;
    gap:4px
}

.cookie-option small {
    color:var(--muted);
    line-height:1.4
}

.cookie-option input {
    width:20px;
    height:20px
}

.cookie-save {
    width:100%;
    margin-top:15px
}

.policy-section {
    padding-top:20px
}

.policy-card {
    max-width:900px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:30px;
    padding:45px;
    box-shadow:0 15px 50px rgba(81,58,50,.06)
}

.policy-card h2 {
    font-size:25px;
    margin:30px 0 10px
}

.policy-card h2:first-child {
    margin-top:0
}

.policy-card p {
    color:var(--muted);
    line-height:1.8
}

.policy-date {
    margin-top:35px;
    font-size:13px
}

@media(max-width:760px) {
    .cookie-banner {
        align-items:flex-start;
        flex-direction:column
    }

    .cookie-actions {
        width:100%;
        justify-content:stretch
    }

    .cookie-actions .btn {
        flex:1
    }

    .wzk-badge {
        min-width:0;
        width:100%;
        margin-top:20px
    }

    .section-head .wzk-badge {
        max-width:100%
    }

    .policy-card {
        padding:26px
    }

    .social-links {
        gap:6px
    }

}

/* Mobile polish 2.3 — desktop pozostaje bez zmian */
@media (max-width: 760px) {
    .container {
        width:min(100% - 28px,1180px)
    }

    .topbar {
        padding:7px 10px;
        font-size:10px;
        line-height:1.35;
        letter-spacing:.01em
    }

    .header {
        backdrop-filter:blur(14px)
    }

    .nav {
        height:64px;
        gap:12px
    }

    .logo {
        font-size:18px;
        gap:8px;
        white-space:nowrap
    }

    .logo-mark {
        width:34px;
        height:34px;
        flex:0 0 auto
    }

    .logo-mark:after {
        width:25px;
        height:25px;
        font-size:8px
    }

    .mobile-toggle {
        width:42px;
        height:42px;
        display:grid;
        place-items:center;
        border:1px solid var(--line);
        border-radius:13px;
        background:#fff;
        font-size:0;
        box-shadow:0 6px 18px rgba(81,58,50,.06)
    }

    .mobile-toggle:before {
        content:'☰';
        font-size:23px;
        line-height:1
    }

    .menu {
        inset:99px 14px auto;
        padding:12px;
        gap:3px;
        border-radius:18px;
        max-height:calc(100vh - 118px);
        overflow:auto
    }

    .menu>a,.nav-drop-btn {
        width:100%;
        padding:12px 11px;
        border-radius:11px;
        font-size:14px
    }

    .menu>a:hover,.nav-drop-btn:hover {
        background:#faf3ed
    }

    .nav-drop-panel {
        padding:6px;
        border-radius:13px;
        background:#fbf7f2
    }

    .nav-drop-panel a {
        padding:10px
    }

    .hero {
        padding:34px 0 36px;
        display:block
    }

    .hero-grid {
        gap:25px
    }

    .hero h1 {
        font-size:clamp(39px,12vw,52px);
        line-height:1.01;
        letter-spacing:-.05em;
        margin-top:14px
    }

    .lead {
        font-size:15px;
        line-height:1.62
    }

    .hero .lead {
        margin:16px 0 0
    }

    .eyebrow {
        font-size:10px;
        padding:7px 10px
    }

    .hero-actions {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
        margin:21px 0 17px
    }

    .hero-actions .btn {
        width:100%;
        padding:13px 10px;
        font-size:12px;
        white-space:nowrap
    }

    .trust {
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:9px 12px;
        font-size:11px
    }

    .visual {
        min-height:340px;
        margin-top:4px
    }

    .blob {
        inset:14px 3px 10px;
        border-radius:34px;
        transform:rotate(-2deg);
        animation:none
    }

    .hero-photo {
        inset:25px 13px 20px;
        width:calc(100% - 26px);
        height:calc(100% - 45px);
        border-radius:27px;
        transform:none
    }

    .disco {
        width:54px;
        height:54px;
        right:4px;
        top:4px
    }

    .floating {
        font-size:10px;
        padding:10px 12px;
        border-radius:13px;
        animation:none
    }

    .f1 {
        left:2px;
        top:62px
    }

    .f2 {
        right:0;
        bottom:40px
    }

    .ticker {
        padding:12px 0
    }

    .ticker-track {
        font-size:12px;
        gap:22px
    }

    .section {
        padding:54px 0
    }

    .section-head {
        margin-bottom:24px
    }

    .section-head h2,.about-copy h2 {
        font-size:clamp(34px,10vw,44px);
        line-height:1.04;
        margin-top:12px
    }

    .section-head p {
        font-size:14px;
        line-height:1.6;
        margin:15px 0 0
    }

    .section-head>.btn {
        margin-top:18px;
        width:100%
    }

    .services {
        gap:14px
    }

    .service-card {
        border-radius:22px;
        padding:9px
    }

    .service-card img {
        height:235px;
        border-radius:16px
    }

    .service-content {
        padding:17px 10px 13px
    }

    .service-content h3 {
        font-size:23px
    }

    .service-content p {
        font-size:13px;
        line-height:1.55;
        margin:10px 0 14px
    }

    .service-content a {
        font-size:13px
    }

    .tag {
        top:18px;
        left:18px;
        font-size:10px;
        padding:7px 9px
    }

    .split {
        gap:26px
    }

    .feature-photo {
        height:390px;
        border-radius:26px
    }

    .split h2[style] {
        font-size:38px!important;
        line-height:1.05!important;
        margin-top:14px!important
    }

    .features {
        gap:9px;
        margin-top:21px
    }

    .feature {
        padding:15px;
        border-radius:15px
    }

    .feature b {
        font-size:13px
    }

    .feature small {
        font-size:11px
    }

    .about-grid {
        gap:28px
    }

    .about-collage {
        min-height:360px
    }

    .about-main {
        width:88%;
        height:310px;
        border-radius:25px
    }

    .about-small {
        width:45%;
        height:155px;
        border-width:5px;
        border-radius:19px
    }

    .about-number {
        left:12px;
        bottom:6px;
        padding:12px 15px;
        border-radius:15px
    }

    .about-number strong {
        font-size:27px
    }

    .about-number span {
        font-size:9px
    }

    .about-copy .lead,.about-copy>p {
        font-size:14px;
        line-height:1.65
    }

    .about-points {
        gap:8px;
        margin:20px 0
    }

    .about-points span {
        font-size:12px
    }

    .about-copy .btn {
        width:100%;
        padding-inline:12px
    }

    .gallery {
        gap:9px;
        grid-auto-rows:230px
    }

    .gallery img {
        border-radius:18px
    }

    .reviews {
        gap:12px
    }

    .review {
        padding:20px;
        border-radius:19px;
        margin:0
    }

    .review p {
        font-size:13px;
        line-height:1.65
    }

    .review footer {
        align-items:flex-start;
        gap:8px;
        flex-direction:column;
        font-size:11px
    }

    .wzk-badge {
        padding:13px 14px;
        border-radius:17px;
        gap:10px
    }

    .wzk-heart {
        width:36px;
        height:36px;
        font-size:17px
    }

    .wzk-badge strong {
        font-size:16px
    }

    .wzk-badge>b {
        font-size:11px;
        padding:7px 8px
    }

    .contact-box {
        padding:24px 17px;
        border-radius:27px;
        gap:25px
    }

    .contact-box h2 {
        font-size:38px;
        line-height:1.05;
        margin-top:13px
    }

    .contact-box p {
        font-size:13px;
        line-height:1.6
    }

    .form {
        padding:16px;
        border-radius:19px;
        gap:9px
    }

    .form input,.form select,.form textarea {
        padding:13px 12px;
        border-radius:11px;
        font-size:13px;
        min-height:46px
    }

    .form textarea {
        min-height:100px
    }

    .form label {
        line-height:1.45
    }

    .footer {
        padding:45px 0 92px
    }

    .footer-grid {
        gap:24px
    }

    .footer h4 {
        margin-bottom:10px
    }

    .footer a,.footer p {
        font-size:13px;
        margin:7px 0
    }

    .social-links a {
        flex:1;
        justify-content:center;
        min-width:92px;
        padding:8px 7px;
        font-size:11px
    }

    .copyright {
        font-size:10px;
        line-height:1.55;
        display:grid;
        gap:5px
    }

    .sticky-cta {
        left:14px;
        right:14px;
        bottom:12px
    }

    .sticky-cta .btn {
        width:100%;
        padding:13px 16px;
        font-size:13px;
        box-shadow:0 12px 35px rgba(81,58,50,.24)
    }

    body:has(.cookie-banner.show) .sticky-cta {
        display:none
    }

    .cookie-banner {
        left:10px;
        right:10px;
        bottom:10px;
        padding:16px;
        border-radius:18px;
        gap:14px
    }

    .cookie-copy strong {
        font-size:15px
    }

    .cookie-copy p {
        font-size:11px;
        line-height:1.45
    }

    .cookie-actions {
        display:grid;
        grid-template-columns:1fr 1fr;
        width:100%;
        gap:7px
    }

    .cookie-actions .btn {
        padding:11px 7px;
        font-size:11px
    }

    .cookie-actions .cookie-accept {
        grid-column:1/-1;
        grid-row:1
    }

    .cookie-modal-card {
        padding:23px 18px;
        border-radius:21px
    }

    .cookie-modal-card h3 {
        font-size:23px
    }

    .subhero {
        padding:48px 0 35px
    }

    .subhero h1 {
        font-size:clamp(38px,11vw,50px)
    }

    .offer-hero {
        gap:27px
    }

    .offer-hero img {
        height:390px;
        border-radius:27px
    }

    .price-grid {
        gap:13px
    }

    .price {
        padding:23px;
        border-radius:22px
    }

    .amount {
        font-size:39px
    }

    .policy-card {
        border-radius:22px;
        padding:22px
    }

    .policy-card h2 {
        font-size:21px
    }

}

@media (max-width: 380px) {
    .hero-actions {
        grid-template-columns:1fr
    }

    .trust {
        grid-template-columns:1fr
    }

    .floating {
        display:none
    }

    .visual {
        min-height:310px
    }

    .social-links {
        display:grid;
        grid-template-columns:1fr
    }

}

/* Mobile redesign 2.4 — świadomie zaprojektowany układ telefonu */
@media (max-width: 760px) {
    body {
        padding-bottom:0
    }

    .hero {
        padding:24px 0 28px
    }

    .hero-grid {
        gap:18px
    }

    .hero h1 {
        font-size:clamp(42px,11.7vw,52px);
        line-height:.98;
        margin-top:13px
    }

    .hero .lead {
        font-size:14px;
        line-height:1.55;
        margin-top:14px
    }

    .hero-actions {
        display:block;
        margin:18px 0 14px
    }

    .hero-actions .btn {
        min-height:52px;
        font-size:14px
    }

    .hero-actions .btn.light {
        display:none
    }

    .trust {
        grid-template-columns:1fr 1fr;
        gap:8px;
        font-size:11px
    }

    .trust span:nth-child(3),.trust span:nth-child(4) {
        display:none
    }

    .visual {
        min-height:275px;
        margin-top:3px
    }

    .blob {
        inset:8px 0 4px;
        border-radius:28px
    }

    .hero-photo {
        inset:16px 10px 12px;
        width:calc(100% - 20px);
        height:calc(100% - 28px);
        border-radius:23px
    }

    .disco {
        width:45px;
        height:45px;
        right:1px;
        top:0
    }

    .floating {
        display:none
    }

    .ticker {
        margin-top:0
    }

    .contact-box {
        background:#fff;
        color:var(--ink);
        border:1px solid var(--line);
        box-shadow:0 16px 50px rgba(81,58,50,.08);
        padding:22px 16px;
        border-radius:24px;
        gap:17px;
        overflow:visible
    }

    .contact-box:after {
        display:none
    }

    .contact-box h2 {
        font-size:35px;
        color:var(--ink)
    }

    .contact-box p {
        color:var(--muted);
        margin:9px 0;
        font-size:13px
    }

    .contact-box>div>p:last-child {
        background:#faf5f0;
        border-radius:15px;
        padding:12px 14px;
        margin-top:14px
    }

    .form {
        padding:0;
        background:transparent;
        border-radius:0;
        gap:10px
    }

    .form input,.form select,.form textarea {
        border:1px solid #e5d9d0;
        background:#fff;
        min-height:50px;
        font-size:14px;
        padding:13px 14px
    }

    .form textarea {
        min-height:105px
    }

    .form label.full {
        display:grid;
        grid-template-columns:24px 1fr;
        align-items:start;
        gap:9px;
        padding:4px 2px 2px;
        font-size:11px!important;
        line-height:1.45
    }

    .form label.full input {
        width:22px!important;
        height:22px;
        min-height:0;
        margin:0
    }

    .form button.full {
        min-height:52px;
        font-size:14px;
        margin-top:3px
    }

    .sticky-cta {
        opacity:0;
        visibility:hidden;
        transform:translateY(20px);
        transition:.25s ease;
        pointer-events:none;
        bottom:calc(10px + env(safe-area-inset-bottom))
    }

    .sticky-cta.mobile-visible {
        opacity:1;
        visibility:visible;
        transform:none;
        pointer-events:auto
    }

    .sticky-cta .btn {
        min-height:52px
    }

    body:has(.cookie-banner.show) .sticky-cta {
        display:none
    }

}

/* Hero 2.5 — spójna kompozycja i uporządkowany social proof */
.hero-proof {
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr)) auto;
    align-items:center;
    background:rgba(255,255,255,.88);
    border:1px solid var(--line);
    border-radius:24px;
    padding:15px 18px;
    box-shadow:0 18px 50px rgba(81,58,50,.08);
    backdrop-filter:blur(12px)
}

.proof-item {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:11px;
    min-height:52px;
    border-right:1px solid var(--line)
}

.proof-icon {
    width:34px;
    height:34px;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#f8ece8;
    color:#bd4855;
    font-size:16px;
    font-weight:900
}

.proof-item strong {
    display:block;
    font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:21px;
    line-height:1;
    color:var(--ink);
    letter-spacing:-.04em
}

.proof-item strong span {
    font-size:12px;
    color:var(--muted);
    margin-left:2px
}

.proof-item small {
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:10px;
    white-space:nowrap
}

.proof-link {
    padding:11px 15px;
    font-size:11px;
    font-weight:800;
    color:#a43d49;
    text-align:center
}

@media (min-width:761px) {
    .hero-grid {
        grid-template-rows:auto auto
    }

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

    .visual {
        grid-column:2;
        grid-row:1
    }

    .hero-proof {
        grid-row:2;
        margin-top:-12px
    }

}

@media (max-width:760px) {
    .hero {
        display:block;
        min-height:0;
        padding:25px 0 30px;
        background:linear-gradient(180deg,rgba(251,242,234,.72),rgba(255,250,247,0) 82%)
    }

    .hero-grid {
        display:flex;
        flex-direction:column;
        gap:0
    }

    .hero-copy {
        display:flex;
        flex-direction:column;
        align-items:flex-start;
        width:100%
    }

    .hero h1 {
        max-width:100%;
        font-size:clamp(41px,11.6vw,51px);
        line-height:.99;
        margin:15px 0 0;
        text-wrap:balance
    }

    .hero .lead {
        font-size:14px;
        line-height:1.58;
        margin:17px 0 0;
        max-width:34em
    }

    .hero-actions {
        width:100%;
        margin:20px 0 20px
    }

    .hero-actions .btn.gradient {
        width:100%;
        min-height:54px
    }

    .visual {
        order:2;
        position:relative;
        min-height:0;
        height:auto;
        margin:0;
        width:100%;
        padding:0
    }

    .blob {
        display:none
    }

    .hero-photo {
        position:relative;
        inset:auto;
        width:100%;
        height:auto;
        aspect-ratio:4/3;
        object-fit:cover;
        object-position:center 42%;
        border-radius:25px 25px 18px 18px;
        transform:none;
        box-shadow:0 18px 48px rgba(81,58,50,.14)
    }

    .disco {
        width:47px;
        height:47px;
        right:-3px;
        top:-12px;
        z-index:2
    }

    .hero-proof {
        order:3;
        display:grid;
        grid-template-columns:repeat(3,1fr);
        width:calc(100% - 16px);
        margin:-8px auto 0;
        padding:13px 8px 10px;
        border-radius:0 0 20px 20px;
        border-top:0;
        background:#fff;
        box-shadow:0 17px 42px rgba(81,58,50,.10);
        position:relative;
        z-index:3
    }

    .proof-item {
        min-height:56px;
        gap:5px;
        padding:0 4px;
        flex-direction:column;
        text-align:center
    }

    .proof-item:nth-child(3) {
        border-right:0
    }

    .proof-icon {
        display:none
    }

    .proof-item strong {
        font-size:19px
    }

    .proof-item small {
        font-size:9px;
        line-height:1.25;
        white-space:normal;
        margin-top:4px
    }

    .proof-link {
        grid-column:1/-1;
        border-top:1px solid var(--line);
        margin-top:9px;
        padding:10px 5px 2px;
        font-size:10px
    }

    .ticker {
        margin-top:0
    }

}

@media (max-width:380px) {
    .hero h1 {
        font-size:40px
    }

    .hero .lead {
        font-size:13px
    }

    .proof-item strong {
        font-size:17px
    }

    .proof-item small {
        font-size:8px
    }

}

/* Pole-pułapka na boty w formularzu kontaktowym — ukryte wizualnie, dostępne dla botów */
.hp-field {
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0
}

/* Komunikat o statusie wysyłki formularza */
.form-status {
    margin-top:12px;
    font-size:14px;
    font-weight:600
}

.form-status--ok {
    color:#1a7f37
}

.form-status--error {
    color:#c0392b
}

/* Link "przejdź do treści" dla użytkowników klawiatury i czytników ekranu */
.skip-link {
    position:absolute;
    top:-48px;
    left:8px;
    z-index:999;
    background:#fff;
    color:#231c1b;
    padding:10px 18px;
    border-radius:8px;
    font-weight:700;
    text-decoration:none;
    transition:top .2s ease
}

.skip-link:focus {
    top:8px
}


/* ===== SEO / SOCIAL / PARTNERS / LOCAL SECTIONS ===== */
.logo-word {display:flex;flex-direction:column;line-height:.94}
.logo-word small {font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:800;margin-top:4px}
.social-row {display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.social-link {display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13px;font-weight:800;transition:.2s}
.social-link:hover {transform:translateY(-2px);border-color:rgba(124,92,255,.28)}
.social-link svg {width:16px;height:16px;fill:currentColor}
.review-source-row {display:flex;gap:12px;flex-wrap:wrap;align-items:stretch;margin-bottom:24px}
.source-badge {flex:1;min-width:250px;background:#fff;border:1px solid var(--line);border-radius:22px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:0 12px 30px rgba(55,30,82,.06)}
.source-badge strong {font-size:16px}.source-badge small {display:block;color:var(--muted);margin-top:2px}.source-badge .score {font-size:20px;font-weight:900;white-space:nowrap}
.review .review-source {display:inline-flex;margin-top:12px;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.partners-grid {display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.partner-card {background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 14px 40px rgba(55,30,82,.06);transition:.25s}
.partner-card:hover {transform:translateY(-4px);box-shadow:var(--shadow)}
.partner-mark {width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(255,79,154,.12),rgba(124,92,255,.12));font-weight:900}
.partner-card h3 {font-size:24px;margin:20px 0 7px}.partner-card p {color:var(--muted);margin:0 0 18px;line-height:1.6}.partner-card a {font-weight:900;font-size:13px}
.local-zone {background:linear-gradient(135deg,#fff,#fff6f1);border:1px solid var(--line);border-radius:34px;padding:36px;display:grid;grid-template-columns:1fr .85fr;gap:36px;align-items:center}
.city-cloud {display:flex;flex-wrap:wrap;gap:10px}.city-cloud a {padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:800}.city-cloud a:hover {border-color:#bf4a55;color:#bf4a55}
.local-links {display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.local-link {padding:18px;border-radius:20px;background:#fff;border:1px solid var(--line);font-weight:900}.local-link small {display:block;font-weight:600;color:var(--muted);margin-top:5px;line-height:1.4}
.about-persons {display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:25px}.about-person {padding:20px;border:1px solid var(--line);background:#fff;border-radius:22px}.about-person strong {display:block;font-size:19px;margin-bottom:6px}.about-person p {margin:0;color:var(--muted);line-height:1.6}
.seo-hero {padding:72px 0 44px}.seo-hero .container {max-width:980px}.seo-hero h1 {font-size:clamp(42px,7vw,76px)}.seo-content {max-width:900px;margin:auto}.seo-content h2 {font-size:clamp(30px,4vw,48px);margin-top:42px}.seo-content p,.seo-content li {color:var(--muted);line-height:1.78}.seo-content ul {padding-left:20px}.breadcrumb {font-size:12px;color:var(--muted);margin-bottom:20px}.breadcrumb a {font-weight:800}.local-cta {margin:42px 0;padding:28px;border-radius:28px;background:linear-gradient(120deg,#bf4a55,#8b3548);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:20px}.local-cta p {color:rgba(255,255,255,.85);margin:6px 0 0}.local-cta .btn {background:#fff;color:#2b1c22;box-shadow:none}
.footer-socials {margin-top:14px}
.footer-local {display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.footer-local a {font-size:12px;color:var(--muted)}

@media (max-width: 820px) {
  .partners-grid,.local-links {grid-template-columns:1fr}
  .local-zone {grid-template-columns:1fr;padding:24px;border-radius:26px}
  .about-persons {grid-template-columns:1fr}
  .source-badge {min-width:100%}
  .seo-hero {padding:45px 0 28px}
  .local-cta {align-items:flex-start;flex-direction:column}
  .social-row {gap:7px}.social-link {padding:9px 11px}
}


/* ==========================================================================
   DISCOBUDKA V4 — cinematic hero + Rio Bubble
   ========================================================================== */
body { padding-top: 0; }
.header { top: 0 !important; }
.topbar { display:none !important; }

.hero-v4 {
    position: relative;
    isolation: isolate;
    min-height: calc(100svh - 86px);
    padding: 0;
    overflow: hidden;
    background: #241a19;
    color: #fff;
}
.hero-v4 .hero-media, .hero-v4 .hero-slide, .hero-v4 .hero-shade { position:absolute; inset:0; }
.hero-v4 .hero-media { z-index:-2; }
.hero-v4 .hero-slide {
    opacity:0;
    background-size:cover;
    background-position:center;
    transform:scale(1.035);
    transition: opacity 1s ease, transform 6s ease;
}
.hero-v4 .hero-slide.is-active { opacity:1; transform:scale(1.09); }
.hero-v4 .hero-shade {
    z-index:2;
    background: linear-gradient(90deg, rgba(20,13,13,.84) 0%, rgba(20,13,13,.67) 39%, rgba(20,13,13,.22) 66%, rgba(20,13,13,.36) 100%), linear-gradient(0deg, rgba(24,16,15,.75) 0%, transparent 43%);
}
.hero-v4-inner {
    min-height: calc(100svh - 86px);
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    padding-top: clamp(72px, 10vh, 124px);
    padding-bottom: 94px;
}
.hero-v4-copy { max-width:720px; }
.hero-v4-eyebrow { background:rgba(255,255,255,.11); color:#fff; border:1px solid rgba(255,255,255,.24); backdrop-filter:blur(12px); }
.hero-v4 h1 { margin:20px 0 20px; color:#fff; font-size:clamp(58px,6.4vw,104px); line-height:.91; letter-spacing:-.055em; max-width:930px; }
.hero-v4 h1 span { color:#e66a71; }
.hero-v4-copy > p { max-width:670px; font-size:clamp(18px,1.5vw,23px); line-height:1.55; color:rgba(255,255,255,.84); }
.hero-v4 .hero-actions { margin-top:30px; }
.hero-ghost { background:rgba(255,255,255,.12)!important; color:#fff!important; border-color:rgba(255,255,255,.28)!important; backdrop-filter:blur(10px); }
.hero-ghost:hover { background:#fff!important; color:#211a19!important; }

.hero-v4-bottom { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.hero-rating { display:flex; align-items:center; gap:16px; padding:15px 18px; border:1px solid rgba(255,255,255,.22); background:rgba(20,14,14,.45); backdrop-filter:blur(14px); border-radius:20px; }
.rating-main { display:flex; align-items:baseline; gap:5px; white-space:nowrap; }
.rating-star { color:#ffd26e; font-size:22px; margin-right:3px; }
.rating-main strong { font-size:29px; letter-spacing:-.04em; }
.rating-main small { color:rgba(255,255,255,.7); }
.rating-meta { display:flex; flex-direction:column; padding-left:15px; border-left:1px solid rgba(255,255,255,.18); font-size:13px; line-height:1.4; }
.rating-meta span { color:rgba(255,255,255,.8); }
.rating-meta a { color:#fff; font-weight:750; text-decoration:none; }
.hero-facts { display:flex; align-items:center; gap:8px; }
.hero-facts > div { min-width:112px; padding:14px 15px; border:1px solid rgba(255,255,255,.19); background:rgba(20,14,14,.36); backdrop-filter:blur(12px); border-radius:18px; }
.hero-facts strong { display:block; font-size:23px; }
.hero-facts span { color:rgba(255,255,255,.7); font-size:12px; }

.hero-ticker { position:absolute; left:0; right:0; bottom:0; height:52px; display:flex; align-items:center; overflow:hidden; border-top:1px solid rgba(255,255,255,.14); background:rgba(22,15,14,.76); backdrop-filter:blur(12px); }
.hero-ticker-track { width:max-content; white-space:nowrap; font-weight:800; letter-spacing:.13em; font-size:12px; animation:ticker 26s linear infinite; }
.hero-ticker-track i { color:#df666c; font-style:normal; margin:0 18px; }
.hero-dots { position:absolute; right:28px; bottom:72px; display:flex; gap:7px; }
.hero-dot { width:8px; height:8px; border:0; border-radius:999px; padding:0; background:rgba(255,255,255,.42); transition:.25s ease; cursor:pointer; }
.hero-dot.is-active { width:28px; background:#fff; }

.services { grid-template-columns:repeat(4,minmax(0,1fr)); }
.service-bubble .bubble-card-visual { min-height:315px; }
.bubble-card-visual, .bubble-showcase { position:relative; overflow:hidden; background:linear-gradient(135deg,#ff7a76,#ffb059 48%,#63d3cf); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.bubble-card-visual strong { font-size:52px; line-height:.82; letter-spacing:-.06em; position:relative; z-index:2; }
.bubble-showcase { min-height:520px; border-radius:34px; }
.bubble-showcase strong { font-size:86px; line-height:.82; letter-spacing:-.07em; position:relative; z-index:2; }
.bubble-showcase small { position:relative; z-index:2; margin-top:22px; text-transform:uppercase; letter-spacing:.14em; font-weight:800; }
.bubble-orb { position:absolute; border-radius:50%; background:rgba(255,255,255,.24); border:1px solid rgba(255,255,255,.4); backdrop-filter:blur(2px); }
.bubble-orb.b1 { width:150px;height:150px;left:-30px;top:30px; }
.bubble-orb.b2 { width:88px;height:88px;right:25px;top:42px; }
.bubble-orb.b3 { width:210px;height:210px;right:-60px;bottom:-70px; }
.bubble-prices .price { min-height:240px; }
.price-note { text-align:center; margin-top:22px; }

@media (max-width: 1100px) {
  .services { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-facts > div { min-width:96px; }
}

@media (max-width: 760px) {
  .header { height:74px; }
  .hero-v4 { min-height: calc(100svh - 74px); }
  .hero-v4-inner { min-height:calc(100svh - 74px); padding:42px 22px 110px; justify-content:flex-start; }
  .hero-v4 .hero-slide { background-position:58% center; }
  .hero-v4 .hero-slide:nth-child(2), .hero-v4 .hero-slide:nth-child(3), .hero-v4 .hero-slide:nth-child(4) { background-position:center; }
  .hero-v4 .hero-shade { background:linear-gradient(180deg,rgba(20,13,13,.3) 0%,rgba(20,13,13,.48) 28%,rgba(20,13,13,.86) 72%,rgba(20,13,13,.96) 100%); }
  .hero-v4-copy { margin-top:auto; }
  .hero-v4-eyebrow { font-size:11px; padding:9px 12px; }
  .hero-v4 h1 { font-size:clamp(50px,14.5vw,70px); line-height:.92; margin:18px 0 14px; max-width:620px; }
  .hero-v4-copy > p { font-size:16px; line-height:1.46; max-width:560px; margin:0; }
  .hero-v4 .hero-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:20px; }
  .hero-v4 .hero-actions .btn { min-height:52px; padding:0 14px; font-size:14px; }
  .hero-v4-bottom { margin-top:18px; display:block; }
  .hero-rating { width:100%; border-radius:16px; padding:11px 13px; gap:10px; }
  .rating-main strong { font-size:23px; }
  .rating-star { font-size:18px; }
  .rating-meta { flex:1; font-size:11px; padding-left:10px; }
  .hero-facts { margin-top:8px; display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
  .hero-facts > div { min-width:0; border-radius:14px; padding:9px 10px; text-align:center; }
  .hero-facts strong { font-size:18px; }
  .hero-facts span { font-size:10px; }
  .hero-ticker { height:40px; }
  .hero-ticker-track { font-size:10px; }
  .hero-dots { right:22px; bottom:48px; }
  .services { grid-template-columns:1fr; }
  .service-bubble .bubble-card-visual { min-height:260px; }
  .bubble-showcase { min-height:380px; }
  .bubble-showcase strong { font-size:64px; }
}

@media (max-height: 760px) and (max-width: 760px) {
  .hero-v4-inner { padding-top:24px; padding-bottom:88px; }
  .hero-v4 h1 { font-size:47px; }
  .hero-v4-copy > p { font-size:14px; }
  .hero-v4 .hero-actions { margin-top:14px; }
  .hero-v4-bottom { margin-top:12px; }
  .hero-v4 .hero-actions .btn { min-height:46px; }
  .hero-facts > div { padding:7px; }
}

/* ==========================================================================
   DISCOBUDKA V5 — brand header, founders, about page, reviews carousel
   ========================================================================== */

/* Brand assets */
.logo { min-width: 145px; height: 54px; display:flex; align-items:center; }
.brand-logo-wrap { position:relative; display:block; width:170px; height:50px; }
.brand-logo { position:absolute; left:0; top:50%; transform:translateY(-50%); display:block; object-fit:contain; transition:opacity .28s ease, transform .28s ease; }
.brand-logo--pink { width:49px; height:49px; opacity:1; }
.brand-logo--white { width:150px; height:48px; opacity:0; object-position:left center; }

/* Home header is part of the hero. It becomes a regular navigation only after scroll. */
.header.header--overlay {
    position:fixed;
    inset:0 0 auto 0;
    background:linear-gradient(180deg,rgba(10,7,12,.42),rgba(10,7,12,0));
    border-bottom:1px solid rgba(255,255,255,0);
    backdrop-filter:none;
    box-shadow:none;
    transition:background .3s ease,border-color .3s ease,box-shadow .3s ease,backdrop-filter .3s ease;
}
.header.header--overlay .menu > a,
.header.header--overlay .nav-drop-btn { color:#fff; }
.header.header--overlay .mobile-toggle { color:#fff; border-color:rgba(255,255,255,.32); background:rgba(0,0,0,.15); }
.header.header--overlay .brand-logo--pink { opacity:0; }
.header.header--overlay .brand-logo--white { opacity:1; }
.header.header--overlay .nav > .btn { background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.28); backdrop-filter:blur(12px); box-shadow:none; }
.header.header--overlay.is-scrolled {
    background:rgba(255,252,250,.94);
    border-bottom-color:rgba(33,24,28,.09);
    backdrop-filter:blur(18px);
    box-shadow:0 10px 35px rgba(32,21,27,.07);
}
.header.header--overlay.is-scrolled .menu > a,
.header.header--overlay.is-scrolled .nav-drop-btn { color:var(--ink); }
.header.header--overlay.is-scrolled .mobile-toggle { color:var(--ink); border-color:var(--line); background:#fff; }
.header.header--overlay.is-scrolled .brand-logo--pink { opacity:1; }
.header.header--overlay.is-scrolled .brand-logo--white { opacity:0; }
.header.header--overlay.is-scrolled .nav > .btn { background:linear-gradient(100deg,#ed1ac5,#ad2e8c); color:#fff; border-color:transparent; }

/* Give the hero room under the overlay navigation instead of visually cutting it. */
.hero-v4 { min-height:100svh; }
.hero-v4-inner { min-height:100svh; padding-top:clamp(125px,16vh,170px); }

/* Founders preview */
.about-founders {
    position:relative;
    min-height:610px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
    align-items:end;
}
.founder-card {
    position:relative;
    min-height:520px;
    overflow:hidden;
    border-radius:34px;
    background:#171317;
    box-shadow:0 28px 70px rgba(26,17,22,.13);
}
.founder-card--piotr { transform:translateY(44px); }
.founder-photo, .founder-photo picture { position:absolute; inset:0; display:block; }
.founder-photo img { width:100%; height:100%; object-fit:cover; object-position:center top; filter:saturate(.92) contrast(1.03); }
.founder-card:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 42%,rgba(17,11,15,.78) 100%); }
.founder-caption { position:absolute; z-index:2; left:22px; right:22px; bottom:22px; color:#fff; }
.founder-caption span { display:block; font-size:10px; letter-spacing:.14em; text-transform:uppercase; opacity:.75; }
.founder-caption strong { display:block; margin:4px 0 2px; font-size:31px; letter-spacing:-.04em; }
.founder-caption small { color:rgba(255,255,255,.72); }
.about-founders .about-number { z-index:4; left:50%; bottom:16px; transform:translateX(-50%); min-width:145px; background:linear-gradient(135deg,#f21acb,#99185f); color:#fff; border:4px solid #fff; box-shadow:0 14px 35px rgba(154,24,95,.24); }

/* About page */
.about-hero-page { padding:140px 0 85px; overflow:hidden; background:radial-gradient(circle at 82% 20%,rgba(239,25,207,.10),transparent 28%),radial-gradient(circle at 12% 12%,rgba(136,37,106,.09),transparent 26%),#fffaf8; }
.about-hero-page__grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:70px; align-items:center; }
.about-hero-page__copy h1 { margin:18px 0 24px; font-size:clamp(64px,7vw,105px); line-height:.88; letter-spacing:-.065em; }
.about-hero-page__copy h1 span { color:#d51aa9; }
.about-hero-page__copy .lead { max-width:650px; font-size:20px; line-height:1.65; color:var(--muted); }
.about-hero-stats { margin-top:34px; display:flex; gap:12px; }
.about-hero-stats > div { min-width:125px; padding:17px 18px; border:1px solid var(--line); background:rgba(255,255,255,.82); border-radius:20px; }
.about-hero-stats strong { display:block; font-size:28px; line-height:1; }
.about-hero-stats span { display:block; margin-top:5px; font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:.08em; }
.about-hero-page__visual { position:relative; min-height:650px; }
.about-duo-photo { position:absolute; overflow:hidden; border-radius:36px; box-shadow:0 35px 80px rgba(31,18,29,.15); background:#1b171a; }
.about-duo-photo picture,.about-duo-photo img { width:100%; height:100%; display:block; }
.about-duo-photo img { object-fit:cover; object-position:center top; }
.about-duo-photo--kuba { left:0; top:20px; width:54%; height:570px; transform:rotate(-3deg); }
.about-duo-photo--piotr { right:0; top:70px; width:54%; height:570px; transform:rotate(3deg); }
.about-duo-photo span { position:absolute; left:18px; bottom:18px; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.9); color:#181318; font-size:13px; font-weight:900; }
.about-story-section { background:#fff; }
.about-story-grid { display:grid; grid-template-columns:.8fr 1fr; gap:90px; align-items:start; }
.about-story-grid h2 { font-size:clamp(44px,5vw,74px); line-height:.96; letter-spacing:-.055em; margin:16px 0 0; }
.about-story-grid p { color:var(--muted); font-size:17px; line-height:1.78; }
.founders-detail-section { background:#181316; color:#fff; }
.founder-detail { display:grid; grid-template-columns:.86fr 1fr; gap:80px; align-items:center; padding:60px 0; }
.founder-detail + .founder-detail { border-top:1px solid rgba(255,255,255,.12); }
.founder-detail--kuba .founder-detail__photo { order:2; }
.founder-detail--kuba .founder-detail__copy { order:1; }
.founder-detail__photo { height:610px; overflow:hidden; border-radius:34px; background:#282025; }
.founder-detail__photo picture,.founder-detail__photo img { width:100%; height:100%; display:block; }
.founder-detail__photo img { object-fit:cover; object-position:center top; }
.founder-detail__copy .eyebrow { color:#f75cd8; border-color:rgba(247,92,216,.35); background:rgba(247,92,216,.08); }
.founder-detail__copy h2 { margin:18px 0 24px; font-size:clamp(45px,5vw,72px); letter-spacing:-.055em; }
.founder-detail__copy p { max-width:650px; color:rgba(255,255,255,.72); font-size:17px; line-height:1.75; }

/* Reviews: carousel instead of three random columns */
.reviews-carousel { position:relative; overflow:hidden; margin-top:30px; }
.reviews-track { display:flex; gap:18px; transition:transform .55s cubic-bezier(.2,.7,.2,1); will-change:transform; }
.review-card { flex:0 0 calc((100% - 36px)/3); margin:0; min-height:325px; padding:26px; border-radius:28px; border:1px solid var(--line); background:linear-gradient(145deg,#fff,#fff9fc); display:flex; flex-direction:column; box-shadow:0 16px 45px rgba(36,22,31,.05); }
.review-card:nth-child(3n+2) { background:linear-gradient(145deg,#fff,#fff8f4); }
.review-top { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:11px; }
.review-avatar { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:linear-gradient(135deg,#f21acb,#8d225d); color:#fff; font-weight:900; }
.review-top strong { display:block; font-size:15px; }
.review-top small { display:block; margin-top:2px; font-size:11px; color:var(--muted); }
.review-source-pill { padding:6px 9px; border-radius:999px; background:#f8e7f4; color:#8d225d; font-size:9px; font-weight:900; white-space:nowrap; }
.review-source-pill--google { background:#eef5ff; color:#2868c7; }
.review-card .stars { margin:25px 0 13px; color:#e5aa42; letter-spacing:.1em; }
.review-card p { margin:0; color:#3a3036; font-size:17px; line-height:1.65; }
.reviews-controls { margin-top:22px; display:flex; justify-content:flex-end; align-items:center; gap:12px; }
.reviews-controls button { width:46px; height:46px; border-radius:50%; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:19px; cursor:pointer; transition:.2s; }
.reviews-controls button:hover { background:#1b1519; color:#fff; }
.review-progress { width:150px; height:3px; overflow:hidden; background:#eee4e9; border-radius:20px; }
.review-progress span { display:block; width:20%; height:100%; background:linear-gradient(90deg,#f21acb,#8d225d); border-radius:20px; transition:width .35s ease; }

@media (max-width: 900px) {
  .header.header--overlay .nav { height:74px; }
  .header.header--overlay .brand-logo-wrap { width:130px; }
  .header.header--overlay .brand-logo--white { width:125px; }
  .header.header--overlay .brand-logo--pink { width:44px; height:44px; }
  .header.header--overlay .menu.open { background:rgba(255,252,250,.98); backdrop-filter:blur(18px); }
  .header.header--overlay .menu.open > a,
  .header.header--overlay .menu.open .nav-drop-btn { color:var(--ink); }
  .hero-v4-inner { padding-top:110px; }
  .about-founders { min-height:600px; gap:10px; }
  .founder-card { min-height:500px; border-radius:28px; }
  .about-hero-page { padding:120px 0 65px; }
  .about-hero-page__grid { grid-template-columns:1fr; gap:35px; }
  .about-hero-page__visual { min-height:600px; }
  .about-story-grid { grid-template-columns:1fr; gap:20px; }
  .founder-detail { grid-template-columns:1fr; gap:28px; padding:40px 0; }
  .founder-detail--kuba .founder-detail__photo,
  .founder-detail--kuba .founder-detail__copy { order:initial; }
  .review-card { flex-basis:calc((100% - 18px)/2); }
}

@media (max-width: 760px) {
  .hero-v4 { min-height:100svh; }
  .hero-v4-inner { min-height:100svh; padding:104px 20px 95px; }
  .hero-v4-copy { margin-top:auto; }
  .brand-logo-wrap { width:130px; height:44px; }
  .brand-logo--white { width:125px; height:42px; }
  .brand-logo--pink { width:42px; height:42px; }
  .about-grid { gap:38px; }
  .about-founders { min-height:475px; }
  .founder-card { min-height:400px; border-radius:24px; }
  .founder-card--piotr { transform:translateY(24px); }
  .founder-caption { left:14px; right:14px; bottom:14px; }
  .founder-caption strong { font-size:23px; }
  .founder-caption small { font-size:10px; }
  .about-founders .about-number { bottom:-4px; min-width:118px; padding:11px; }
  .about-founders .about-number strong { font-size:24px; }
  .about-founders .about-number span { font-size:9px; }
  .about-hero-page { padding:100px 0 48px; }
  .about-hero-page__copy h1 { font-size:58px; }
  .about-hero-page__copy .lead { font-size:16px; }
  .about-hero-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }
  .about-hero-stats > div { min-width:0; padding:13px 8px; text-align:center; }
  .about-hero-stats strong { font-size:22px; }
  .about-hero-stats span { font-size:8px; }
  .about-hero-page__visual { min-height:450px; }
  .about-duo-photo--kuba { width:57%; height:400px; top:8px; }
  .about-duo-photo--piotr { width:57%; height:400px; top:38px; }
  .founder-detail__photo { height:470px; border-radius:26px; }
  .founder-detail__copy h2 { font-size:46px; }
  .founder-detail__copy p { font-size:15px; }
  .review-card { flex-basis:88%; min-height:315px; padding:22px; }
  .review-top { grid-template-columns:auto 1fr; }
  .review-source-pill { grid-column:1 / -1; justify-self:start; }
  .reviews-controls { justify-content:center; }
}

/* ==========================================================================\n   HERO V6 — clean overlay navigation + original client photography\n   ========================================================================== */

/* No full-width dark strip on top of the hero. */
.header.header--overlay {
    background: transparent !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
}

.header.header--overlay .nav {
    background: transparent;
}

.header.header--overlay:not(.is-scrolled) .menu > a,
.header.header--overlay:not(.is-scrolled) .nav-drop-btn {
    text-shadow: 0 2px 18px rgba(0, 0, 0, .38);
}

.header.header--overlay.is-scrolled {
    background: rgba(255, 252, 250, .94) !important;
    border-bottom: 1px solid rgba(33, 24, 28, .08) !important;
    box-shadow: 0 10px 34px rgba(32, 21, 27, .07) !important;
    backdrop-filter: blur(18px) !important;
}

/* One logo only — the disco-ball brand mark. */
.header.header--overlay .logo {
    min-width: 86px;
    width: 86px;
    height: 76px;
}

.hero-brand-mark {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 76px;
    height: 76px;
}

.hero-brand-mark img {
    display: block;
    width: 68px;
    height: 68px;
    object-fit: contain;
    filter: drop-shadow(0 4px 18px rgba(0, 0, 0, .18));
}

.header.header--overlay.is-scrolled .hero-brand-mark img {
    width: 58px;
    height: 58px;
    filter: none;
}

/* Slides use high-resolution images exported from the client's originals. */
.hero-v4 .hero-slide {
    background: none !important;
    overflow: hidden;
}

.hero-v4 .hero-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1.015);
    transition: transform 7.5s ease;
}

.hero-v4 .hero-slide.is-active img {
    transform: scale(1.075);
}

.hero-v4 .hero-slide:nth-child(1) img { object-position: center 45%; }
.hero-v4 .hero-slide:nth-child(2) img { object-position: center 40%; }
.hero-v4 .hero-slide:nth-child(3) img { object-position: center 38%; }
.hero-v4 .hero-slide:nth-child(4) img { object-position: center 40%; }

/* Cleaner shade: text stays readable without killing photo quality. */
.hero-v4 .hero-shade {
    background:
        linear-gradient(90deg, rgba(16, 10, 13, .76) 0%, rgba(16, 10, 13, .52) 39%, rgba(16, 10, 13, .14) 68%, rgba(16, 10, 13, .18) 100%),
        linear-gradient(180deg, rgba(10, 6, 8, .12) 0%, rgba(10, 6, 8, .05) 55%, rgba(10, 6, 8, .52) 100%);
}

/* After removing the three random-looking facts, the rating becomes a clear proof point. */
.hero-v4-bottom {
    justify-content: flex-start;
}

.hero-rating {
    min-width: 335px;
    background: rgba(17, 11, 14, .40);
    border-color: rgba(255, 255, 255, .25);
}

.hero-facts {
    display: none !important;
}

@media (max-width: 900px) {
    .header.header--overlay .logo {
        min-width: 64px;
        width: 64px;
        height: 68px;
    }

    .hero-brand-mark {
        width: 58px;
        height: 58px;
    }

    .hero-brand-mark img {
        width: 56px;
        height: 56px;
    }

    .header.header--overlay.is-scrolled .hero-brand-mark img {
        width: 48px;
        height: 48px;
    }

    .hero-v4 .hero-slide:nth-child(1) img { object-position: 57% center; }
    .hero-v4 .hero-slide:nth-child(2) img { object-position: 54% center; }
    .hero-v4 .hero-slide:nth-child(3) img { object-position: 57% center; }
    .hero-v4 .hero-slide:nth-child(4) img { object-position: 55% center; }

    .hero-v4 .hero-shade {
        background: linear-gradient(180deg, rgba(13, 8, 10, .14) 0%, rgba(13, 8, 10, .22) 28%, rgba(13, 8, 10, .79) 66%, rgba(13, 8, 10, .94) 100%);
    }

    .hero-rating {
        min-width: 0;
        max-width: 390px;
    }
}


/* ==========================================================================
   HERO V6.1 — cleaner navigation, soft pink brand accents, seamless ticker
   ========================================================================== */

:root {
    --hero-pink: #ef49c7;
    --hero-pink-soft: #f58bdc;
    --hero-pink-deep: #c82ca2;
}

/* Navigation sits to the right instead of floating in the middle. */
@media (min-width: 901px) {
    .header.header--overlay .nav {
        justify-content: flex-start;
    }

    .header.header--overlay .menu {
        margin-left: auto;
        gap: 29px;
    }

    .header.header--overlay .nav > .btn {
        margin-left: 18px;
    }
}

/* Pink is now taken from the supplied Disco Budka identity. */
.hero-v4 h1 span {
    color: var(--hero-pink-soft);
}

.hero-v4-eyebrow .dot {
    background: var(--hero-pink);
    box-shadow: 0 0 0 6px rgba(239, 73, 199, .13);
}

.hero-v4 .hero-actions .gradient {
    background: linear-gradient(110deg, var(--hero-pink), var(--hero-pink-deep));
    box-shadow: 0 13px 30px rgba(200, 44, 162, .24);
}

.hero-v4 .hero-actions .gradient:hover {
    background: linear-gradient(110deg, #f562d5, #d231ae);
}

.header.header--overlay.is-scrolled .nav > .btn {
    background: linear-gradient(110deg, var(--hero-pink), var(--hero-pink-deep));
    box-shadow: 0 10px 25px rgba(200, 44, 162, .18);
}

/* Remove the floating lower-right booking button. Main CTAs remain in header + hero. */
.sticky-contact,
.sticky-cta {
    display: none !important;
}

/* True endless ticker: two identical groups move by exactly one group width. */
.hero-ticker {
    background: rgba(17, 10, 15, .72);
    border-top-color: rgba(255, 255, 255, .13);
}

.hero-ticker-track {
    display: flex;
    width: max-content;
    white-space: nowrap;
    animation: heroTickerLoop 28s linear infinite;
    will-change: transform;
}

.hero-ticker-group {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    padding-left: 28px;
}

.hero-ticker-group span {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .94);
}

.hero-ticker-group i {
    color: var(--hero-pink-soft);
    font-style: normal;
    margin: 0 24px;
}

@keyframes heroTickerLoop {
    from { transform: translate3d(0, 0, 0); }
    to   { transform: translate3d(-50%, 0, 0); }
}

@media (max-width: 760px) {
    .hero-ticker-group {
        padding-left: 18px;
    }

    .hero-ticker-group span {
        font-size: 10px;
        letter-spacing: .12em;
    }

    .hero-ticker-group i {
        margin: 0 17px;
    }
}

/* ==========================================================================\n   HERO V6.2 — static event strip + offer anchor/dropdown split\n   ========================================================================== */

@media (min-width: 901px) {
    .header.header--overlay .menu {
        margin-left: auto;
        margin-right: 4px;
        gap: 24px;
    }

    .header.header--overlay .nav > .btn {
        margin-left: 12px;
    }
}

.nav-dropdown {
    display: flex;
    align-items: center;
    gap: 2px;
}

.nav-offer-link {
    color: inherit;
    font-weight: 700;
    text-decoration: none;
    padding: 16px 2px 16px 0;
}

.nav-drop-toggle {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 700;
    padding: 16px 0 16px 2px;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header.header--overlay:not(.is-scrolled) .nav-offer-link,
.header.header--overlay:not(.is-scrolled) .nav-drop-toggle {
    color: #fff;
    text-shadow: 0 2px 18px rgba(0,0,0,.38);
}

.header.header--overlay.is-scrolled .nav-offer-link,
.header.header--overlay.is-scrolled .nav-drop-toggle {
    color: var(--ink);
}

/* One clean, non-repeating event strip. */
.hero-ticker-track {
    width: 100%;
    display: block;
    animation: none !important;
    transform: none !important;
    will-change: auto;
}

.hero-ticker-group {
    width: 100%;
    padding: 0 28px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    gap: 18px;
}

.hero-ticker-group span {
    white-space: nowrap;
}

.hero-ticker-group i {
    flex: 0 0 auto;
    margin: 0 4px;
}

@media (max-width: 900px) {
    .nav-dropdown {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr 44px;
        gap: 0;
    }

    .nav-offer-link {
        width: 100%;
        padding: 12px 11px;
        border-radius: 11px 0 0 11px;
        font-size: 14px;
    }

    .nav-drop-toggle {
        width: 44px;
        padding: 12px 8px;
        border-radius: 0 11px 11px 0;
        font-size: 14px;
    }

    .menu.open .nav-offer-link,
    .menu.open .nav-drop-toggle {
        color: var(--ink) !important;
        text-shadow: none !important;
    }

    .nav-drop-panel {
        grid-column: 1 / -1;
    }

    .hero-ticker {
        overflow-x: auto;
        overflow-y: hidden;
        scrollbar-width: none;
    }

    .hero-ticker::-webkit-scrollbar {
        display: none;
    }

    .hero-ticker-track,
    .hero-ticker-group {
        width: max-content;
        min-width: 100%;
    }

    .hero-ticker-group {
        justify-content: flex-start;
        gap: 0;
        padding: 0 18px;
    }

    .hero-ticker-group i {
        margin: 0 17px;
    }
}

/* ========================================================================== 
   V6.3 — MOBILE HERO + SCENA-STYLE MENU
   ========================================================================== */

@media (max-width: 900px) {
    /* Safari: fill the currently visible viewport instead of the smallest one. */
    html,
    body {
        background: #120b10;
    }

    .hero-v4 {
        min-height: 100dvh !important;
        height: auto;
        background: #120b10;
    }

    .hero-v4-inner {
        min-height: 100dvh !important;
        padding-bottom: 88px !important;
    }

    /* Minimal mobile trigger — no boxed hamburger. */
    .header .nav {
        position: relative;
        z-index: 1002;
    }

    .header .logo {
        position: relative;
        z-index: 1004;
    }

    .mobile-toggle,
    .header.header--overlay .mobile-toggle,
    .header.header--overlay.is-scrolled .mobile-toggle {
        position: relative;
        z-index: 1004;
        display: block;
        width: 48px;
        height: 48px;
        padding: 0;
        margin-left: auto;
        border: 0 !important;
        border-radius: 0;
        background: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none;
        font-size: 0;
        cursor: pointer;
    }

    .mobile-toggle::before,
    .mobile-toggle::after {
        content: "";
        position: absolute;
        left: 11px;
        width: 27px;
        height: 2px;
        border-radius: 999px;
        background: currentColor;
        transform-origin: center;
        transition: transform .35s cubic-bezier(.2,.75,.2,1), top .35s cubic-bezier(.2,.75,.2,1), width .25s ease;
    }

    .mobile-toggle::before {
        top: 18px;
    }

    .mobile-toggle::after {
        top: 28px;
        left: 17px;
        width: 21px;
    }

    .mobile-toggle[aria-expanded="true"]::before {
        top: 23px;
        width: 27px;
        transform: rotate(45deg);
    }

    .mobile-toggle[aria-expanded="true"]::after {
        top: 23px;
        left: 11px;
        width: 27px;
        transform: rotate(-45deg);
    }

    /* Full-screen mobile navigation inspired by the Scena54 interaction. */
    .header .menu {
        position: fixed !important;
        inset: 0 !important;
        z-index: 1001;
        display: flex !important;
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 2px;
        width: 100%;
        height: 100dvh;
        max-height: none;
        padding: 118px 28px 44px;
        overflow-y: auto;
        border: 0;
        border-radius: 0;
        background:
            radial-gradient(circle at 84% 18%, rgba(240, 32, 197, .22), transparent 30%),
            radial-gradient(circle at 8% 78%, rgba(139, 31, 104, .26), transparent 34%),
            rgba(18, 11, 16, .975);
        backdrop-filter: blur(22px);
        box-shadow: none;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translateY(-14px);
        transition: opacity .32s ease, transform .42s cubic-bezier(.2,.75,.2,1), visibility .32s ease;
    }

    .header .menu.open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
    }

    .header .menu > a,
    .header .nav-dropdown {
        opacity: 0;
        transform: translateY(14px);
        transition: opacity .28s ease, transform .36s cubic-bezier(.2,.75,.2,1);
    }

    .header .menu.open > a,
    .header .menu.open .nav-dropdown {
        opacity: 1;
        transform: translateY(0);
    }

    .header .menu.open > a:nth-child(1) { transition-delay: .06s; }
    .header .menu.open .nav-dropdown { transition-delay: .10s; }
    .header .menu.open > a:nth-of-type(2) { transition-delay: .14s; }
    .header .menu.open > a:nth-of-type(3) { transition-delay: .18s; }
    .header .menu.open > a:nth-of-type(4) { transition-delay: .22s; }

    .header .menu > a,
    .header .nav-offer-link {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 60px;
        padding: 9px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.10);
        border-radius: 0 !important;
        color: #fff !important;
        background: transparent !important;
        font-size: clamp(28px, 8vw, 38px) !important;
        font-weight: 800;
        line-height: 1;
        letter-spacing: -.045em;
    }

    .header .nav-dropdown {
        position: relative;
        display: grid;
        grid-template-columns: 1fr 48px;
        align-items: center;
        border-bottom: 1px solid rgba(255,255,255,.10);
    }

    .header .nav-dropdown .nav-offer-link {
        grid-column: 1;
        border-bottom: 0;
    }

    .header .nav-drop-toggle {
        grid-column: 2;
        width: 48px;
        height: 60px;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff !important;
        font-size: 26px;
    }

    .header .nav-drop-toggle span {
        display: block;
        transition: transform .25s ease;
    }

    .header .nav-dropdown.open .nav-drop-toggle span {
        transform: rotate(180deg);
    }

    .header .nav-drop-panel {
        position: static !important;
        grid-column: 1 / -1;
        display: grid;
        width: 100%;
        max-height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        opacity: 1;
        visibility: visible;
        transform: none;
        transition: max-height .4s cubic-bezier(.2,.75,.2,1), padding .3s ease;
    }

    .header .nav-dropdown.open .nav-drop-panel {
        max-height: 420px;
        padding: 4px 0 12px;
    }

    .header .nav-drop-panel a {
        padding: 10px 0 10px 18px;
        border-left: 1px solid rgba(240,32,197,.5);
        border-radius: 0;
        background: transparent;
        color: rgba(255,255,255,.88);
    }

    .header .nav-drop-panel a b {
        font-size: 15px;
        color: #fff;
    }

    .header .nav-drop-panel a small {
        display: block;
        margin-top: 2px;
        color: rgba(255,255,255,.52);
        font-size: 11px;
    }

    .header .nav > .btn {
        display: none !important;
    }

    .header:has(.menu.open),
    .header.header--overlay.is-scrolled:has(.menu.open) {
        background: transparent !important;
        border-color: transparent !important;
        box-shadow: none !important;
        backdrop-filter: none !important;
    }

    .header:has(.menu.open) .mobile-toggle,
    .header:has(.menu.open) .hero-brand-mark {
        color: #fff !important;
    }

    .header:has(.menu.open) .hero-brand-mark img {
        filter: drop-shadow(0 4px 18px rgba(0,0,0,.22));
    }

    body.menu-open {
        overflow: hidden;
        touch-action: none;
    }

    /* Keep the ticker attached to the true bottom of the dynamic viewport. */
    .hero-ticker {
        bottom: 0 !important;
    }
}

@media (max-width: 420px) {
    .header .menu {
        padding-left: 24px;
        padding-right: 24px;
    }

    .header .menu > a,
    .header .nav-offer-link {
        min-height: 56px;
        font-size: 31px !important;
    }
}

/* =========================================================
   V6.4 — HERO + COMPACT OFFER
   ========================================================= */

/* Bottom category bar removed completely. */
.hero-ticker {
  display: none !important;
}

/* With the ticker gone, the hero uses the full lower edge cleanly. */
.hero-v4 {
  padding-bottom: 0;
}

.hero-dots {
  bottom: 24px;
}

/* Make the offer anchor land as a complete, balanced section. */
#oferta {
  scroll-margin-top: 76px;
  padding-top: clamp(58px, 5.4vw, 82px);
  padding-bottom: clamp(58px, 5.4vw, 82px);
}

#oferta > .container {
  width: min(1180px, calc(100% - 64px));
  max-width: 1180px;
}

#oferta .section-head {
  align-items: end;
  gap: 48px;
  margin-bottom: 30px;
}

#oferta .section-head h2 {
  font-size: clamp(42px, 4.25vw, 64px);
  line-height: .98;
}

#oferta .section-head p {
  max-width: 470px;
  font-size: 16px;
  line-height: 1.65;
}

#oferta .services {
  gap: 18px;
}

#oferta .service-card {
  border-radius: 24px;
  padding: 10px 10px 18px;
}

#oferta .service-card picture {
  display: block;
  overflow: hidden;
  border-radius: 18px;
}

#oferta .service-card img {
  width: 100%;
  height: 248px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  border-radius: 18px;
}

#oferta .service-card:nth-child(1) img {
  object-position: 50% 58%;
}

#oferta .service-card:nth-child(2) img {
  object-position: 50% 55%;
}

#oferta .service-card:nth-child(3) img {
  object-position: 35% 50%;
}

#oferta .service-card:nth-child(4) img {
  object-position: 50% 45%;
}

#oferta .service-content {
  padding: 18px 10px 4px;
}

#oferta .service-content h3 {
  font-size: clamp(21px, 1.6vw, 27px);
  line-height: 1.08;
  margin-bottom: 10px;
}

#oferta .service-content p {
  font-size: 14px;
  line-height: 1.55;
  min-height: 66px;
}

#oferta .service-card .tag {
  top: 20px;
  left: 20px;
}

@media (max-width: 980px) {
  #oferta > .container {
    width: min(720px, calc(100% - 40px));
  }

  #oferta .section-head {
    gap: 20px;
  }

  #oferta .service-card img {
    height: 300px;
  }
}


/* =========================================================
   V6.5 — OFFER POLISH
   ========================================================= */

/* Brand accents: use the magenta/pink direction from the new DiscoBudka logo. */
:root {
  --brand-pink: #ed27bd;
  --brand-pink-deep: #c82ca2;
  --brand-pink-soft: #fff1fb;
}

#oferta .gradient-text,
#oferta .accent-text {
  background: none !important;
  color: var(--brand-pink-deep) !important;
}

#oferta .eyebrow::before {
  background: var(--brand-pink);
}

#oferta .service-card a {
  color: var(--ink);
  transition: color .2s ease;
}

#oferta .service-card a:hover {
  color: var(--brand-pink-deep);
}

#oferta .service-card .arrow {
  color: var(--brand-pink-deep);
}

/* Clicking "Oferta" stops a little earlier, rather than pushing the section too high. */
#oferta {
  scroll-margin-top: 112px;
  padding-top: clamp(42px, 4vw, 62px);
}

/* Four cards should read as one aligned row. */
#oferta .services {
  align-items: stretch;
}

#oferta .service-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

#oferta .service-card picture {
  flex: 0 0 auto;
}

#oferta .service-content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
}

#oferta .service-content h3 {
  min-height: 58px;
  display: flex;
  align-items: flex-start;
}

#oferta .service-content p {
  min-height: 92px;
  margin: 0 0 18px;
}

#oferta .service-content a {
  margin-top: auto;
  padding-top: 4px;
}

/* New Retrobudka portrait photo — keep the booth itself in the crop. */
#oferta .service-card:nth-child(3) img {
  object-position: 50% 42%;
}

@media (max-width: 980px) {
  #oferta {
    scroll-margin-top: 92px;
  }

  #oferta .service-content h3,
  #oferta .service-content p {
    min-height: 0;
  }
}


/* =========================================================
   V6.6 — PRECISE OFFER ANCHOR
   ========================================================= */

#oferta {
  padding-top: clamp(74px, 6vw, 96px);
  scroll-margin-top: 0;
}

#oferta-start {
  display: inline-flex;
  scroll-margin-top: 118px;
}

/* Slightly more breathing room before the main heading. */
#oferta .offer-head .eyebrow {
  margin-bottom: 18px;
}

@media (max-width: 980px) {
  #oferta {
    padding-top: 62px;
  }

  #oferta-start {
    scroll-margin-top: 92px;
  }
}


/* =========================================================
   V6.7 — OFFER SCROLL FIX
   ========================================================= */

/* Fallback for browsers / JS-disabled navigation. */
#oferta-start {
  scroll-margin-top: 118px;
}


/* =========================================================
   V6.8 — OFFER HEADING SPACING
   ========================================================= */

/* Give the eyebrow label a clear visual separation from the headline. */
#oferta .offer-head .eyebrow,
#oferta #oferta-start {
  margin-bottom: 28px !important;
}

/* Keep the heading itself tight and intentional. */
#oferta .offer-head h2 {
  margin-top: 0 !important;
}


/* =========================================================
   V7.0 — CLEAN SITE ARCHITECTURE
   Homepage + 4 offer pages only
   ========================================================= */

.service-clean-body {
  --offer-pink: #ed27bd;
  --offer-pink-dark: #c6269e;
  --offer-pink-pale: #fff1fb;
  background:
    radial-gradient(circle at 94% 18%, rgba(237,39,189,.08), transparent 25%),
    radial-gradient(circle at 5% 38%, rgba(237,39,189,.045), transparent 28%),
    #fffaf8;
  color: var(--ink);
}

.service-clean-body .service-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,250,248,.93);
  border-bottom: 1px solid rgba(223,211,218,.75);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.service-clean-body .service-header .nav {
  height: 78px;
}

.service-clean-body .service-header .menu {
  margin-left: auto;
}

.service-clean-body .service-header .btn {
  background: linear-gradient(105deg, #f02cc7, #cc279f);
  color: #fff;
  border-color: transparent;
  box-shadow: 0 12px 28px rgba(224,38,180,.18);
}

.clean-offer-page {
  overflow: hidden;
}

.clean-offer-hero {
  padding: clamp(74px, 7vw, 112px) 0 clamp(76px, 7vw, 112px);
}

.clean-offer-grid {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: clamp(54px, 7vw, 110px);
}

.clean-offer-copy {
  min-width: 0;
}

.clean-back {
  display: inline-flex;
  margin-bottom: 30px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.clean-back:hover {
  color: var(--offer-pink-dark);
}

.clean-eyebrow {
  display: inline-flex;
  margin-bottom: 30px !important;
}

.clean-offer-copy h1 {
  margin: 0 0 28px;
  font-size: clamp(58px, 5.8vw, 84px);
  line-height: .96;
  letter-spacing: -.055em;
}

.clean-lead {
  max-width: 650px;
  margin: 0 0 30px;
  color: var(--muted);
  font-size: clamp(18px, 1.55vw, 22px);
  line-height: 1.55;
}

.clean-feature-list {
  display: grid;
  gap: 13px;
  padding: 0;
  margin: 0 0 34px;
  list-style: none;
}

.clean-feature-list li {
  display: flex;
  gap: 13px;
  align-items: center;
  font-size: 16px;
  line-height: 1.45;
}

.offer-check {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  flex: 0 0 31px;
  border-radius: 10px;
  background: var(--offer-pink-pale);
  color: var(--offer-pink-dark);
  font-weight: 900;
}

.clean-pink-btn {
  background: linear-gradient(105deg, #f02cc7, #c928a0) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 14px 28px rgba(219,39,176,.17);
}

.clean-offer-media {
  margin: 0;
  overflow: hidden;
  border-radius: 36px;
  box-shadow: 0 28px 68px rgba(46,23,37,.13);
  background: #eee;
}

.clean-offer-media img {
  display: block;
  width: 100%;
  height: min(650px, 60vw);
  object-fit: cover;
}

.service-clean-body--fotobudka-360 .clean-offer-media img {
  object-position: 50% 50%;
}

.clean-price-section {
  padding: clamp(84px, 7vw, 118px) 0;
  background: rgba(255,255,255,.48);
}

.clean-section-heading {
  max-width: 870px;
  margin-bottom: 46px;
}

.clean-section-heading h2 {
  margin: 0 0 18px;
  font-size: clamp(48px, 4.8vw, 70px);
  line-height: .98;
  letter-spacing: -.05em;
}

.clean-section-heading p {
  max-width: 720px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}

.clean-price-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.clean-price-card {
  display: flex;
  min-height: 270px;
  flex-direction: column;
  padding: 30px;
  border: 1px solid rgba(225,211,219,.86);
  border-radius: 28px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 48px rgba(52,25,42,.06);
}

.clean-price-card:hover {
  border-color: rgba(237,39,189,.34);
  transform: translateY(-3px);
}

.clean-price-time {
  color: var(--offer-pink-dark);
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.clean-price-card strong {
  margin-top: 16px;
  font-size: clamp(42px, 4vw, 58px);
  letter-spacing: -.05em;
}

.clean-price-card small {
  margin: 5px 0 28px;
  color: var(--muted);
  font-size: 15px;
}

.clean-price-card a {
  margin-top: auto;
  color: var(--ink);
  font-weight: 800;
  text-decoration: none;
}

.clean-price-card a:hover {
  color: var(--offer-pink-dark);
}

.clean-extra {
  margin: 25px 2px 0;
  font-size: 17px;
  font-weight: 800;
}

.clean-offer-cta {
  padding: clamp(74px, 6vw, 98px) 0;
}

.clean-cta-box {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  align-items: flex-end;
  padding: clamp(34px, 4vw, 54px);
  border: 1px solid rgba(237,39,189,.15);
  border-radius: 32px;
  background:
    radial-gradient(circle at 90% 10%, rgba(237,39,189,.13), transparent 30%),
    #fff;
}

.clean-cta-box h2 {
  margin: 0 0 14px;
  font-size: clamp(38px, 4vw, 58px);
  letter-spacing: -.045em;
  line-height: 1;
}

.clean-cta-box p {
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}

.service-clean-body .footer {
  margin-top: 0;
}

@supports (content-visibility: auto) {
  .clean-price-section,
  .clean-offer-cta,
  .service-clean-body .footer {
    content-visibility: auto;
    contain-intrinsic-size: 700px;
  }
}

@media (max-width: 980px) {
  .clean-offer-grid {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .clean-offer-media img {
    height: min(72vh, 620px);
  }

  .clean-price-grid {
    grid-template-columns: 1fr;
  }

  .clean-cta-box {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* =========================================================
   V7.1 — COMPACT OFFER PAGES
   ========================================================= */

.service-clean-body .clean-offer-hero {
  padding: 56px 0 64px;
}

.service-clean-body .clean-offer-grid {
  max-width: 1240px;
  grid-template-columns: minmax(0, .88fr) minmax(0, 1fr);
  gap: 64px;
}

.service-clean-body .clean-offer-copy h1 {
  font-size: clamp(50px, 4.9vw, 72px);
  margin-bottom: 22px;
}

.service-clean-body .clean-lead {
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.5;
  margin-bottom: 24px;
}

.service-clean-body .clean-feature-list {
  gap: 10px;
  margin-bottom: 28px;
}

.service-clean-body .clean-feature-list li {
  font-size: 15.5px;
}

.service-clean-body .clean-offer-media {
  border-radius: 28px;
}

.service-clean-body .clean-offer-media img {
  height: clamp(460px, 50vw, 590px);
}

.service-clean-body .clean-price-section {
  padding: 64px 0 78px;
}

.service-clean-body .clean-section-heading {
  max-width: 760px;
  margin-bottom: 34px;
}

.service-clean-body .clean-section-heading h2 {
  font-size: clamp(42px, 4vw, 58px);
}

.service-clean-body .clean-price-grid {
  max-width: 1180px;
  gap: 18px;
}

.service-clean-body .clean-price-card {
  min-height: 218px;
  padding: 24px;
  border-radius: 24px;
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    border-color .28s ease,
    background .28s ease;
}

.service-clean-body .clean-price-card:hover {
  transform: translateY(-6px);
  border-color: rgba(237,39,189,.42);
  box-shadow: 0 18px 40px rgba(64,28,52,.11);
  background: #fff;
}

.service-clean-body .clean-price-card strong {
  font-size: clamp(36px, 3.5vw, 50px);
  margin-top: 12px;
}

.service-clean-body .clean-price-card small {
  margin-bottom: 20px;
}

.service-clean-body .clean-extra {
  margin-top: 20px;
}

.service-clean-body .clean-offer-cta {
  padding: 58px 0 72px;
}

.service-clean-body .clean-cta-box {
  max-width: 1180px;
  padding: 30px 34px;
  border-radius: 26px;
}

/* Reveal animations on offer pages */
.service-clean-body .clean-offer-copy,
.service-clean-body .clean-offer-media,
.service-clean-body .clean-section-heading,
.service-clean-body .clean-price-card,
.service-clean-body .clean-cta-box {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity .65s ease,
    transform .65s cubic-bezier(.2,.7,.2,1);
}

.service-clean-body .clean-offer-copy.is-visible,
.service-clean-body .clean-offer-media.is-visible,
.service-clean-body .clean-section-heading.is-visible,
.service-clean-body .clean-price-card.is-visible,
.service-clean-body .clean-cta-box.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.service-clean-body .clean-price-card:nth-child(2) {
  transition-delay: .08s;
}

.service-clean-body .clean-price-card:nth-child(3) {
  transition-delay: .16s;
}

@media (max-width: 980px) {
  .service-clean-body .clean-offer-hero {
    padding: 44px 0 54px;
  }

  .service-clean-body .clean-offer-grid {
    gap: 28px;
  }

  .service-clean-body .clean-offer-copy h1 {
    font-size: clamp(42px, 11vw, 58px);
  }

  .service-clean-body .clean-offer-media img {
    height: min(62vh, 520px);
  }

  .service-clean-body .clean-price-section {
    padding: 54px 0 62px;
  }

  .service-clean-body .clean-price-card {
    min-height: 0;
  }
}


/* =========================================================
   V7.2 — SERVICE PAGE ANCHOR OFFSETS
   ========================================================= */

/* Keep section labels visible below the sticky header. */
.service-clean-body #cennik {
  scroll-margin-top: 108px;
}

.service-clean-body #sprawdz-termin {
  scroll-margin-top: 104px;
}

/* Give both anchor targets a little breathing room visually. */
.service-clean-body .clean-price-section {
  padding-top: 76px;
}

.service-clean-body .clean-offer-cta {
  padding-top: 74px;
}

@media (max-width: 980px) {
  .service-clean-body #cennik,
  .service-clean-body #sprawdz-termin {
    scroll-margin-top: 92px;
  }
}

/* V7.3 — CTA redesign */
.service-clean-body .clean-offer-cta {
  padding: 64px 0 82px;
}
.service-clean-body .clean-cta-box--v2 {
  max-width: 1120px;
  min-height: 250px;
  margin: 0 auto;
  padding: 38px 42px;
  align-items: center;
  border-radius: 28px;
  overflow: hidden;
  position: relative;
  background:
    radial-gradient(circle at 92% 18%, rgba(237,39,189,.14), transparent 27%),
    linear-gradient(135deg, #fff 0%, #fff 62%, rgba(255,244,252,.95) 100%);
}
.service-clean-body .clean-cta-box--v2::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -65px;
  bottom: -90px;
  border: 1px solid rgba(237,39,189,.13);
  border-radius: 50%;
}
.service-clean-body .clean-cta-copy {
  max-width: 700px;
}
.service-clean-body .clean-cta-box--v2 h2 {
  margin: 20px 0 14px;
  font-size: clamp(38px, 4vw, 55px);
  line-height: .98;
}
.service-clean-body .clean-cta-box--v2 h2 span {
  color: var(--offer-pink-dark);
}
.service-clean-body .clean-cta-box--v2 p {
  max-width: 650px;
  margin: 0;
  font-size: 17px;
  line-height: 1.55;
}
.service-clean-body .clean-cta-action {
  min-width: 220px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 13px;
  position: relative;
  z-index: 1;
}
.service-clean-body .clean-cta-action > span {
  font-size: 13px;
  font-weight: 700;
  color: #777;
}
.service-clean-body .clean-cta-action .btn {
  min-width: 205px;
  justify-content: space-between;
}
@media (max-width: 760px) {
  .service-clean-body .clean-offer-cta { padding: 42px 0 60px; }
  .service-clean-body .clean-cta-box--v2 {
    min-height: 0;
    padding: 28px 24px;
    align-items: flex-start;
    gap: 28px;
  }
  .service-clean-body .clean-cta-box--v2 h2 {
    margin-top: 16px;
    font-size: clamp(34px, 10vw, 46px);
  }
  .service-clean-body .clean-cta-action {
    width: 100%;
  }
  .service-clean-body .clean-cta-action .btn {
    width: 100%;
  }
}


/* =========================================================
   V7.4 — ABOUT REFRESH
   ========================================================= */

:root {
  --db-pink: #ed27bd;
  --db-pink-dark: #c5279f;
  --db-pink-soft: #fff0fb;
}

/* Homepage about section */
#o-nas-skrot {
  scroll-margin-top: 104px;
}

#o-nas-skrot .founder-photo img {
  filter: none !important;
  saturate: 1;
}

#o-nas-skrot .about-founders {
  min-height: 570px;
}

#o-nas-skrot .founder-card {
  background: #171116;
  border-color: rgba(237,39,189,.12);
}

#o-nas-skrot .founder-card::after {
  background: linear-gradient(180deg, transparent 48%, rgba(20,10,17,.76) 100%);
}

#o-nas-skrot .about-pink-text {
  color: var(--db-pink-dark);
}

#o-nas-skrot .about-copy .btn.primary {
  background: linear-gradient(105deg, var(--db-pink), var(--db-pink-dark));
  color: #fff;
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(215,38,171,.18);
}

/* Dedicated about page */
.about-page-v74 {
  background:
    radial-gradient(circle at 92% 12%, rgba(237,39,189,.09), transparent 25%),
    radial-gradient(circle at 7% 42%, rgba(237,39,189,.045), transparent 28%),
    #fffaf8;
  color: var(--ink);
}

.about-page-v74 .service-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255,250,248,.94);
  border-bottom: 1px solid rgba(226,212,220,.8);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
}

.about-v74-eyebrow {
  margin-bottom: 28px !important;
}

.about-v74-hero {
  padding: 74px 0 92px;
}

.about-v74-grid {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 78px;
  align-items: center;
}

.about-v74-copy h1 {
  margin: 0 0 27px;
  font-size: clamp(62px, 6.4vw, 94px);
  line-height: .9;
  letter-spacing: -.06em;
}

.about-v74-copy h1 span {
  color: var(--db-pink-dark);
}

.about-v74-copy .lead {
  max-width: 660px;
  font-size: 20px;
  line-height: 1.66;
}

.about-v74-photos {
  position: relative;
  min-height: 650px;
}

.about-v74-photo {
  position: absolute;
  margin: 0;
  overflow: hidden;
  border-radius: 32px;
  background: #1a1518;
  box-shadow: 0 30px 70px rgba(45,22,37,.14);
}

.about-v74-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-v74-photo--kuba {
  left: 0;
  top: 12px;
  width: 53%;
  height: 590px;
  transform: rotate(-2.5deg);
}

.about-v74-photo--piotr {
  right: 0;
  top: 58px;
  width: 53%;
  height: 590px;
  transform: rotate(2.5deg);
}

.about-v74-photo figcaption {
  position: absolute;
  left: 18px;
  bottom: 18px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(255,255,255,.91);
  backdrop-filter: blur(10px);
}

.about-v74-photo figcaption strong,
.about-v74-photo figcaption span {
  display: block;
}

.about-v74-photo figcaption strong {
  font-size: 20px;
}

.about-v74-photo figcaption span {
  margin-top: 3px;
  color: #666;
  font-size: 11px;
}

.about-v74-story {
  padding: 96px 0;
  background: rgba(255,255,255,.55);
}

.about-v74-story-grid {
  display: grid;
  grid-template-columns: .9fr 1fr;
  gap: 90px;
  align-items: start;
}

.about-v74-story h2 {
  margin: 0;
  font-size: clamp(46px, 5vw, 70px);
  line-height: .97;
  letter-spacing: -.055em;
}

.about-v74-story-copy p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.78;
}

.about-v74-people {
  padding: 82px 0;
}

.about-v74-person {
  display: grid;
  grid-template-columns: .88fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 66px 0;
}

.about-v74-person + .about-v74-person {
  border-top: 1px solid rgba(224,211,219,.85);
}

.about-v74-person--reverse .about-v74-person-photo {
  order: 2;
}

.about-v74-person--reverse .about-v74-person-copy {
  order: 1;
}

.about-v74-person-photo {
  height: 590px;
  overflow: hidden;
  border-radius: 32px;
  box-shadow: 0 24px 58px rgba(43,22,36,.11);
}

.about-v74-person-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-v74-person-copy h2 {
  margin: 0 0 24px;
  font-size: clamp(48px, 5vw, 70px);
  line-height: .97;
  letter-spacing: -.055em;
}

.about-v74-person-copy p {
  max-width: 650px;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.75;
}

.about-v74-cta {
  padding: 20px 0 90px;
}

.about-v74-cta-box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 42px;
  padding: 38px 42px;
  border: 1px solid rgba(237,39,189,.16);
  border-radius: 30px;
  background:
    radial-gradient(circle at 90% 12%, rgba(237,39,189,.13), transparent 30%),
    #fff;
}

.about-v74-cta-box h2 {
  margin: 0;
  max-width: 760px;
  font-size: clamp(38px, 4vw, 56px);
  line-height: 1;
  letter-spacing: -.045em;
}

/* Make legacy red accent classes follow current branding on the main page. */
.about-section .accent-text,
.about-section .gradient-text {
  color: var(--db-pink-dark) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

@media (max-width: 980px) {
  #o-nas-skrot {
    scroll-margin-top: 88px;
  }

  .about-v74-grid,
  .about-v74-story-grid,
  .about-v74-person {
    grid-template-columns: 1fr;
  }

  .about-v74-grid {
    gap: 36px;
  }

  .about-v74-photos {
    min-height: 580px;
  }

  .about-v74-person {
    gap: 30px;
  }

  .about-v74-person--reverse .about-v74-person-photo,
  .about-v74-person--reverse .about-v74-person-copy {
    order: initial;
  }

  .about-v74-cta-box {
    align-items: flex-start;
    flex-direction: column;
  }
}


/* =========================================================
   V7.5 — ABOUT HEADER / SCROLL / TYPOGRAPHY
   ========================================================= */

/* Main page: clicking O nas should leave comfortable space under the header. */
#o-nas-skrot {
  scroll-margin-top: 155px !important;
}

/* Ensure the homepage about heading uses exactly the same display family/weight. */
#o-nas-skrot .about-copy h2,
#o-nas-skrot .about-copy h2 *,
.about-v74-copy h1,
.about-v74-copy h1 * {
  font-family: var(--font-display, var(--font-sans, Arial, sans-serif)) !important;
  font-weight: 800 !important;
  font-style: normal !important;
  letter-spacing: -.055em;
}

/* About page header: visually and behaviorally the same as homepage. */
.about-page-v74 .header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--paper, #fffaf8);
  border-bottom: 1px solid rgba(226,212,220,.72);
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page-v74 .header .nav a,
.about-page-v74 .header .dropdown-toggle {
  color: var(--ink);
}

/* Remove the old subpage-specific header treatment entirely. */
.about-page-v74 .service-header {
  background: var(--paper, #fffaf8) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* A little more air at the top of the about hero under the common header. */
.about-v74-hero {
  padding-top: 92px;
}

@media (max-width: 980px) {
  #o-nas-skrot {
    scroll-margin-top: 118px !important;
  }

  .about-v74-hero {
    padding-top: 56px;
  }
}


/* =========================================================
   V7.6 — CONSISTENCY FIXES
   ========================================================= */

/* O NAS anchor — intentionally lower than the section itself */
.about-scroll-anchor {
  position: relative;
  top: -1px;
  height: 1px;
  scroll-margin-top: 230px;
}

/* Homepage about section itself keeps normal flow */
#o-nas-skrot {
  scroll-margin-top: 0 !important;
}

/* ABOUT subpage header: fully opaque, same visual language as main site */
.about-page-v74 .header,
.about-page-v74 .service-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 60 !important;
  background: #fffaf8 !important;
  border-bottom: 1px solid rgba(226,212,220,.9) !important;
  box-shadow: 0 8px 26px rgba(35,20,30,.045) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.about-page-v74 .header::before,
.about-page-v74 .header::after,
.about-page-v74 .service-header::before,
.about-page-v74 .service-header::after {
  display: none !important;
}

/* Piotrek image: keep full head and more of the body visible */
.about-v74-photo--piotr img {
  object-position: 50% 38% !important;
}

.about-v74-person-photo img[alt*="Piotrek"] {
  object-position: 50% 34% !important;
}

/* Shared CTA across ALL subpages */
.site-shared-cta {
  padding: 68px 0 84px;
}

.site-shared-cta-box {
  max-width: 1120px;
  min-height: 250px;
  margin: 0 auto;
  padding: 38px 42px;
  display: flex;
  justify-content: space-between;
  gap: 44px;
  align-items: center;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(237,39,189,.16);
  border-radius: 28px;
  background:
    radial-gradient(circle at 92% 18%, rgba(237,39,189,.14), transparent 28%),
    linear-gradient(135deg, #fff 0%, #fff 62%, rgba(255,244,252,.95) 100%);
  box-shadow: 0 18px 50px rgba(50,24,41,.055);
}

.site-shared-cta-box::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  bottom: -96px;
  border: 1px solid rgba(237,39,189,.14);
  border-radius: 50%;
}

.site-shared-cta-copy {
  max-width: 720px;
  position: relative;
  z-index: 1;
}

.site-shared-cta-copy .eyebrow {
  margin-bottom: 20px !important;
}

.site-shared-cta-copy h2 {
  margin: 0 0 14px;
  font-size: clamp(40px, 4vw, 56px);
  line-height: .98;
  letter-spacing: -.05em;
}

.site-shared-cta-copy h2 span {
  color: var(--db-pink-dark, #c5279f);
}

.site-shared-cta-copy p {
  max-width: 650px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.55;
}

.site-shared-cta-action {
  min-width: 220px;
  display: flex;
  flex-direction: column;
  gap: 13px;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.site-shared-cta-action > span {
  color: #777;
  font-size: 13px;
  font-weight: 700;
}

.site-shared-cta-action .btn {
  min-width: 205px;
  justify-content: space-between;
}

/* Remove legacy CTA spacing so shared CTA controls layout */
.about-v74-cta,
.clean-offer-cta {
  display: none !important;
}

@media (max-width: 980px) {
  .about-scroll-anchor {
    scroll-margin-top: 170px;
  }

  .site-shared-cta {
    padding: 48px 0 64px;
  }

  .site-shared-cta-box {
    min-height: 0;
    padding: 30px 24px;
    align-items: flex-start;
    flex-direction: column;
    gap: 28px;
  }

  .site-shared-cta-action,
  .site-shared-cta-action .btn {
    width: 100%;
  }
}


/* =========================================================
   V7.7 — ABOUT FINAL FIX
   ========================================================= */

/* Actual visible badge is the anchor. */
#o-nas-label {
  scroll-margin-top: 112px;
}

/* Remove old helper-anchor behavior completely. */
.about-scroll-anchor {
  display: none !important;
}

/* Piotrek on homepage was intentionally shifted down in old design.
   Remove that shift so the whole card fits naturally in the section. */
#o-nas-skrot .founder-card--piotr {
  transform: none !important;
}

/* Slightly compact both founder cards so neither looks cut off. */
#o-nas-skrot .about-founders {
  min-height: 525px !important;
  align-items: center;
}

#o-nas-skrot .founder-card {
  min-height: 500px !important;
}

/* Keep Piotrek's full seated pose as high as possible in the crop. */
#o-nas-skrot .founder-card--piotr .founder-photo img {
  object-position: 50% 32% !important;
}

/* About subpage: explicitly solid header, same readable state as homepage after scroll. */
.about-page-v74 .about-header-solid,
.about-page-v74 .header.header--overlay.is-scrolled {
  position: sticky !important;
  top: 0 !important;
  z-index: 80 !important;
  background: #fffaf8 !important;
  border-bottom: 1px solid rgba(225,212,220,.9) !important;
  box-shadow: 0 7px 24px rgba(35,20,30,.045) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.about-page-v74 .about-header-solid .menu > a,
.about-page-v74 .about-header-solid .nav-offer-link,
.about-page-v74 .about-header-solid .nav-drop-toggle,
.about-page-v74 .about-header-solid .nav-drop-btn {
  color: var(--ink) !important;
}

.about-page-v74 .about-header-solid .brand-logo--pink {
  opacity: 1 !important;
}

.about-page-v74 .about-header-solid .brand-logo--white {
  opacity: 0 !important;
}

.about-page-v74 .about-header-solid .nav > .btn {
  background: linear-gradient(100deg,#ed1ac5,#ad2e8c) !important;
  color: #fff !important;
  border-color: transparent !important;
}

/* Shorter first screen on the O nas subpage so Piotrek's card is fully visible. */
.about-v74-hero {
  padding-top: 72px !important;
  padding-bottom: 74px !important;
}

.about-v74-photos {
  min-height: 565px !important;
}

.about-v74-photo--kuba {
  top: 0 !important;
  height: 525px !important;
}

.about-v74-photo--piotr {
  top: 30px !important;
  height: 525px !important;
}

.about-v74-photo--piotr img {
  object-position: 50% 35% !important;
}

/* Avoid the card extending below the first about section. */
.about-v74-grid {
  align-items: center !important;
}

@media (max-width: 980px) {
  #o-nas-label {
    scroll-margin-top: 92px;
  }

  #o-nas-skrot .founder-card {
    min-height: 410px !important;
  }

  .about-v74-photos {
    min-height: 530px !important;
  }

  .about-v74-photo--kuba,
  .about-v74-photo--piotr {
    height: 480px !important;
  }
}


/* =========================================================
   V7.8 — REALIZACJE
   ========================================================= */

#realizacje {
  scroll-margin-top: 108px;
}

.realizacje-head {
  align-items: flex-end;
  margin-bottom: 42px;
}

/* More breathing room between the badge and title. */
.realizacje-head .eyebrow {
  margin-bottom: 28px !important;
}

.realizacje-head h2 {
  margin-top: 0;
}

.realizacje-pink {
  color: #c5279f;
}

/* Six photos at first — clean 3 x 2 layout. */
.gallery-v78 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 265px;
  gap: 16px;
}

.gallery-v78 .gallery-item {
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: 24px;
  background: #eee;
}

.gallery-v78 .gallery-item img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}

.gallery-v78 .gallery-item img:hover {
  transform: scale(1.025);
  filter: saturate(1.06);
}

/* Start with the additional realizations hidden. */
.gallery-v78 .gallery-extra {
  display: none;
}

.gallery-v78.is-expanded .gallery-extra {
  display: block;
  animation: galleryReveal .5s cubic-bezier(.2,.7,.2,1) both;
}

@keyframes galleryReveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.gallery-more-wrap {
  display: flex;
  justify-content: center;
  padding-top: 30px;
}

.gallery-more-btn {
  min-width: 190px;
  justify-content: center;
  gap: 11px;
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(105deg, #ed27bd, #c5279f) !important;
  box-shadow: 0 13px 30px rgba(205,39,162,.18);
}

.gallery-more-btn:hover {
  transform: translateY(-2px);
}

.gallery-more-btn span {
  transition: transform .25s ease;
}

.gallery-more-btn[aria-expanded="true"] span {
  transform: rotate(180deg);
}

@media (max-width: 900px) {
  .gallery-v78 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 235px;
  }
}

@media (max-width: 620px) {
  .realizacje-head {
    margin-bottom: 28px;
  }

  .realizacje-head .eyebrow {
    margin-bottom: 22px !important;
  }

  .gallery-v78 {
    grid-template-columns: 1fr;
    grid-auto-rows: 280px;
    gap: 12px;
  }
}


/* =========================================================
   V7.9 — REALIZACJE: anchor + compact desktop fit
   ========================================================= */

/* When the nav link points to #realizacje, stop with the eyebrow
   visible just below the fixed header rather than above the section. */
#realizacje {
  scroll-margin-top: 86px !important;
  padding-top: 48px !important;
  padding-bottom: 48px !important;
}

#realizacje .realizacje-head {
  margin-bottom: 26px !important;
}

#realizacje .realizacje-head .eyebrow {
  margin-bottom: 18px !important;
}

#realizacje .realizacje-head h2 {
  font-size: clamp(42px, 4.25vw, 66px) !important;
  line-height: .98 !important;
}

#realizacje .gallery-v78 {
  grid-auto-rows: 220px !important;
  gap: 13px !important;
}

#realizacje .gallery-v78 .gallery-item {
  border-radius: 21px !important;
}

#realizacje .gallery-more-wrap {
  padding-top: 22px !important;
}

#realizacje .gallery-more-btn {
  min-height: 48px;
  padding-top: 13px;
  padding-bottom: 13px;
}

@media (min-width: 901px) and (max-height: 900px) {
  #realizacje {
    padding-top: 38px !important;
    padding-bottom: 38px !important;
  }

  #realizacje .realizacje-head {
    margin-bottom: 20px !important;
  }

  #realizacje .realizacje-head .eyebrow {
    margin-bottom: 14px !important;
  }

  #realizacje .realizacje-head h2 {
    font-size: clamp(40px, 3.8vw, 58px) !important;
  }

  #realizacje .gallery-v78 {
    grid-auto-rows: 190px !important;
  }

  #realizacje .gallery-more-wrap {
    padding-top: 16px !important;
  }
}

@media (max-width: 900px) {
  #realizacje {
    scroll-margin-top: 76px !important;
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  #realizacje .gallery-v78 {
    grid-auto-rows: 220px !important;
  }
}

@media (max-width: 620px) {
  #realizacje {
    scroll-margin-top: 70px !important;
  }

  #realizacje .gallery-v78 {
    grid-auto-rows: 245px !important;
  }
}


/* =========================================================
   V8.0 — LOCAL SEO / AREA BLOCK
   ========================================================= */

/* Target the local coverage box without changing the rest of the site. */
.local-area,
.area-section,
#obszar-dzialania {
  position: relative;
}

/* More breathing room between the eyebrow and headline. */
.local-area .eyebrow,
.area-section .eyebrow,
#obszar-dzialania .eyebrow {
  margin-bottom: 28px !important;
}

/* Make the section visually belong to the new pink branding. */
.local-area .accent-text,
.local-area .gradient-text,
.area-section .accent-text,
.area-section .gradient-text,
#obszar-dzialania .accent-text,
#obszar-dzialania .gradient-text {
  color: #c5279f !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* If the section is rendered as a contact-like box, polish it globally. */
.local-area .contact-box,
.area-section .contact-box,
#obszar-dzialania .contact-box,
.contact-box:has(.eyebrow + h2) {
  border-color: rgba(237,39,189,.14) !important;
  background:
    radial-gradient(circle at 91% 15%, rgba(237,39,189,.11), transparent 28%),
    radial-gradient(circle at 8% 95%, rgba(237,39,189,.045), transparent 30%),
    rgba(255,255,255,.88) !important;
  box-shadow: 0 22px 56px rgba(52,25,42,.055);
}

/* Current red primary inside this block becomes the brand pink. */
.local-area .btn.primary,
.area-section .btn.primary,
#obszar-dzialania .btn.primary,
.contact-box .btn.primary {
  background: linear-gradient(105deg, #ed27bd, #c5279f) !important;
  color: #fff !important;
  border-color: transparent !important;
  box-shadow: 0 13px 30px rgba(205,39,162,.18) !important;
}

/* Headline: emphasize the geographical promise with the pink accent. */
.local-area h2,
.area-section h2,
#obszar-dzialania h2 {
  letter-spacing: -.05em;
}

@media (max-width: 700px) {
  .local-area .eyebrow,
  .area-section .eyebrow,
  #obszar-dzialania .eyebrow {
    margin-bottom: 22px !important;
  }
}


/* =========================================================
   V8.1 — PINK LOCAL BLOCK + VERIFIED REVIEWS
   ========================================================= */

/* Local area — explicit, no legacy red. */
#obszar-dzialania .local-zone--pink {
  border: 1px solid rgba(237,39,189,.15) !important;
  background:
    radial-gradient(circle at 92% 18%, rgba(237,39,189,.13), transparent 30%),
    radial-gradient(circle at 8% 90%, rgba(237,39,189,.05), transparent 28%),
    rgba(255,255,255,.88) !important;
  box-shadow: 0 20px 54px rgba(58,26,48,.055);
}

#obszar-dzialania .local-zone--pink .eyebrow {
  margin-bottom: 30px !important;
}

#obszar-dzialania .local-zone--pink h2 {
  letter-spacing: -.052em;
}

#obszar-dzialania .local-zone--pink h2::first-line {
  color: var(--ink);
}

#obszar-dzialania .local-zone--pink .btn.gradient {
  background: linear-gradient(105deg,#ed27bd,#c5279f) !important;
  border-color: transparent !important;
  color: #fff !important;
  box-shadow: 0 13px 30px rgba(205,39,162,.19) !important;
}

/* Reviews — more air between eyebrow and title. */
#opinie .section-head .eyebrow {
  margin-bottom: 30px !important;
}

#opinie .section-head h2 {
  margin-top: 0 !important;
}

/* Remove remaining red/old gradient from review headline. */
#opinie .gradient-text {
  color: #c5279f !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* Source badges now use one coherent pink visual language. */
#opinie .source-badge {
  border-color: rgba(237,39,189,.17) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(237,39,189,.09), transparent 40%),
    #fff !important;
  box-shadow: 0 12px 34px rgba(52,25,42,.045);
}

#opinie .source-badge:hover {
  border-color: rgba(237,39,189,.38) !important;
  transform: translateY(-2px);
}

#opinie .source-badge .score {
  color: #c5279f !important;
}

/* Review cards. */
#opinie .review-card {
  border-color: rgba(237,39,189,.13) !important;
  background:
    linear-gradient(145deg,#fff 0%,#fffafd 100%) !important;
}

#opinie .review-card:nth-child(3n+2) {
  background: linear-gradient(145deg,#fff 0%,#fff7fc 100%) !important;
}

#opinie .review-avatar {
  background: linear-gradient(135deg,#ed27bd,#a92583) !important;
}

#opinie .review-source-pill,
#opinie .review-source-pill--google {
  background: #fff0fb !important;
  color: #a92583 !important;
}

#opinie .reviews-controls button {
  border-color: rgba(237,39,189,.16) !important;
}

#opinie .reviews-controls button:hover {
  background: #c5279f !important;
  border-color: #c5279f !important;
  color: #fff !important;
}

#opinie .review-progress {
  background: #f4e6ef !important;
}

#opinie .review-progress span {
  background: linear-gradient(90deg,#ed27bd,#c5279f) !important;
}

/* Slightly softer star color to work with the magenta palette. */
#opinie .review-card .stars {
  color: #e7a83e;
}

@media (max-width:760px) {
  #opinie .section-head .eyebrow {
    margin-bottom: 22px !important;
  }

  #obszar-dzialania .local-zone--pink .eyebrow {
    margin-bottom: 22px !important;
  }
}


/* =========================================================
   V8.2 — PARTNERZY: compact + real logos + pink palette
   ========================================================= */
.partners-v82 {
  padding: 78px 0 74px !important;
  background:
    radial-gradient(circle at 88% 6%, rgba(237,39,189,.08), transparent 30%),
    linear-gradient(180deg,#fffaf7 0%,#fffdfb 100%);
}

.partners-v82-head {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr);
  align-items:end;
  gap:54px;
  margin-bottom:34px;
}

.partners-v82-head .eyebrow {
  margin-bottom:22px !important;
}

.partners-v82-head h2 {
  margin:0;
  max-width:720px;
  font-size:clamp(44px,4.4vw,70px);
  line-height:.98;
  letter-spacing:-.055em;
}

.partners-v82-head h2 span {
  color:#c5279f !important;
}

.partners-v82-head > p {
  margin:0 0 5px;
  color:#686068;
  font-size:18px;
  line-height:1.55;
  max-width:560px;
}

.partners-v82-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.partner-v82-card {
  display:grid;
  grid-template-columns:108px minmax(0,1fr);
  gap:18px;
  align-items:center;
  min-height:180px;
  padding:18px;
  border:1px solid rgba(210,37,168,.11);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 38px rgba(68,31,58,.045);
}

.partner-v82-logo-wrap {
  width:108px;
  height:108px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(210,37,168,.08);
}

.partner-v82-logo-wrap--dark {
  background:#050505;
}

.partner-v82-logo-wrap img {
  display:block;
  width:88%;
  height:88%;
  object-fit:contain;
}

.partner-v82-copy h3 {
  margin:0 0 7px;
  font-size:24px;
  letter-spacing:-.035em;
}

.partner-v82-copy p {
  margin:0 0 15px;
  color:#756d74;
  line-height:1.45;
}

.partner-v82-socials {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:9px;
}

.partner-social-link {
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:34px;
  padding:6px 10px 6px 7px;
  border-radius:999px;
  border:1px solid rgba(210,37,168,.12);
  background:#fff8fd;
  color:#4a4048 !important;
  font-size:13px;
  font-weight:750;
  text-decoration:none;
  transition:.2s ease;
}

.partner-social-link:hover {
  transform:translateY(-1px);
  border-color:rgba(210,37,168,.33);
  color:#c5279f !important;
}

.social-icon {
  width:23px;
  height:23px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:linear-gradient(135deg,#ed27bd,#c5279f);
}

.social-icon svg {
  width:14px;
  height:14px;
  fill:none;
  stroke:#fff;
  stroke-width:1.8;
}

.social-icon--fb svg {
  fill:#fff;
  stroke:none;
}

@media (max-width:1050px) {
  .partners-v82-grid {
    grid-template-columns:1fr;
  }
  .partner-v82-card {
    grid-template-columns:100px minmax(0,1fr);
  }
}

@media (max-width:760px) {
  .partners-v82 {
    padding:58px 0 54px !important;
  }

  .partners-v82-head {
    grid-template-columns:1fr;
    gap:20px;
    margin-bottom:26px;
  }

  .partners-v82-head .eyebrow {
    margin-bottom:18px !important;
  }

  .partners-v82-head h2 {
    font-size:clamp(38px,12vw,54px);
  }

  .partners-v82-head > p {
    font-size:16px;
  }

  .partner-v82-card {
    grid-template-columns:86px minmax(0,1fr);
    min-height:150px;
    padding:14px;
    gap:14px;
  }

  .partner-v82-logo-wrap {
    width:86px;
    height:86px;
    border-radius:17px;
  }

  .partner-v82-copy h3 {
    font-size:21px;
  }
}


/* =========================================================
   V8.3 — PARTNERZY: more compact + equal alignment
   ========================================================= */

.partners-v82 {
  padding: 60px 0 58px !important;
}

.partners-v82-head {
  gap: 38px !important;
  margin-bottom: 24px !important;
}

.partners-v82-head .eyebrow {
  margin-bottom: 18px !important;
}

.partners-v82-head h2 {
  font-size: clamp(40px, 3.9vw, 62px) !important;
  max-width: 670px !important;
}

.partners-v82-head > p {
  font-size: 16px !important;
  line-height: 1.5 !important;
  max-width: 500px !important;
}

/* Equal, calmer cards */
.partners-v82-grid {
  gap: 14px !important;
  align-items: stretch !important;
}

.partner-v82-card {
  display: grid !important;
  grid-template-columns: 84px minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 148px !important;
  padding: 14px !important;
  border-radius: 20px !important;
}

/* Same logo size and position in every card */
.partner-v82-logo-wrap {
  width: 84px !important;
  height: 84px !important;
  border-radius: 16px !important;
  align-self: center !important;
}

.partner-v82-logo-wrap img {
  width: 84% !important;
  height: 84% !important;
  object-fit: contain !important;
}

/* Make content occupy the same vertical structure */
.partner-v82-copy {
  min-width: 0;
  height: 100%;
  display: grid;
  grid-template-rows: auto minmax(42px, auto) 1fr auto;
  align-content: center;
}

.partner-v82-copy h3 {
  margin: 0 0 5px !important;
  font-size: 21px !important;
  line-height: 1.12 !important;
}

.partner-v82-copy p {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.38 !important;
  min-height: 39px;
  color: #756d74 !important;
}

.partner-v82-socials {
  align-self: end;
  margin-top: 10px !important;
  gap: 7px !important;
}

.partner-social-link {
  min-height: 30px !important;
  padding: 5px 9px 5px 6px !important;
  font-size: 12px !important;
}

.social-icon {
  width: 20px !important;
  height: 20px !important;
  border-radius: 6px !important;
}

.social-icon svg {
  width: 12px !important;
  height: 12px !important;
}

/* Keep all card content visually centered and equal */
@media (min-width: 1051px) {
  .partners-v82-grid {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }

  .partner-v82-card {
    min-height: 156px !important;
  }
}

@media (max-width: 1050px) {
  .partners-v82-grid {
    grid-template-columns: 1fr !important;
  }

  .partner-v82-card {
    max-width: 720px;
    width: 100%;
    margin-inline: auto;
  }
}

@media (max-width: 760px) {
  .partners-v82 {
    padding: 50px 0 46px !important;
  }

  .partners-v82-head {
    gap: 16px !important;
    margin-bottom: 22px !important;
  }

  .partners-v82-head h2 {
    font-size: clamp(36px, 11vw, 50px) !important;
  }

  .partner-v82-card {
    grid-template-columns: 72px minmax(0,1fr) !important;
    min-height: 132px !important;
    padding: 12px !important;
    gap: 12px !important;
  }

  .partner-v82-logo-wrap {
    width: 72px !important;
    height: 72px !important;
  }

  .partner-v82-copy h3 {
    font-size: 19px !important;
  }

  .partner-v82-copy p {
    font-size: 13px !important;
  }
}


/* =========================================================
   V8.4 — HOMEPAGE CTA + CONTACT PAGE
   ========================================================= */
.home-contact-cta{
  padding:70px 0 56px!important;
}
.home-contact-cta-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:44px;
  align-items:center;
  padding:38px 42px;
  border:1px solid rgba(210,37,168,.13);
  border-radius:28px;
  background:
    radial-gradient(circle at 90% 10%,rgba(237,39,189,.12),transparent 33%),
    rgba(255,255,255,.9);
  box-shadow:0 18px 46px rgba(61,28,50,.05);
}
.home-contact-cta-box .eyebrow{margin-bottom:20px!important;}
.home-contact-cta-box h2{
  margin:0 0 14px;
  font-size:clamp(40px,4vw,64px);
  line-height:.98;
  letter-spacing:-.055em;
}
.home-contact-cta-box h2 span{color:#c5279f;}
.home-contact-cta-box p{max-width:670px;margin:0;color:#6c646a;font-size:17px;line-height:1.55;}
.home-contact-cta-action{display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.home-contact-cta-action>span{font-size:13px;font-weight:750;color:#81757e;}
.home-contact-cta .btn.gradient,
.contact-v84 .btn.gradient{
  background:linear-gradient(105deg,#ed27bd,#c5279f)!important;
  color:#fff!important;border-color:transparent!important;
}

.contact-page-v84 .contact-header-solid{
  position:sticky!important;top:0!important;z-index:90!important;
  background:#fffaf8!important;border-bottom:1px solid rgba(220,209,216,.9)!important;
  box-shadow:0 6px 22px rgba(36,20,30,.045)!important;
  backdrop-filter:none!important;
}
.contact-page-v84 .contact-header-solid .menu a,
.contact-page-v84 .contact-header-solid .nav-offer-link{color:#211d20!important;}

.contact-v84-hero{padding:74px 0 72px;background:linear-gradient(135deg,#fffaf7,#fff7fc);}
.contact-v84-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);gap:64px;align-items:center;}
.contact-back{display:inline-block;margin-bottom:28px;color:#736a70;text-decoration:none;font-weight:700;}
.contact-v84-copy .eyebrow{margin-bottom:24px!important;}
.contact-v84-copy h1{margin:0 0 24px;font-size:clamp(54px,5.5vw,88px);line-height:.93;letter-spacing:-.065em;}
.contact-v84-copy h1 span{color:#c5279f;}
.contact-v84-lead{max-width:720px;font-size:19px;line-height:1.58;color:#665e63;}
.contact-v84-direct{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:30px 0 18px;}
.contact-v84-direct a{padding:17px 18px;border:1px solid rgba(210,37,168,.12);border-radius:18px;background:#fff;text-decoration:none;color:#252025;}
.contact-v84-direct small{display:block;margin-bottom:5px;color:#8b7e86;font-size:12px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;}
.contact-v84-direct strong{font-size:18px;}
.contact-v84-socials{display:flex;flex-wrap:wrap;gap:10px;}
.contact-v84-socials a{padding:8px 12px;border-radius:999px;background:#fff0fb;color:#a82286;text-decoration:none;font-size:13px;font-weight:750;}

.contact-v84-photo{position:relative;min-height:570px;border-radius:34px;overflow:hidden;box-shadow:0 25px 60px rgba(60,30,48,.12);}
.contact-v84-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:50% 34%;}
.contact-v84-photo-label{position:absolute;left:20px;right:20px;bottom:20px;padding:15px 17px;border-radius:18px;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);}
.contact-v84-photo-label span{display:block;color:#c5279f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;}
.contact-v84-photo-label strong{font-size:20px;}

.contact-v84-info{padding:58px 0;}
.contact-v84-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.contact-v84-card{padding:26px;border:1px solid rgba(210,37,168,.1);border-radius:24px;background:#fff;box-shadow:0 14px 34px rgba(64,31,53,.045);}
.contact-v84-kicker{color:#c5279f;font-size:12px;font-weight:800;letter-spacing:.09em;}
.contact-v84-card h2{font-size:30px;margin:8px 0 10px;letter-spacing:-.04em;}
.contact-v84-card p{color:#716970;line-height:1.5;}
.contact-v84-card a{color:#c5279f;font-weight:750;text-decoration:none;}
.coverage-chips,.contact-city-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.coverage-chips span,.contact-city-list span{padding:7px 10px;border-radius:999px;background:#fff0fb;color:#9e247f;font-size:12px;font-weight:750;}

.contact-v84-map-section{padding:68px 0;background:#fffaf7;}
.contact-v84-map-head{max-width:850px;margin-bottom:32px;}
.contact-v84-map-head .eyebrow{margin-bottom:22px!important;}
.contact-v84-map-head h2{font-size:clamp(42px,4.5vw,68px);line-height:.98;letter-spacing:-.055em;margin:0 0 16px;}
.contact-v84-map-head h2 span{color:#c5279f;}
.contact-v84-map-head p{color:#6d646a;line-height:1.55;}

.coverage-map{position:relative;height:430px;border:1px solid rgba(210,37,168,.12);border-radius:30px;overflow:hidden;background:
radial-gradient(circle at 26% 48%,rgba(237,39,189,.13),transparent 18%),
radial-gradient(circle at 61% 42%,rgba(237,39,189,.08),transparent 20%),
linear-gradient(145deg,#fff,#fff5fb);}
.coverage-map:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(210,37,168,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(210,37,168,.045) 1px,transparent 1px);background-size:44px 44px;}
.coverage-node{position:absolute;z-index:2;padding:13px 15px;border:1px solid rgba(210,37,168,.17);border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(73,33,62,.08);}
.coverage-node b{display:block;color:#282227;}
.coverage-node small{display:block;margin-top:4px;color:#8a7d85;}
.coverage-node--tg{left:26%;top:34%;border-color:#c5279f;}
.coverage-node--sl{left:17%;top:62%;}
.coverage-node--ma{left:58%;top:55%;}
.coverage-node--op{left:62%;top:22%;}
.coverage-map-line{position:absolute;z-index:1;height:2px;background:linear-gradient(90deg,#ed27bd,#c5279f);transform-origin:left center;opacity:.45;}
.coverage-map-line--1{left:31%;top:48%;width:32%;transform:rotate(7deg);}
.coverage-map-line--2{left:31%;top:46%;width:38%;transform:rotate(-20deg);}
.coverage-map-note{position:absolute;right:18px;bottom:16px;color:#9b8e96;font-size:12px;}

.contact-v84-form-section{padding:72px 0 88px;}
.contact-v84-form-shell{display:grid;grid-template-columns:minmax(300px,.7fr) minmax(0,1.15fr);gap:52px;padding:38px;border:1px solid rgba(210,37,168,.12);border-radius:30px;background:
radial-gradient(circle at 2% 100%,rgba(237,39,189,.08),transparent 32%),#fff;}
.contact-v84-form-copy .eyebrow{margin-bottom:22px!important;}
.contact-v84-form-copy h2{font-size:clamp(40px,4vw,62px);line-height:.98;letter-spacing:-.055em;margin:0 0 16px;}
.contact-v84-form-copy h2 span{color:#c5279f;}
.contact-v84-form-copy p,.contact-v84-form-copy li{color:#70676d;line-height:1.5;}
.contact-v84-form-copy ul{padding-left:18px;}
.contact-v84-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.contact-v84-form input,.contact-v84-form select,.contact-v84-form textarea{width:100%;padding:14px 15px;border:1px solid #ded5da;border-radius:14px;background:#fff;font:inherit;}
.contact-v84-form textarea{grid-column:1/-1;min-height:130px;resize:vertical;}
.contact-v84-consent{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;color:#6e666b;font-size:13px;}
.contact-v84-consent input{width:auto;margin-top:2px;}
.contact-v84-consent a{color:#c5279f;}
.contact-v84-form .full{grid-column:1/-1;}
.hp-field{position:absolute!important;left:-9999px!important;}

@media(max-width:900px){
  .home-contact-cta-box,.contact-v84-hero-grid,.contact-v84-form-shell{grid-template-columns:1fr;}
  .home-contact-cta-action{align-items:flex-start;}
  .contact-v84-info-grid{grid-template-columns:1fr;}
  .contact-v84-photo{min-height:480px;}
}
@media(max-width:620px){
  .home-contact-cta{padding:50px 0 40px!important;}
  .home-contact-cta-box{padding:26px 22px;border-radius:24px;}
  .contact-v84-hero{padding:46px 0 52px;}
  .contact-v84-copy h1{font-size:clamp(46px,14vw,66px);}
  .contact-v84-direct,.contact-v84-form{grid-template-columns:1fr;}
  .contact-v84-form textarea,.contact-v84-consent,.contact-v84-form .full{grid-column:1;}
  .contact-v84-photo{min-height:430px;}
  .contact-v84-form-shell{padding:24px 20px;}
  .coverage-map{height:500px;}
  .coverage-node--tg{left:8%;top:22%}.coverage-node--sl{left:9%;top:53%}.coverage-node--ma{left:50%;top:65%}.coverage-node--op{left:53%;top:32%}
}


/* =========================================================
   V8.5 — CONTACT CLEANUP + HOMEPAGE ORDER
   ========================================================= */

/* Contact header: solid, clean, no overlay artifacts */
.contact-page-v84 .contact-header-solid {
  position: sticky !important;
  top: 0 !important;
  z-index: 100 !important;
  background: #fffaf8 !important;
  border-bottom: 1px solid rgba(220,209,216,.88) !important;
  box-shadow: 0 5px 20px rgba(40,20,32,.04) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.contact-page-v84 .contact-header-solid .menu a,
.contact-page-v84 .contact-header-solid .nav-offer-link,
.contact-page-v84 .contact-header-solid .nav-drop-toggle,
.contact-page-v84 .contact-header-solid .nav-drop-btn {
  color: #211d20 !important;
}

.contact-page-v84 .contact-header-solid .brand-logo--pink {
  opacity: 1 !important;
}
.contact-page-v84 .contact-header-solid .brand-logo--white {
  opacity: 0 !important;
}

.contact-page-v84 .contact-header-cta {
  background: linear-gradient(105deg,#ed27bd,#c5279f) !important;
  color: #fff !important;
  opacity: 1 !important;
  visibility: visible !important;
  border-color: transparent !important;
  box-shadow: 0 10px 24px rgba(197,39,159,.18) !important;
}

/* Contact hero slightly calmer */
.contact-v84-hero {
  padding-top: 64px !important;
  padding-bottom: 64px !important;
}

.contact-v84-photo {
  min-height: 540px !important;
}

.contact-v84-photo img {
  object-position: 50% 31% !important;
}

/* Contact socials — icon pills instead of arrows */
.contact-v84-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.contact-v84-socials a {
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  padding: 7px 11px 7px 7px !important;
  border: 1px solid rgba(210,37,168,.11);
  border-radius: 999px !important;
  background: #fff9fd !important;
  color: #4d4149 !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

.contact-v84-socials a:hover {
  border-color: rgba(210,37,168,.28);
  color: #c5279f !important;
  transform: translateY(-1px);
}

.contact-social-icon {
  width: 25px;
  height: 25px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg,#ed27bd,#c5279f);
  flex: 0 0 auto;
}

.contact-social-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: #fff;
  stroke-width: 1.8;
}

.contact-social-icon--fb svg {
  fill: #fff;
  stroke: none;
}

.contact-social-icon--tt svg {
  stroke-width: 2;
}

/* Remove obsolete photo label styling if cached */
.contact-v84-photo-label {
  display: none !important;
}

/* Contact info cards become a bit more premium */
.contact-v84-info {
  padding: 50px 0 56px !important;
}

.contact-v84-card {
  min-height: 210px;
  padding: 24px !important;
  border-color: rgba(210,37,168,.09) !important;
  border-radius: 22px !important;
  box-shadow: 0 12px 30px rgba(60,30,50,.035) !important;
}

.contact-v84-card h2 {
  font-size: 28px !important;
}

/* Form — cleaner shell */
.contact-v84-form-section {
  padding: 64px 0 80px !important;
}

.contact-v84-form-shell {
  gap: 42px !important;
  padding: 34px !important;
  border-radius: 28px !important;
  border-color: rgba(210,37,168,.10) !important;
  background:
    radial-gradient(circle at 4% 100%,rgba(237,39,189,.06),transparent 30%),
    linear-gradient(145deg,#fff,#fffafd) !important;
  box-shadow: 0 18px 46px rgba(63,29,53,.045);
}

.contact-v84-form {
  gap: 13px !important;
}

.contact-v84-form input,
.contact-v84-form select,
.contact-v84-form textarea {
  min-height: 54px;
  border: 1px solid #e3dbe0 !important;
  border-radius: 15px !important;
  background: rgba(255,255,255,.96) !important;
  padding: 14px 16px !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.contact-v84-form input:focus,
.contact-v84-form select:focus,
.contact-v84-form textarea:focus {
  outline: none !important;
  border-color: rgba(210,37,168,.48) !important;
  box-shadow: 0 0 0 4px rgba(210,37,168,.08) !important;
  background: #fff !important;
}

.contact-v84-form textarea {
  min-height: 140px !important;
}

/* Premium date field */
.premium-date-field {
  position: relative;
  min-height: 54px;
  border: 1px solid #e3dbe0;
  border-radius: 15px;
  background: rgba(255,255,255,.96);
  padding: 7px 14px 5px;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.premium-date-field:focus-within {
  border-color: rgba(210,37,168,.48);
  box-shadow: 0 0 0 4px rgba(210,37,168,.08);
}

.premium-date-field label {
  display: block;
  margin-bottom: 1px;
  color: #9a8c95;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.premium-date-field input[type="date"] {
  width: 100%;
  min-height: 28px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #312a2f;
  font: inherit;
  box-shadow: none !important;
  color-scheme: light;
}

.premium-date-field input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: .68;
  filter: none;
}

/* Homepage: partners now sit higher and CTA closes the page */
#partnerzy {
  padding-top: 62px !important;
  padding-bottom: 48px !important;
}

.home-contact-cta {
  padding-top: 24px !important;
  padding-bottom: 66px !important;
}

.home-contact-cta-box {
  padding: 34px 38px !important;
}

/* remove empty footprint left by deleted local-area section */
#obszar-dzialania,
.local-area,
.area-section {
  display: none !important;
}

@media (max-width: 760px) {
  .contact-v84-photo {
    min-height: 430px !important;
  }

  .contact-v84-form-shell {
    padding: 24px 20px !important;
  }

  .premium-date-field {
    min-height: 54px;
  }

  #partnerzy {
    padding-top: 50px !important;
    padding-bottom: 38px !important;
  }

  .home-contact-cta {
    padding-top: 12px !important;
    padding-bottom: 52px !important;
  }
}


/* =========================================================
   V8.6 — GLOBAL HEADER + PINK HOVER + PREMIUM CONTACT
   ========================================================= */

:root{
  --pink:#d225a8;
  --pink-bright:#ed27bd;
  --pink-dark:#b92091;
}

/* Make header behavior consistent everywhere */
body:not(.home) .header,
.contact-page-v84 .header,
.service-clean-body .header,
.about-page-v74 .header{
  background:#fffaf8!important;
  border-bottom:1px solid rgba(222,211,218,.92)!important;
  box-shadow:0 5px 18px rgba(42,22,34,.035)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

body:not(.home) .header .menu > a,
body:not(.home) .header .nav-offer-link,
body:not(.home) .header .nav-drop-toggle,
body:not(.home) .header .nav-drop-btn,
.contact-page-v84 .header .menu > a,
.contact-page-v84 .header .nav-offer-link{
  color:#211d20!important;
}

/* Header CTA must always be pink */
.header .btn,
.header .btn.gradient,
.header .contact-header-cta{
  background:linear-gradient(105deg,var(--pink-bright),var(--pink))!important;
  color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 10px 24px rgba(210,37,168,.18)!important;
}

/* Main navigation hover / active */
.header .menu > a,
.header .nav-offer-link,
.header .nav-drop-toggle,
.header .nav-drop-btn{
  transition:color .18s ease!important;
}

.header .menu > a:hover,
.header .menu > a:focus-visible,
.header .nav-offer-link:hover,
.header .nav-offer-link:focus-visible,
.header .nav-drop-toggle:hover,
.header .nav-drop-btn:hover{
  color:var(--pink)!important;
}

/* Offer dropdown — correct brand, no red */
.nav-offer-menu{
  border:1px solid rgba(210,37,168,.13)!important;
  box-shadow:0 20px 50px rgba(55,26,46,.10)!important;
}

.nav-offer-item{
  border-radius:14px!important;
  transition:background .16s ease,color .16s ease,transform .16s ease!important;
}

.nav-offer-item:hover,
.nav-offer-item:focus-visible{
  background:#fff0fb!important;
  color:var(--pink)!important;
  transform:translateX(2px);
}

.nav-offer-item:hover strong,
.nav-offer-item:focus-visible strong{
  color:var(--pink)!important;
}

.nav-offer-item span{
  color:#756c72!important;
}

/* Remove all legacy red highlights in service nav */
.service-clean-body .header a:hover,
.service-clean-body .nav-offer-item:hover strong,
.about-page-v74 .header a:hover{
  color:var(--pink)!important;
}

/* Contact direct details — cleaner, not chunky boxes */
.contact-v86-direct{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin:30px 0 22px;
  max-width:620px;
}

.contact-v86-direct-row{
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 2px;
  border-bottom:1px solid rgba(210,37,168,.11);
  color:#252025;
  text-decoration:none;
}

.contact-v86-direct-row:last-child{
  border-bottom:0;
}

.contact-v86-direct-icon{
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#fff0fb;
  color:var(--pink);
  font-size:16px;
  flex:0 0 auto;
}

.contact-v86-direct-row small{
  display:block;
  color:#978b93;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.09em;
  margin-bottom:2px;
}

.contact-v86-direct-row strong{
  font-size:19px;
  letter-spacing:-.02em;
}

/* Premium contact form inspired by a clean event venue aesthetic */
.contact-v86-form-section{
  padding:72px 0 90px!important;
}

.contact-v86-form-shell{
  display:grid;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.25fr);
  gap:54px;
  align-items:start;
  padding:44px;
  border:1px solid rgba(210,37,168,.10);
  border-radius:32px;
  background:
    radial-gradient(circle at 0 100%,rgba(237,39,189,.065),transparent 27%),
    radial-gradient(circle at 100% 0,rgba(237,39,189,.045),transparent 24%),
    #fff;
  box-shadow:0 26px 70px rgba(60,26,48,.06);
}

.contact-v86-form-intro{
  position:sticky;
  top:120px;
}

.contact-v86-form-intro .eyebrow{
  margin-bottom:24px!important;
}

.contact-v86-form-intro h2{
  margin:0 0 18px;
  font-size:clamp(46px,4.3vw,68px);
  line-height:.96;
  letter-spacing:-.06em;
}

.contact-v86-form-intro h2 span{
  color:var(--pink);
}

.contact-v86-form-intro p{
  max-width:430px;
  color:#6b6268;
  line-height:1.6;
  font-size:17px;
}

.contact-v86-mini{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:24px;
  color:#5f565c;
  font-size:14px;
  font-weight:700;
}

.contact-v86-form{
  padding:26px;
  border-radius:24px;
  background:#fffafc;
  border:1px solid rgba(210,37,168,.08);
}

.contact-v86-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.field-v86{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.field-v86>span{
  color:#746a70;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.07em;
}

.field-v86 input,
.field-v86 select,
.field-v86 textarea{
  width:100%;
  min-height:54px;
  padding:14px 15px;
  border:1px solid #e4dce1;
  border-radius:14px;
  background:#fff;
  color:#2c262a;
  font:inherit;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.field-v86 textarea{
  min-height:140px;
  resize:vertical;
  line-height:1.5;
}

.field-v86 input:focus,
.field-v86 select:focus,
.field-v86 textarea:focus{
  outline:none;
  border-color:rgba(210,37,168,.48);
  box-shadow:0 0 0 4px rgba(210,37,168,.075);
}

.field-v86--full{
  grid-column:1/-1;
}

.field-v86 input[type="date"]{
  color-scheme:light;
}

.field-v86 input[type="date"]::-webkit-calendar-picker-indicator{
  cursor:pointer;
  opacity:.65;
}

/* Consent aligned like a proper single row */
.contact-v86-consent{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:10px;
  align-items:start;
  margin:18px 2px 20px;
  color:#6d646a;
  font-size:12.5px;
  line-height:1.45;
}

.contact-v86-consent input{
  width:18px!important;
  height:18px!important;
  margin:0!important;
  accent-color:var(--pink);
}

.contact-v86-consent a{
  color:var(--pink);
  font-weight:700;
}

.contact-v86-submit{
  width:100%;
  min-height:54px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(105deg,var(--pink-bright),var(--pink))!important;
  color:#fff!important;
  font-weight:800!important;
  box-shadow:0 13px 28px rgba(210,37,168,.18)!important;
}

.contact-v86-submit b{
  transition:transform .18s ease;
}
.contact-v86-submit:hover b{
  transform:translateX(3px);
}

/* Pricing CTA hover should also be pink */
.service-clean-body .pricing-card a:hover,
.service-clean-body .price-card a:hover,
.service-clean-body a[href*="kontakt.html"]:hover{
  color:var(--pink)!important;
}

@media(max-width:900px){
  .contact-v86-form-shell{
    grid-template-columns:1fr;
    gap:30px;
  }
  .contact-v86-form-intro{
    position:static;
  }
}

@media(max-width:620px){
  .contact-v86-form-shell{
    padding:24px 18px;
    border-radius:26px;
  }
  .contact-v86-form{
    padding:18px;
  }
  .contact-v86-grid{
    grid-template-columns:1fr;
  }
  .field-v86--full{
    grid-column:1;
  }
}


/* =========================================================
   V8.7 — MENU / DROPDOWN / OFFER LINK FIX
   ========================================================= */

/* Homepage hero: v8.6's generic non-home override must never affect it. */
body.home .header.header--overlay:not(.is-scrolled) {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

body.home .header.header--overlay:not(.is-scrolled) .menu > a,
body.home .header.header--overlay:not(.is-scrolled) .nav-offer-link,
body.home .header.header--overlay:not(.is-scrolled) .nav-drop-toggle {
  color: #fff !important;
  text-shadow: 0 2px 18px rgba(0,0,0,.42) !important;
}

body.home .header.header--overlay:not(.is-scrolled) .nav > .btn {
  background: rgba(20,15,19,.42) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  color: #fff !important;
  box-shadow: none !important;
  backdrop-filter: blur(10px) !important;
}

/* But hover is ALWAYS the final brand pink. */
body.home .header.header--overlay:not(.is-scrolled) .menu > a:hover,
body.home .header.header--overlay:not(.is-scrolled) .nav-offer-link:hover,
body.home .header.header--overlay:not(.is-scrolled) .nav-drop-toggle:hover,
.header .menu > a:hover,
.header .nav-offer-link:hover,
.header .nav-drop-toggle:hover {
  color: #ed27bd !important;
}

/* Actual dropdown uses nav-drop-panel (not nav-offer-menu). */
.header .nav-drop-panel {
  padding: 10px !important;
  border: 1px solid rgba(210,37,168,.14) !important;
  background: rgba(255,252,250,.985) !important;
  box-shadow: 0 22px 55px rgba(54,25,45,.12) !important;
}

.header .nav-drop-panel > a {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
  padding: 12px 13px !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #211d20 !important;
  text-decoration: none !important;
  transform: none !important;
  transition: background .16s ease, transform .16s ease !important;
}

.header .nav-drop-panel > a b {
  color: #211d20 !important;
  font-weight: 800 !important;
  transition: color .16s ease !important;
}

.header .nav-drop-panel > a small {
  color: #756c72 !important;
}

.header .nav-drop-panel > a:hover,
.header .nav-drop-panel > a:focus-visible {
  background: #fff0fb !important;
  transform: translateX(2px) !important;
}

.header .nav-drop-panel > a:hover b,
.header .nav-drop-panel > a:focus-visible b {
  color: #d225a8 !important;
}

/* Contact uses exactly the same desktop navigation proportions as offer pages. */
.contact-page-v84 .header.service-header .nav {
  height: 78px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 24px !important;
}

.contact-page-v84 .header.service-header .logo {
  min-width: 86px !important;
  width: 86px !important;
  height: 76px !important;
  margin: 0 !important;
}

.contact-page-v84 .header.service-header .menu {
  margin-left: auto !important;
  margin-right: 18px !important;
}

.contact-page-v84 .header.service-header .nav > .btn {
  margin-left: 0 !important;
}

/* All non-hero headers: normal black text and pink hover. */
.service-clean-body .header .menu > a,
.service-clean-body .header .nav-offer-link,
.service-clean-body .header .nav-drop-toggle,
.contact-page-v84 .header .menu > a,
.contact-page-v84 .header .nav-offer-link,
.contact-page-v84 .header .nav-drop-toggle,
.about-page-v74 .header .menu > a,
.about-page-v74 .header .nav-offer-link,
.about-page-v74 .header .nav-drop-toggle {
  color: #211d20 !important;
  text-shadow: none !important;
}

.service-clean-body .header .menu > a:hover,
.service-clean-body .header .nav-offer-link:hover,
.service-clean-body .header .nav-drop-toggle:hover,
.contact-page-v84 .header .menu > a:hover,
.contact-page-v84 .header .nav-offer-link:hover,
.contact-page-v84 .header .nav-drop-toggle:hover,
.about-page-v74 .header .menu > a:hover,
.about-page-v74 .header .nav-offer-link:hover,
.about-page-v74 .header .nav-drop-toggle:hover {
  color: #d225a8 !important;
}

/* Pricing CTA should clearly behave as a link. */
.clean-price-card a[href*="kontakt.html"] {
  color: #211d20 !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.clean-price-card a[href*="kontakt.html"]:hover {
  color: #d225a8 !important;
}

/* Mobile dropdown remains dark-menu compatible. */
@media (max-width: 900px) {
  .header .menu.open .nav-drop-panel {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 4px 0 12px !important;
  }

  .header .menu.open .nav-drop-panel > a {
    padding: 10px 0 10px 18px !important;
    border-left: 1px solid rgba(237,39,189,.58) !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .header .menu.open .nav-drop-panel > a b,
  .header .menu.open .nav-drop-panel > a small {
    color: #211d20 !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) .menu.open .nav-drop-panel > a b,
  body.home .header.header--overlay:not(.is-scrolled) .menu.open .nav-drop-panel > a small {
    color: #211d20 !important;
  }
}


/* =========================================================
   V8.8 — LOGICAL FOOTER
   ========================================================= */
.footer-v88{
  padding:54px 0 22px!important;
  background:linear-gradient(180deg,#fffaf7 0%,#fff8f4 100%)!important;
  border-top:1px solid rgba(210,37,168,.08);
}
.footer-v88-top{
  display:grid;
  grid-template-columns:minmax(280px,1.25fr) repeat(3,minmax(150px,.75fr));
  gap:42px;
  align-items:start;
}
.footer-v88-brand{max-width:360px}
.footer-v88-logo{
  display:inline-flex;
  width:66px;
  height:66px;
  margin-bottom:12px;
}
.footer-v88-logo img{width:100%;height:100%;object-fit:contain}
.footer-v88-brand p{
  margin:0;
  color:#6f666c;
  font-size:14px;
  line-height:1.55;
}
.footer-v88-socials{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
}
.footer-v88-socials a{
  padding:7px 11px;
  border:1px solid rgba(210,37,168,.12);
  border-radius:999px;
  background:#fff;
  color:#51474d!important;
  text-decoration:none;
  font-size:12px;
  font-weight:750;
}
.footer-v88-socials a:hover{color:#c5279f!important;border-color:rgba(210,37,168,.3)}

.footer-v88-col{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.footer-v88-col h3{
  margin:0 0 8px;
  color:#272126;
  font-size:14px;
  font-weight:850;
}
.footer-v88-col a,
.footer-v88-col span,
.footer-v88-col button{
  width:fit-content;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:#766c72!important;
  text-decoration:none;
  font:inherit;
  font-size:13px;
  line-height:1.5;
  cursor:pointer;
}
.footer-v88-col a:hover,
.footer-v88-col button:hover{color:#c5279f!important}
.footer-v88-accent{margin-top:4px!important;color:#c5279f!important;font-weight:750!important}

.footer-v88-bottom{
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:22px;
  align-items:center;
  margin-top:34px;
  padding-top:17px;
  border-top:1px solid rgba(80,50,68,.09);
  color:#8a7f86;
  font-size:12px;
}
.footer-v88-bottom a{
  color:#6f646b!important;
  text-decoration:none;
  font-weight:700;
}
.footer-v88-bottom a:hover{color:#c5279f!important}

.partner-social-link{cursor:pointer!important}
.partner-social-link[href^="https://"]{pointer-events:auto!important}

@media(max-width:980px){
  .footer-v88-top{grid-template-columns:1fr 1fr;gap:32px 24px}
}
@media(max-width:620px){
  .footer-v88{padding:42px 0 20px!important}
  .footer-v88-top{grid-template-columns:1fr;gap:28px}
  .footer-v88-bottom{grid-template-columns:1fr;gap:6px;margin-top:28px}
}


/* ================= V9.0 PRIVACY + FULL RESPONSIVE ================= */

.privacy-page-v9 .privacy-header-solid{position:sticky!important;top:0!important;z-index:90!important;background:#fffaf8!important;border-bottom:1px solid rgba(222,211,218,.9)!important}
.privacy-page-v9 .privacy-header-solid .nav{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important}
.privacy-page-v9 .privacy-header-solid .logo{margin:0!important;flex:0 0 auto!important}
.privacy-page-v9 .privacy-header-solid .menu{margin-left:auto!important;margin-right:18px!important}

.privacy-v9-hero{padding:72px 0 58px;background:linear-gradient(135deg,#fffaf7,#fff7fc)}
.privacy-v9-hero-inner{max-width:900px}.privacy-back{display:inline-block;margin-bottom:24px;color:#756b72;text-decoration:none;font-weight:700}
.privacy-v9-hero .eyebrow{margin-bottom:22px!important}.privacy-v9-hero h1{margin:0 0 20px;font-size:clamp(58px,6vw,90px);line-height:.93;letter-spacing:-.065em}.privacy-v9-hero h1 span{color:#c5279f}
.privacy-v9-hero p{max-width:780px;margin:0;color:#6b6268;font-size:18px;line-height:1.62}.privacy-v9-meta{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:24px;color:#8a7e86;font-size:13px}.privacy-v9-meta a{color:#c5279f;text-decoration:none;font-weight:750}
.privacy-v9-content{padding:60px 0 86px}.privacy-v9-grid{display:grid;grid-template-columns:230px minmax(0,1fr);gap:52px;align-items:start}
.privacy-v9-toc{position:sticky;top:108px;display:flex;flex-direction:column;gap:8px;padding:18px;border:1px solid rgba(210,37,168,.09);border-radius:20px;background:#fffafd}
.privacy-v9-toc a{color:#72686f;text-decoration:none;font-size:12px;line-height:1.4}.privacy-v9-toc a:hover{color:#c5279f}
.privacy-v9-article section{scroll-margin-top:110px;padding:0 0 40px;margin:0 0 40px;border-bottom:1px solid rgba(80,50,68,.08)}.privacy-v9-article section:last-child{border-bottom:0}
.privacy-no{display:inline-flex;margin-bottom:8px;color:#c5279f;font-size:12px;font-weight:850;letter-spacing:.09em}.privacy-v9-article h2{margin:0 0 16px;font-size:34px;letter-spacing:-.04em}
.privacy-v9-article p,.privacy-v9-article li{color:#675e64;line-height:1.7}.privacy-v9-article a{color:#c5279f}.privacy-v9-article ul{padding-left:22px}
.privacy-table-wrap{overflow-x:auto;border:1px solid rgba(210,37,168,.1);border-radius:18px}.privacy-table{width:100%;min-width:620px;border-collapse:collapse;background:#fff}.privacy-table th,.privacy-table td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid rgba(80,50,68,.07);font-size:13px;line-height:1.5}.privacy-table th{background:#fff4fb}
.privacy-contact-box{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}.privacy-contact-box>div{padding:16px;border:1px solid rgba(210,37,168,.1);border-radius:16px;background:#fffafd}.privacy-contact-box small{display:block;margin-bottom:4px;color:#958891;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}

/* tablet + mobile */
@media(max-width:900px){
  .header .nav,.contact-page-v84 .header.service-header .nav,.privacy-page-v9 .privacy-header-solid .nav{height:72px!important;min-height:72px!important;padding:0 18px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}
  .header .logo,.contact-page-v84 .header.service-header .logo,.privacy-page-v9 .privacy-header-solid .logo{width:64px!important;height:64px!important;min-width:64px!important;margin:0!important}
  .header .hamburger{display:flex!important;flex-direction:column!important;justify-content:center!important;gap:6px!important;width:44px!important;height:44px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;z-index:120!important}
  .header .hamburger span{width:25px!important;height:2px!important;margin:0!important;background:#241f22!important;border-radius:99px!important}
  body.home .header.header--overlay:not(.is-scrolled) .hamburger span{background:#fff!important}
  .header .menu{position:fixed!important;inset:0!important;z-index:110!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:104px 24px 32px!important;background:rgba(255,250,248,.99)!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(-10px)!important;transition:.22s ease!important;overflow-y:auto!important}
  .header .menu.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important}
  .header .menu>a,.header .nav-offer-link,.header .nav-drop-toggle{width:100%!important;padding:15px 0!important;border-bottom:1px solid rgba(80,50,68,.08)!important;color:#211d20!important;font-size:22px!important;font-weight:800!important;text-align:left!important;text-shadow:none!important}
  .header .nav-drop-panel{position:static!important;width:100%!important;min-width:0!important;margin:0!important;padding:4px 0 10px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
  .header .nav-drop-panel>a{padding:10px 0 10px 14px!important;border-left:2px solid rgba(210,37,168,.22)!important;border-radius:0!important}.header .nav-drop-panel>a b{font-size:15px!important}.header .nav-drop-panel>a small{font-size:12px!important}
  .header .nav>.btn{display:none!important}

  .hero,.home .hero{height:100dvh!important;min-height:100dvh!important}.hero .hero-inner,.home .hero .hero-inner{min-height:100dvh!important;padding:104px 20px 28px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important}
  .hero .hero-copy h1,.home .hero-copy h1{font-size:clamp(48px,13vw,70px)!important;line-height:.94!important}.hero .hero-copy p,.home .hero-copy p{font-size:16px!important;line-height:1.5!important}.hero .hero-actions{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:10px!important}.hero .hero-actions .btn{width:100%!important;justify-content:center!important}.hero .rating-card{width:100%!important;max-width:360px!important}

  .offer-grid,.offer-cards,.offers-grid{grid-template-columns:1fr!important;gap:14px!important}

  #o-nas-skrot .about-grid,#o-nas-skrot .about-wrap{grid-template-columns:1fr!important;gap:30px!important}#o-nas-skrot .about-founders{min-height:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}#o-nas-skrot .founder-card{height:360px!important;min-height:360px!important}#o-nas-skrot .founder-card--piotr{transform:none!important}

  #realizacje{padding:48px 0!important}#realizacje .gallery-v78{grid-template-columns:1fr 1fr!important;grid-auto-rows:190px!important;gap:10px!important}

  #opinie .section-head{display:block!important}#opinie .reviews-viewport,#opinie [data-reviews-carousel]{overflow:hidden!important}#opinie .review-card{min-width:calc(100vw - 48px)!important}

  .partners-v82-head{grid-template-columns:1fr!important;gap:18px!important}.partners-v82-grid{grid-template-columns:1fr!important}.partner-v82-card{max-width:none!important;min-height:0!important}

  .home-contact-cta-box{grid-template-columns:1fr!important;gap:24px!important;padding:26px 22px!important}.home-contact-cta-action{align-items:flex-start!important}

  .service-clean-hero-grid,.clean-service-hero-grid,.service-hero-grid{grid-template-columns:1fr!important;gap:26px!important}.clean-price-grid,.pricing-grid,.price-grid{grid-template-columns:1fr!important}

  .about-v74-grid{grid-template-columns:1fr!important;gap:28px!important}.about-v74-photos{min-height:470px!important}

  .contact-v84-hero-grid{grid-template-columns:1fr!important;gap:28px!important}.contact-v84-info-grid{grid-template-columns:1fr!important}.contact-v86-form-shell{grid-template-columns:1fr!important;gap:28px!important;padding:26px 20px!important}.contact-v86-form-intro{position:static!important}.contact-v86-grid{grid-template-columns:1fr!important}.field-v86--full{grid-column:1!important}

  .footer-v88-top{grid-template-columns:1fr 1fr!important;gap:30px 22px!important}.footer-v88-brand{grid-column:1/-1!important;max-width:none!important}.footer-v88-bottom{grid-template-columns:1fr!important;gap:6px!important}

  .privacy-v9-grid{grid-template-columns:1fr!important;gap:28px!important}.privacy-v9-toc{display:none!important}.privacy-v9-hero{padding:48px 0 42px!important}.privacy-v9-hero h1{font-size:clamp(48px,14vw,68px)!important}
}

@media(max-width:620px){
  .container{width:min(100% - 34px,1180px)!important}
  .header .nav,.contact-page-v84 .header.service-header .nav,.privacy-page-v9 .privacy-header-solid .nav{padding:0 14px!important}
  .hero .hero-inner,.home .hero .hero-inner{padding-left:17px!important;padding-right:17px!important}.hero .hero-copy h1,.home .hero-copy h1{font-size:clamp(45px,13vw,60px)!important}.hero .hero-copy p,.home .hero-copy p{font-size:15px!important}
  #o-nas-skrot .about-founders{grid-template-columns:1fr!important}#o-nas-skrot .founder-card{height:390px!important}
  #realizacje .gallery-v78{grid-template-columns:1fr!important;grid-auto-rows:245px!important}
  .partner-v82-card{grid-template-columns:72px minmax(0,1fr)!important;padding:12px!important;gap:12px!important}.partner-v82-logo-wrap{width:72px!important;height:72px!important}
  .contact-v86-form{padding:16px!important}.contact-v86-consent{grid-template-columns:18px minmax(0,1fr)!important;gap:9px!important;font-size:12px!important}
  .footer-v88-top{grid-template-columns:1fr!important}.footer-v88-brand{grid-column:auto!important}
  .privacy-v9-content{padding:44px 0 58px!important}.privacy-v9-article section{padding-bottom:30px!important;margin-bottom:30px!important}.privacy-v9-article h2{font-size:28px!important}.privacy-contact-box{grid-template-columns:1fr!important}
}


/* =========================================================
   V10 — MOBILE REBUILD
   ========================================================= */

@media (max-width: 900px) {

  /* Base mobile colors — restore the desktop light visual language */
  body,
  body.home,
  .section,
  #oferta,
  #oferta-start,
  #o-nas-skrot,
  #realizacje,
  #opinie,
  #partnerzy,
  .partners-v82,
  .home-contact-cta,
  .contact-v84-info,
  .contact-v86-form-section,
  .privacy-v9,
  .privacy-v9-content,
  .service-clean-body,
  .about-page-v74 {
    background: #fffaf8 !important;
    color: #211d20 !important;
  }

  /* Hero remains dark/photo */
  body.home .hero,
  body.home .hero * {
    color: #fff;
  }

  /* Explicitly restore dark headings on light sections */
  #oferta h1,#oferta h2,#oferta h3,
  #o-nas-skrot h1,#o-nas-skrot h2,#o-nas-skrot h3,
  #realizacje h1,#realizacje h2,#realizacje h3,
  #opinie h1,#opinie h2,#opinie h3,
  #partnerzy h1,#partnerzy h2,#partnerzy h3,
  .home-contact-cta h2,
  .service-clean-body h1,.service-clean-body h2,.service-clean-body h3,
  .about-page-v74 h1,.about-page-v74 h2,.about-page-v74 h3,
  .contact-page-v84 h1,.contact-page-v84 h2,.contact-page-v84 h3,
  .privacy-page-v9 h1,.privacy-page-v9 h2,.privacy-page-v9 h3 {
    color: #211d20 !important;
  }

  /* Pink text should stay vivid */
  .gradient-text,
  .realizacje-pink,
  #o-nas-skrot h2 span,
  #opinie h2 span,
  .partners-v82-head h2 span,
  .home-contact-cta h2 span,
  .service-clean-body h1 span,
  .about-page-v74 h1 span,
  .contact-page-v84 h1 span,
  .privacy-page-v9 h1 span {
    color: #d225a8 !important;
    -webkit-text-fill-color: currentColor !important;
    background: none !important;
  }

  /* Mobile header */
  .header,
  .service-clean-body .header,
  .contact-page-v84 .header,
  .privacy-page-v9 .header,
  .about-page-v74 .header {
    background: rgba(255,250,248,.96) !important;
    border-bottom: 1px solid rgba(70,40,58,.08) !important;
    box-shadow: 0 6px 24px rgba(40,20,30,.05) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) {
    background: linear-gradient(180deg,rgba(13,7,11,.62),rgba(13,7,11,0)) !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* Mobile nav overlay */
  .header .menu {
    background:
      radial-gradient(circle at 82% 12%, rgba(237,39,189,.15), transparent 32%),
      linear-gradient(180deg,#170a13 0%,#0d070b 100%) !important;
    padding: 112px 24px 34px !important;
  }

  .header .menu > a,
  .header .nav-offer-link,
  .header .nav-drop-toggle {
    color: #fff !important;
    border-bottom: 1px solid rgba(255,255,255,.09) !important;
    font-size: 23px !important;
    line-height: 1.15 !important;
    padding: 17px 0 !important;
  }

  .header .menu > a:hover,
  .header .nav-offer-link:hover,
  .header .nav-drop-toggle:hover,
  .header .menu > a:focus-visible,
  .header .nav-offer-link:focus-visible {
    color: #ed27bd !important;
  }

  .header .nav-drop-panel {
    display: none !important;
    padding: 6px 0 12px !important;
  }

  .header .nav-drop.open .nav-drop-panel,
  .header .nav-drop[aria-expanded="true"] .nav-drop-panel,
  .header .nav-drop:hover .nav-drop-panel {
    display: block !important;
  }

  .header .nav-drop-panel > a {
    color: #fff !important;
    border-left: 2px solid rgba(237,39,189,.8) !important;
    padding: 12px 0 12px 16px !important;
    margin: 2px 0 !important;
  }

  .header .nav-drop-panel > a b {
    color: #fff !important;
    font-size: 15px !important;
  }

  .header .nav-drop-panel > a small {
    color: rgba(255,255,255,.58) !important;
    font-size: 12px !important;
  }

  .header .nav-drop-panel > a:hover b,
  .header .nav-drop-panel > a:focus-visible b {
    color: #ed27bd !important;
  }

  /* Hamburger lines */
  .header .hamburger {
    position: relative !important;
    width: 46px !important;
    height: 46px !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.72) !important;
    border: 1px solid rgba(65,35,53,.08) !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) .hamburger {
    background: rgba(18,10,15,.28) !important;
    border-color: rgba(255,255,255,.18) !important;
  }

  .header .hamburger span {
    width: 23px !important;
    background: #211d20 !important;
    transition: transform .25s ease, opacity .2s ease, background .2s ease !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) .hamburger span {
    background: #fff !important;
  }

  .header .hamburger.is-open,
  .header .menu.open ~ .hamburger {
    background: rgba(255,255,255,.08) !important;
    border-color: rgba(255,255,255,.14) !important;
  }

  .header .hamburger.is-open span,
  .header .menu.open ~ .hamburger span {
    background: #fff !important;
  }

  /* Offer cards */
  .offer-card,
  .clean-offer-card,
  .service-card,
  .review-card,
  .partner-v82-card,
  .contact-v84-card,
  .privacy-v9-article section {
    background: #fff !important;
    color: #211d20 !important;
  }

  .offer-card p,
  .clean-offer-card p,
  .service-card p,
  .review-card p,
  .partner-v82-card p,
  .contact-v84-card p {
    color: #6f666c !important;
  }

  /* Mobile offer heading spacing */
  #oferta .eyebrow,
  #oferta-start .eyebrow {
    margin-bottom: 20px !important;
  }

  /* Reviews */
  #opinie {
    padding-top: 54px !important;
    padding-bottom: 54px !important;
  }

  #opinie .source-badge {
    background: #fff !important;
    border-color: rgba(210,37,168,.12) !important;
  }

  #opinie .review-card {
    border-radius: 24px !important;
    border: 1px solid rgba(210,37,168,.10) !important;
    min-width: calc(100vw - 48px) !important;
  }

  /* Realizations cards */
  #realizacje .gallery-v78 .gallery-item {
    background: #fff !important;
  }

  /* About */
  #o-nas-skrot .founder-card {
    border-radius: 24px !important;
    overflow: hidden !important;
  }

  /* Partner cards */
  .partner-v82-card {
    border-color: rgba(210,37,168,.10) !important;
    box-shadow: 0 14px 32px rgba(55,25,45,.045) !important;
  }

  /* CTA */
  .home-contact-cta-box {
    background:
      radial-gradient(circle at 100% 0%,rgba(237,39,189,.09),transparent 30%),
      #fff !important;
  }

  /* Better mobile spacing across long pages */
  .section,
  #o-nas-skrot,
  #realizacje,
  #opinie,
  #partnerzy {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

@media (max-width:620px){

  .header .menu {
    padding: 104px 20px 28px !important;
  }

  .header .menu > a,
  .header .nav-offer-link,
  .header .nav-drop-toggle {
    font-size: 20px !important;
    padding: 15px 0 !important;
  }

  .hero .hero-copy h1,
  .home .hero-copy h1 {
    font-size: clamp(44px,12.5vw,58px) !important;
  }

  .hero .hero-copy p,
  .home .hero-copy p {
    font-size: 14.5px !important;
  }

  .offer-card,
  .clean-offer-card,
  .review-card,
  .partner-v82-card,
  .contact-v84-card {
    border-radius: 22px !important;
  }

  #opinie .review-card {
    min-width: calc(100vw - 34px) !important;
  }
}


/* =========================================================
   V10 — LOCAL CITY PAGES
   ========================================================= */

.city-hero-v10{
  padding:72px 0 68px;
  background:linear-gradient(135deg,#fffaf7,#fff7fc);
}
.city-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.82fr);
  gap:56px;
  align-items:center;
}
.city-back{display:inline-block;margin-bottom:22px;color:#766c72;text-decoration:none;font-weight:700}
.city-hero-copy .eyebrow{margin-bottom:22px!important}
.city-hero-copy h1{margin:0 0 20px;font-size:clamp(56px,5.6vw,88px);line-height:.93;letter-spacing:-.065em}
.city-hero-copy h1 span{color:#d225a8}
.city-hero-copy>p{max-width:760px;margin:0;color:#6d646a;font-size:18px;line-height:1.6}
.city-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.city-hero-note{margin-top:22px;color:#756b72;font-size:13px}
.city-hero-photo{min-height:520px;border-radius:32px;overflow:hidden;box-shadow:0 24px 60px rgba(55,24,45,.11)}
.city-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}

.city-offer-v10,.city-realizations-v10,.city-proof-v10,.city-faq-v10,.city-cta-v10{padding:72px 0}
.city-section-head{max-width:840px;margin-bottom:32px}
.city-section-head .eyebrow{margin-bottom:20px!important}
.city-section-head h2{margin:0 0 16px;font-size:clamp(44px,4.6vw,70px);line-height:.98;letter-spacing:-.055em}
.city-section-head h2 span{color:#d225a8}
.city-section-head p{color:#6d646a;line-height:1.6}

.city-offer-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.city-offer-card{display:flex;flex-direction:column;min-height:200px;padding:22px;border:1px solid rgba(210,37,168,.1);border-radius:24px;background:#fff;text-decoration:none;color:#211d20;box-shadow:0 14px 34px rgba(55,25,44,.045)}
.city-offer-card strong{font-size:22px;letter-spacing:-.03em}.city-offer-card span{margin-top:8px;color:#746b71;line-height:1.45}.city-offer-card b{margin-top:auto;padding-top:20px;color:#d225a8;font-size:13px}
.city-offer-card:hover{transform:translateY(-2px);border-color:rgba(210,37,168,.26)}

.city-realizations-v10{background:#fff}
.city-realizations-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.city-realization-card{height:260px;border-radius:22px;overflow:hidden}.city-realization-card img{width:100%;height:100%;object-fit:cover;display:block}

.city-proof-v10{background:#fffaf7}
.city-proof-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:center}
.city-proof-grid h2{font-size:clamp(44px,4.4vw,68px);line-height:.98;letter-spacing:-.055em;margin:0 0 16px}.city-proof-grid h2 span{color:#d225a8}.city-proof-grid p{color:#6d646a;line-height:1.6}
.city-proof-card{padding:28px;border-radius:26px;background:#fff;border:1px solid rgba(210,37,168,.1);box-shadow:0 16px 36px rgba(60,30,50,.05)}
.city-proof-card strong{display:block;color:#d225a8;font-size:44px}.city-proof-card span{display:block;margin:7px 0 18px;color:#746b71}.city-proof-card a{color:#d225a8;text-decoration:none;font-weight:800}

.city-faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.city-faq-grid details{padding:18px 20px;border:1px solid rgba(210,37,168,.09);border-radius:18px;background:#fff}.city-faq-grid summary{cursor:pointer;font-weight:800}.city-faq-grid p{color:#6d646a;line-height:1.55}

.city-cta-v10{padding-top:20px}
.city-cta-box{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:center;padding:34px 38px;border:1px solid rgba(210,37,168,.12);border-radius:28px;background:radial-gradient(circle at 100% 0%,rgba(237,39,189,.11),transparent 32%),#fff}
.city-cta-box h2{margin:8px 0 10px;font-size:clamp(40px,4vw,62px);line-height:.98;letter-spacing:-.055em}.city-cta-box h2 span{color:#d225a8}.city-cta-box p{margin:0;color:#6d646a}

.city-links-v10{padding:26px 0 54px}.city-links-v10 .container{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center}.city-links-v10 span{font-size:12px;font-weight:800;color:#8a7f86;text-transform:uppercase;letter-spacing:.07em}.city-links-v10 a,.local-seo-links a,.local-footer-cities-v10 a{color:#7b7077;text-decoration:none;font-size:12px}.city-links-v10 a:hover,.local-seo-links a:hover,.local-footer-cities-v10 a:hover{color:#d225a8}

.local-seo-links-v10{padding:26px 0 12px;background:#fffaf8}.local-seo-links-v10 .container{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.local-seo-label{font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em;color:#958891}.local-seo-links{display:flex;flex-wrap:wrap;gap:7px 12px}

.local-footer-cities-v10{margin-top:30px;padding-top:18px;border-top:1px solid rgba(80,50,68,.08)}.local-footer-cities-v10 strong{display:block;margin-bottom:8px;font-size:12px;color:#665d63}.local-footer-cities-v10>div{display:flex;flex-wrap:wrap;gap:6px 12px}

@media(max-width:900px){
  .city-hero-grid,.city-proof-grid,.city-cta-box{grid-template-columns:1fr!important;gap:28px}
  .city-hero-v10{padding:46px 0 50px}.city-hero-copy h1{font-size:clamp(48px,13vw,66px)}.city-hero-photo{min-height:420px}
  .city-offer-grid{grid-template-columns:1fr 1fr}.city-realizations-grid{grid-template-columns:1fr 1fr}.city-faq-grid{grid-template-columns:1fr}.city-cta-box{padding:26px 22px}
}
@media(max-width:620px){
  .city-offer-v10,.city-realizations-v10,.city-proof-v10,.city-faq-v10,.city-cta-v10{padding:52px 0}
  .city-offer-grid,.city-realizations-grid{grid-template-columns:1fr}.city-realization-card{height:250px}.city-offer-card{min-height:160px}
  .city-hero-actions{display:grid;grid-template-columns:1fr}.city-hero-actions .btn{width:100%;justify-content:center}.city-hero-photo{min-height:360px}
}


/* =========================================================
   V10.1 — CITY PAGES PREMIUM PASS
   ========================================================= */
.city-page-v10{background:#fffaf8}

.city-hero-v10{
  padding:66px 0 74px!important;
  background:
    radial-gradient(circle at 86% 16%,rgba(237,39,189,.10),transparent 26%),
    radial-gradient(circle at 10% 90%,rgba(210,37,168,.045),transparent 28%),
    linear-gradient(135deg,#fffaf7,#fff7fc)!important;
}
.city-hero-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(390px,.78fr)!important;
  gap:68px!important;
}
.city-hero-copy{padding:22px 0}
.city-hero-copy h1{max-width:760px}
.city-hero-copy>p{max-width:670px!important}
.city-hero-actions .btn.gradient{background:linear-gradient(105deg,#ed27bd,#c5279f)!important;color:#fff!important}
.city-hero-actions .btn.ghost{
  background:#fff!important;color:#211d20!important;
  border:1px solid rgba(210,37,168,.12)!important;
  box-shadow:0 10px 26px rgba(58,29,49,.045);
}
.city-hero-actions .btn.ghost:hover{border-color:rgba(210,37,168,.3)!important;color:#c5279f!important}

.city-hero-photo{
  position:relative;min-height:545px!important;border:1px solid rgba(210,37,168,.11);
  border-radius:34px!important;background:#fff!important;overflow:hidden!important;
  box-shadow:0 26px 66px rgba(62,28,51,.11)!important;
}
.city-hero-photo img{
  position:absolute;inset:0;width:100%;height:100%!important;
  object-fit:cover!important;object-position:center!important;z-index:2;
}
.city-hero-photo::after{
  content:"DiscoBudka360";position:absolute;left:18px;bottom:18px;z-index:3;
  padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.92);
  color:#c5279f;font-size:11px;font-weight:850;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 8px 24px rgba(30,10,23,.12);
}
.city-hero-photo-glow{
  position:absolute;inset:auto -18% -20% auto;width:70%;height:55%;
  border-radius:50%;background:rgba(237,39,189,.14);filter:blur(60px);z-index:1;
}
.city-hero-note{margin-top:20px!important;padding-top:18px;border-top:1px solid rgba(80,50,68,.08)}
.city-hero-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:17px}
.city-hero-trust>div{
  padding:12px 13px;border:1px solid rgba(210,37,168,.09);border-radius:15px;
  background:rgba(255,255,255,.74);
}
.city-hero-trust strong{display:block;font-size:13px;color:#262025}
.city-hero-trust span{display:block;margin-top:3px;color:#8a7f86;font-size:10px}

.city-offer-v10,.city-realizations-v10,.city-proof-v10,.city-faq-v10{padding:82px 0!important}
.city-section-head{margin-bottom:38px!important}
.city-section-head>p{max-width:780px}

.city-offer-v10{background:linear-gradient(180deg,#fff8fb 0%,#fffaf8 100%)!important}
.city-offer-grid{gap:16px!important}
.city-offer-card{
  position:relative;min-height:230px!important;padding:22px 22px 20px!important;
  border-radius:26px!important;overflow:hidden;
  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;
}
.city-offer-card::after{
  content:"";position:absolute;width:130px;height:130px;border-radius:50%;
  right:-70px;bottom:-70px;background:rgba(237,39,189,.07);
}
.city-offer-card:hover{
  transform:translateY(-5px)!important;border-color:rgba(210,37,168,.24)!important;
  box-shadow:0 22px 45px rgba(67,28,54,.08)!important;
}
.city-offer-no{
  display:flex;width:34px;height:34px;align-items:center;justify-content:center;
  margin-bottom:28px;border-radius:11px;background:#fff0fb;color:#c5279f;
  font-size:11px;font-weight:850;
}
.city-offer-card strong{font-size:24px!important}
.city-offer-card span:not(.city-offer-no){max-width:230px}
.city-offer-card b{position:relative;z-index:2}

.city-realizations-v10{background:#fff!important}
.city-realizations-grid--premium{
  display:grid!important;grid-template-columns:1.35fr 1fr 1fr!important;
  grid-template-rows:240px 240px!important;gap:14px!important;
}
.city-realizations-grid--premium .city-realization-card{height:auto!important;border-radius:24px!important;overflow:hidden}
.city-realizations-grid--premium .city-realization-card:first-child{grid-row:1 / 3}
.city-realizations-grid--premium .city-realization-card:nth-child(4){grid-column:2 / 4}
.city-realization-card img{transition:transform .45s ease}
.city-realization-card:hover img{transform:scale(1.025)}

.city-proof-v10{
  background:
    radial-gradient(circle at 88% 16%,rgba(237,39,189,.08),transparent 30%),
    #fffaf7!important;
}
.city-proof-grid{grid-template-columns:minmax(0,1fr) 360px!important}
.city-proof-card{padding:30px!important;border-radius:28px!important}
.city-proof-stars{margin-bottom:10px;color:#e5a93b;letter-spacing:3px;font-size:18px}
.city-proof-card p{margin:12px 0 18px;color:#71676e;line-height:1.5;font-size:14px}

.city-local-strip-v101{padding:18px 0 72px;background:#fffaf7}
.city-local-strip-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
.city-local-strip-grid>div{
  padding:22px;border:1px solid rgba(210,37,168,.09);border-radius:22px;background:#fff;
}
.city-local-strip-grid span{
  display:inline-flex;margin-bottom:26px;color:#c5279f;font-size:11px;font-weight:850;letter-spacing:.08em;
}
.city-local-strip-grid strong{display:block;font-size:20px;letter-spacing:-.03em}
.city-local-strip-grid p{margin:8px 0 0;color:#746b71;line-height:1.5;font-size:14px}

.city-faq-v10{background:#fff!important}
.city-faq-grid details{
  transition:border-color .2s ease,background .2s ease;
}
.city-faq-grid details[open]{
  border-color:rgba(210,37,168,.24);background:#fff8fd;
}
.city-faq-grid summary{list-style:none}
.city-faq-grid summary::-webkit-details-marker{display:none}
.city-faq-grid summary::after{
  content:"+";float:right;color:#c5279f;font-size:22px;line-height:1;
}
.city-faq-grid details[open] summary::after{content:"−"}

.city-cta-v10{padding:28px 0 72px!important}
.city-cta-box{
  background:
    radial-gradient(circle at 100% 0%,rgba(237,39,189,.12),transparent 34%),
    #fff!important;
  box-shadow:0 18px 46px rgba(61,28,50,.05);
}

.local-seo-links-v10{
  padding:24px 0 28px!important;
  border-top:1px solid rgba(80,50,68,.07);
}
.local-seo-links-v10 .container{
  justify-content:center;
}
.local-seo-label{color:#8d8189!important}
.local-seo-links a{
  padding:6px 9px;border-radius:999px;background:#fff;
  border:1px solid rgba(210,37,168,.08);
}
.local-seo-links a:hover{
  border-color:rgba(210,37,168,.24);
}

@media(max-width:900px){
  .city-hero-grid,.city-proof-grid,.city-cta-box{grid-template-columns:1fr!important;gap:28px!important}
  .city-hero-photo{min-height:430px!important}
  .city-hero-trust{grid-template-columns:1fr 1fr 1fr}
  .city-offer-grid{grid-template-columns:1fr 1fr!important}
  .city-realizations-grid--premium{
    grid-template-columns:1fr 1fr!important;
    grid-template-rows:250px 250px!important;
  }
  .city-realizations-grid--premium .city-realization-card:first-child{grid-row:auto!important}
  .city-realizations-grid--premium .city-realization-card:nth-child(4){grid-column:auto!important}
  .city-local-strip-grid{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  .city-hero-v10{padding:44px 0 50px!important}
  .city-hero-copy h1{font-size:clamp(46px,13vw,62px)!important}
  .city-hero-photo{min-height:350px!important}
  .city-hero-trust{grid-template-columns:1fr!important}
  .city-offer-grid{grid-template-columns:1fr!important}
  .city-offer-card{min-height:190px!important}
  .city-realizations-grid--premium{grid-template-columns:1fr!important;grid-template-rows:none!important}
  .city-realizations-grid--premium .city-realization-card{height:250px!important}
  .city-proof-card{padding:24px!important}
  .city-local-strip-v101{padding-bottom:52px}
}


/* =========================================================
   V10.2 — MOBILE POLISH
   ========================================================= */

.footer-v102-socials{
  gap:9px!important;
}
.footer-v102-socials a{
  width:38px!important;
  height:38px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#fff!important;
  border:1px solid rgba(210,37,168,.13)!important;
  color:#c5279f!important;
}
.footer-v102-socials a:hover{
  background:#fff0fb!important;
  border-color:rgba(210,37,168,.3)!important;
}
.footer-v102-socials svg{
  width:17px!important;
  height:17px!important;
  fill:none;
  stroke:#c5279f;
  stroke-width:1.8;
}
.footer-v102-socials a:nth-child(2) svg{
  fill:#c5279f;
  stroke:none;
}
.footer-v102-socials a:nth-child(3) svg{
  fill:none;
  stroke:#c5279f;
  stroke-width:2;
}

/* partner links must be tappable on mobile */
.partner-social-link{
  position:relative!important;
  z-index:8!important;
  pointer-events:auto!important;
  touch-action:manipulation!important;
}

@media(max-width:900px){

  html.menu-lock-v102{
    overflow:hidden!important;
  }

  /* HERO — a little taller to avoid the light strip under Safari controls */
  body.home .hero,
  body.home .hero .hero-inner{
    min-height:calc(100dvh + 72px)!important;
    height:calc(100dvh + 72px)!important;
  }

  body.home .hero{
    margin-bottom:-1px!important;
  }

  /* Compact mobile menu panel instead of full-screen overlay */
  .header .menu{
    position:fixed!important;
    top:78px!important;
    right:14px!important;
    left:auto!important;
    bottom:auto!important;
    width:min(390px,calc(100vw - 28px))!important;
    max-height:calc(100dvh - 104px)!important;
    min-height:0!important;
    padding:18px 20px 20px!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:24px!important;
    background:
      radial-gradient(circle at 92% 0%,rgba(237,39,189,.18),transparent 36%),
      linear-gradient(180deg,#170a13,#0c070a)!important;
    box-shadow:0 28px 65px rgba(12,4,10,.34)!important;
    overflow-y:auto!important;
    justify-content:flex-start!important;
  }

  .header .menu > a,
  .header .nav-offer-link,
  .header .nav-drop-toggle{
    font-size:18px!important;
    padding:13px 0!important;
  }

  .header .nav-dropdown{
    width:100%!important;
    position:relative!important;
  }

  .header .nav-dropdown .nav-offer-link{
    width:calc(100% - 46px)!important;
    display:block!important;
  }

  .header .nav-drop-toggle{
    position:absolute!important;
    right:0!important;
    top:2px!important;
    width:42px!important;
    height:44px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:0!important;
    background:transparent!important;
    color:#fff!important;
    z-index:3!important;
  }

  .header .nav-drop-toggle span{
    display:block;
    transition:transform .22s ease;
  }

  .header .nav-dropdown.mobile-offer-open .nav-drop-toggle span{
    transform:rotate(180deg);
    color:#ed27bd!important;
  }

  .header .nav-drop-panel{
    display:none!important;
    position:static!important;
    width:100%!important;
    margin:0!important;
    padding:4px 0 8px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  .header .nav-dropdown.mobile-offer-open .nav-drop-panel{
    display:block!important;
  }

  .header .nav-drop-panel > a{
    padding:10px 0 10px 14px!important;
    margin:0!important;
  }

  /* Homepage about: remove oversized portrait stack on phones/tablets */
  #o-nas-skrot .about-founders{
    display:none!important;
  }

  #o-nas-skrot .about-grid{
    grid-template-columns:1fr!important;
  }

  #o-nas-skrot{
    padding-top:56px!important;
    padding-bottom:56px!important;
  }

  /* Dedicated "O nas": hide large hero photo collage */
  .about-page-v74 .about-v74-photos{
    display:none!important;
  }

  .about-page-v74 .about-v74-grid{
    grid-template-columns:1fr!important;
  }

  /* Person sections: smaller images, no huge portrait domination */
  .about-page-v74 .about-v74-person,
  .about-page-v74 .about-v74-person--reverse{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
  }

  .about-page-v74 .about-v74-person-photo{
    width:100%!important;
    max-width:520px!important;
    height:260px!important;
    min-height:260px!important;
    margin:0 auto!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }

  .about-page-v74 .about-v74-person-photo img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 34%!important;
  }

  /* Offer subpages: stack media naturally instead of squeezing it beside copy */
  .clean-offer-grid{
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  .clean-offer-copy{
    max-width:none!important;
  }

  .clean-offer-media{
    width:100%!important;
    height:380px!important;
    min-height:380px!important;
    max-height:none!important;
    margin:0!important;
    border-radius:28px!important;
    overflow:hidden!important;
  }

  .clean-offer-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  .clean-feature-list{
    max-width:560px!important;
  }
}

@media(max-width:620px){

  body.home .hero,
  body.home .hero .hero-inner{
    min-height:calc(100dvh + 86px)!important;
    height:calc(100dvh + 86px)!important;
  }

  .header .menu{
    top:74px!important;
    right:10px!important;
    width:calc(100vw - 20px)!important;
    max-height:calc(100dvh - 94px)!important;
    border-radius:22px!important;
    padding:16px 18px 18px!important;
  }

  #o-nas-skrot .about-copy h2{
    font-size:clamp(38px,11vw,50px)!important;
  }

  .about-page-v74 .about-v74-person-photo{
    height:220px!important;
    min-height:220px!important;
  }

  .clean-offer-media{
    height:300px!important;
    min-height:300px!important;
  }

  .clean-offer-hero{
    padding-top:38px!important;
  }

  .footer-v102-socials a{
    width:40px!important;
    height:40px!important;
  }
}


/* =========================================================
   V10.5 — CLEAN MOBILE NAVIGATION
   Desktop rules above are intentionally untouched.
   ========================================================= */

@media (max-width:900px) {

  html.mobile-nav-lock-v105 {
    overflow: hidden !important;
  }

  /* Header */
  .header {
    z-index: 950 !important;
  }

  .header .nav {
    position: relative !important;
  }

  /* Fresh hamburger */
  .header .mobile-toggle {
    position: relative !important;
    z-index: 1002 !important;
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important;
  }

  .header .mobile-toggle::before,
  .header .mobile-toggle::after {
    content: "" !important;
    position: absolute !important;
    left: 10px !important;
    width: 26px !important;
    height: 2px !important;
    border-radius: 20px !important;
    background: #211d20 !important;
    transform-origin: center !important;
    transition: top .2s ease, transform .2s ease, background .2s ease !important;
  }

  .header .mobile-toggle::before {
    top: 17px !important;
  }

  .header .mobile-toggle::after {
    top: 27px !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) .mobile-toggle::before,
  body.home .header.header--overlay:not(.is-scrolled) .mobile-toggle::after {
    background: #fff !important;
  }

  .header .mobile-toggle.mobile-toggle-open::before {
    top: 22px !important;
    transform: rotate(45deg) !important;
    background: #211d20 !important;
  }

  .header .mobile-toggle.mobile-toggle-open::after {
    top: 22px !important;
    transform: rotate(-45deg) !important;
    background: #211d20 !important;
  }

  /* Completely reset previous menu positioning */
  .header .menu,
  body.home .header.header--overlay:not(.is-scrolled) .menu {
    position: fixed !important;
    inset: auto 12px auto 12px !important;
    top: 80px !important;
    z-index: 999 !important;

    display: block !important;
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: calc(100dvh - 96px) !important;

    margin: 0 !important;
    padding: 10px 14px 14px !important;
    overflow-y: auto !important;

    border: 1px solid rgba(65, 42, 56, .10) !important;
    border-radius: 20px !important;
    background: #fffaf8 !important;
    box-shadow: 0 24px 62px rgba(40, 20, 33, .18) !important;

    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-8px) !important;
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease !important;
  }

  .header .menu.mobile-menu-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }

  /* Menu rows */
  .header .menu > a,
  .header .nav-offer-link {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 47px !important;

    margin: 0 !important;
    padding: 0 8px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(70, 45, 60, .075) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    color: #211d20 !important;
    -webkit-text-fill-color: #211d20 !important;
    text-shadow: none !important;
    text-align: left !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) .menu > a,
  body.home .header.header--overlay:not(.is-scrolled) .nav-offer-link {
    color: #211d20 !important;
    -webkit-text-fill-color: #211d20 !important;
  }

  .header .menu > a:hover,
  .header .nav-offer-link:hover {
    color: #d225a8 !important;
    -webkit-text-fill-color: #d225a8 !important;
  }

  /* Offer accordion */
  .header .nav-dropdown {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .header .nav-dropdown .nav-offer-link {
    padding-right: 54px !important;
  }

  .header .nav-drop-toggle {
    position: absolute !important;
    top: 3px !important;
    right: 0 !important;
    z-index: 4 !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 41px !important;
    height: 41px !important;
    padding: 0 !important;

    border: 0 !important;
    border-radius: 12px !important;
    background: #fff0fb !important;
    color: #c5279f !important;
    box-shadow: none !important;
  }

  .header .nav-drop-toggle span {
    display: block !important;
    color: #c5279f !important;
    -webkit-text-fill-color: #c5279f !important;
    font-size: 18px !important;
    line-height: 1 !important;
    transition: transform .18s ease !important;
  }

  .header .nav-dropdown.mobile-submenu-open .nav-drop-toggle span {
    transform: rotate(180deg) !important;
  }

  .header .nav-drop-panel,
  body.home .header.header--overlay:not(.is-scrolled) .nav-drop-panel {
    position: static !important;
    display: none !important;
    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 8px 4px 10px !important;

    border: 0 !important;
    border-bottom: 1px solid rgba(70, 45, 60, .075) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .header .nav-dropdown.mobile-submenu-open .nav-drop-panel {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .header .nav-drop-panel > a {
    display: block !important;
    min-height: 66px !important;
    margin: 0 !important;
    padding: 10px !important;

    border: 1px solid rgba(210, 37, 168, .10) !important;
    border-radius: 13px !important;
    background: #fff7fc !important;
    transform: none !important;
  }

  .header .nav-drop-panel > a b {
    display: block !important;
    margin: 0 0 3px !important;
    color: #211d20 !important;
    -webkit-text-fill-color: #211d20 !important;
    font-size: 12.5px !important;
    line-height: 1.2 !important;
  }

  .header .nav-drop-panel > a small {
    display: block !important;
    color: #80757c !important;
    -webkit-text-fill-color: #80757c !important;
    font-size: 10px !important;
    line-height: 1.3 !important;
  }

  .header .nav-drop-panel > a:hover {
    background: #fff0fb !important;
  }

  .header .nav-drop-panel > a:hover b {
    color: #d225a8 !important;
    -webkit-text-fill-color: #d225a8 !important;
  }
}

@media (max-width:620px) {
  .header .menu,
  body.home .header.header--overlay:not(.is-scrolled) .menu {
    top: 75px !important;
    left: 9px !important;
    right: 9px !important;
    max-height: calc(100dvh - 89px) !important;
    padding: 9px 12px 12px !important;
    border-radius: 18px !important;
  }

  .header .nav-dropdown.mobile-submenu-open .nav-drop-panel {
    grid-template-columns: 1fr !important;
  }

  .header .nav-drop-panel > a {
    min-height: 57px !important;
  }
}


/* V10.5 mobile CTA is invisible on desktop */
.mobile-nav-cta-v105 {
  display: none;
}

@media (max-width:900px) {
  .header .mobile-nav-cta-v105 {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 47px !important;
    margin: 11px 0 0 !important;
    padding: 0 15px !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: linear-gradient(105deg,#ed27bd,#c5279f) !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 850 !important;
  }
}


/* =========================================================
   V10.6 — MENU VISIBILITY + FORM MOBILE FIX
   ========================================================= */

@media (max-width:900px) {
  html.mobile-nav-lock-v106 {
    overflow: hidden !important;
  }

  /* Old menu CSS used opacity:0 on every row.
     Neutralise it completely in the new mobile navigation. */
  .header .menu > a,
  .header .menu .nav-dropdown,
  .header .menu.mobile-menu-open > a,
  .header .menu.mobile-menu-open .nav-dropdown,
  .header .menu.open > a,
  .header .menu.open .nav-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }

  .header .menu.mobile-menu-open,
  .header .menu.open.mobile-menu-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }

  /* Hero must not recolor the open light mobile panel. */
  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open > a,
  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open .nav-offer-link,
  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open .nav-dropdown,
  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open .nav-drop-panel a,
  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open .nav-drop-panel b,
  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open .nav-drop-panel small {
    opacity: 1 !important;
    color: #211d20 !important;
    -webkit-text-fill-color: #211d20 !important;
  }

  body.home .header.header--overlay:not(.is-scrolled) .menu.mobile-menu-open .nav-drop-panel small {
    color: #80757c !important;
    -webkit-text-fill-color: #80757c !important;
  }

  .header .nav-dropdown.mobile-submenu-open .nav-drop-panel,
  .header .nav-dropdown.open.mobile-submenu-open .nav-drop-panel {
    display: grid !important;
    max-height: none !important;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
    padding: 8px 4px 10px !important;
  }

  /* Date controls are notorious for intrinsic width on iOS Safari. */
  .contact-v86-form,
  .contact-v86-grid,
  .field-v86 {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .field-v86 input,
  .field-v86 select,
  .field-v86 textarea,
  .field-v86 input[type="date"] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .field-v86 input[type="date"] {
    -webkit-appearance: none !important;
    appearance: none !important;
    display: block !important;
  }

  #formularz {
    scroll-margin-top: 150px !important;
  }
}

@media (max-width:620px) {
  .field-v86 input[type="date"] {
    font-size: 16px !important;
  }

  #formularz {
    scroll-margin-top: 165px !important;
  }
}


/* =========================================================
   V10.7 — INDEPENDENT MOBILE NAV
   Desktop navigation remains exactly as before.
   ========================================================= */

.mobile-nav-toggle-v107,
.mobile-nav-panel-v107,
.mobile-nav-backdrop-v107 {
  display:none;
}

@media (max-width:900px) {

  html.mobile-nav-open-v107 {
    overflow:hidden !important;
  }

  /* Disable every old mobile navigation implementation */
  .header .mobile-toggle,
  .header .menu {
    display:none !important;
  }

  .header {
    z-index:5000 !important;
  }

  .header .nav {
    position:relative !important;
    z-index:5001 !important;
  }

  .mobile-nav-toggle-v107 {
    position:relative !important;
    z-index:5010 !important;
    display:block !important;
    flex:0 0 46px !important;
    width:46px !important;
    height:46px !important;
    margin-left:auto !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    cursor:pointer !important;
  }

  .mobile-nav-toggle-v107 span {
    position:absolute !important;
    left:10px !important;
    width:27px !important;
    height:2px !important;
    border-radius:20px !important;
    background:#211d20 !important;
    transition:top .2s ease,transform .2s ease,background .2s ease !important;
  }

  .mobile-nav-toggle-v107 span:first-child { top:17px !important; }
  .mobile-nav-toggle-v107 span:last-child  { top:27px !important; }

  body.home .header.header--overlay:not(.is-scrolled) .mobile-nav-toggle-v107 span {
    background:#fff !important;
  }

  .mobile-nav-toggle-v107.is-open span {
    background:#211d20 !important;
  }

  .mobile-nav-toggle-v107.is-open span:first-child {
    top:22px !important;
    transform:rotate(45deg) !important;
  }

  .mobile-nav-toggle-v107.is-open span:last-child {
    top:22px !important;
    transform:rotate(-45deg) !important;
  }

  .mobile-nav-backdrop-v107 {
    position:fixed !important;
    inset:0 !important;
    z-index:5004 !important;
    display:block !important;
    background:rgba(20,10,16,.20) !important;
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transition:opacity .18s ease,visibility .18s ease !important;
  }

  .mobile-nav-backdrop-v107.is-open {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }

  .mobile-nav-panel-v107 {
    position:fixed !important;
    top:82px !important;
    left:12px !important;
    right:12px !important;
    z-index:5008 !important;

    display:block !important;
    max-height:calc(100dvh - 98px) !important;
    overflow-y:auto !important;
    padding:12px 16px 16px !important;

    border:1px solid rgba(67,40,57,.10) !important;
    border-radius:22px !important;
    background:#fffaf8 !important;
    box-shadow:0 24px 65px rgba(42,20,34,.22) !important;

    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateY(-8px) scale(.985) !important;
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease !important;
  }

  .mobile-nav-panel-v107.is-open {
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:none !important;
  }

  .mobile-nav-links-v107 > a,
  .mobile-nav-offer-toggle-v107 {
    width:100% !important;
    min-height:50px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    padding:0 8px !important;
    margin:0 !important;

    border:0 !important;
    border-bottom:1px solid rgba(67,43,57,.075) !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#211d20 !important;
    text-decoration:none !important;
    font:800 17px/1.15 inherit !important;
    text-align:left !important;
  }

  .mobile-nav-offer-toggle-v107 b {
    width:36px !important;
    height:36px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:11px !important;
    background:#fff0fb !important;
    color:#c5279f !important;
    font-size:18px !important;
    font-weight:700 !important;
    transition:transform .2s ease !important;
  }

  .mobile-nav-offer-v107.is-open .mobile-nav-offer-toggle-v107 b {
    transform:rotate(180deg) !important;
  }

  .mobile-nav-offer-grid-v107 {
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    max-height:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    opacity:0 !important;
    transition:max-height .25s ease,padding .25s ease,opacity .2s ease !important;
  }

  .mobile-nav-offer-v107.is-open .mobile-nav-offer-grid-v107 {
    max-height:260px !important;
    padding:10px 0 12px !important;
    opacity:1 !important;
  }

  .mobile-nav-offer-grid-v107 a {
    min-height:78px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:4px !important;
    padding:10px !important;

    border:1px solid rgba(210,37,168,.11) !important;
    border-radius:15px !important;
    background:#fff7fc !important;
    color:#211d20 !important;
    text-decoration:none !important;
    text-align:center !important;
  }

  .mobile-nav-offer-grid-v107 strong {
    display:block !important;
    color:#211d20 !important;
    font-size:13px !important;
    line-height:1.18 !important;
  }

  .mobile-nav-offer-grid-v107 small {
    display:block !important;
    color:#887d84 !important;
    font-size:10.5px !important;
    line-height:1.2 !important;
  }

  .mobile-nav-contact-v107 {
    margin-top:12px !important;
    min-height:48px !important;
    padding:0 15px !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(105deg,#ed27bd,#c5279f) !important;
    color:#fff !important;
  }

  .mobile-nav-contact-v107,
  .mobile-nav-contact-v107 span {
    color:#fff !important;
  }

  /* Exact scroll landing point */
  #formularz-anchor {
    scroll-margin-top:100px !important;
  }
}

@media (max-width:620px) {
  .mobile-nav-panel-v107 {
    top:76px !important;
    left:9px !important;
    right:9px !important;
    max-height:calc(100dvh - 90px) !important;
    padding:10px 13px 14px !important;
    border-radius:19px !important;
  }

  .mobile-nav-links-v107 > a,
  .mobile-nav-offer-toggle-v107 {
    min-height:47px !important;
    font-size:16px !important;
  }

  .mobile-nav-offer-grid-v107 {
    grid-template-columns:1fr 1fr !important;
  }

  .mobile-nav-offer-grid-v107 a {
    min-height:70px !important;
  }

  #formularz-anchor {
    scroll-margin-top:92px !important;
  }
}


/* =========================================================
   V10.8 — SCROLL + TARGET PINK CTA COLORS
   ========================================================= */

.cennik-anchor-v108 {
  display:block;
  position:relative;
  height:0;
  overflow:visible;
}

/* Mobile hamburger CTA */
@media (max-width:900px) {
  .mobile-nav-contact-v107,
  .mobile-nav-links-v107 .mobile-nav-contact-v107 {
    margin-top:12px !important;
    min-height:50px !important;
    padding:0 16px !important;
    border:0 !important;
    border-radius:14px !important;
    background:linear-gradient(105deg,#ed27bd 0%,#d925b0 55%,#c5279f 100%) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    box-shadow:0 10px 24px rgba(213,37,172,.18) !important;
  }

  .mobile-nav-contact-v107 span {
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
  }
}

/* Contact form submit */
.contact-v86-submit,
.contact-v86-form button[type="submit"],
.contact-form-v86 button[type="submit"],
.contact-v106 button[type="submit"],
#formularz button[type="submit"] {
  background:linear-gradient(105deg,#ed27bd 0%,#d925b0 55%,#c5279f 100%) !important;
  background-color:#d925b0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:0 !important;
  box-shadow:0 12px 28px rgba(213,37,172,.18) !important;
}

/* City/local CTA "Wyślij zapytanie" */
.city-page-v10 .btn,
.city-page-v10 .btn.gradient,
.city-page-v10 a.btn,
.city-cta-v10 .btn,
.city-cta-v10 a.btn,
.local-cta .btn,
.local-cta a.btn {
  background:linear-gradient(105deg,#ed27bd 0%,#d925b0 55%,#c5279f 100%) !important;
  background-color:#d925b0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:transparent !important;
}

#formularz-anchor {
  scroll-margin-top:64px !important;
}

#cennik-anchor {
  scroll-margin-top:118px !important;
}

@media (max-width:900px) {
  #formularz-anchor {
    scroll-margin-top:60px !important;
  }

  #cennik-anchor {
    scroll-margin-top:112px !important;
  }
}


/* =========================================================
   V10.9 — FINAL CONTACT ANCHOR POSITION
   ========================================================= */
#formularz-anchor {
  scroll-margin-top: 118px !important;
}

@media (max-width:900px) {
  #formularz-anchor {
    scroll-margin-top: 106px !important;
  }
}


/* =========================================================
   V11.0 — CONTACT SCROLL MATCHES REFERENCE SCREENSHOT
   Target is the whole contact card, not the eyebrow.
   ========================================================= */

#formularz {
  scroll-margin-top: 128px !important;
}

@media (max-width:900px) {
  #formularz {
    scroll-margin-top: 118px !important;
  }
}


/* =========================================================
   V11.1 — FINAL CONTACT LANDING + ABOUT PHOTO CENTERING
   ========================================================= */

/* Contact link should land on the TOP of the whole form card */
#formularz {
  scroll-margin-top: 102px !important;
}

@media (max-width:900px) {
  #formularz {
    scroll-margin-top: 92px !important;
  }
}

/* ABOUT — make Kuba / Piotrek more centred and less cropped */
@media (max-width:900px) {

  /* Main founder image cards */
  .about-page-v74 .about-v74-photo,
  .about-page-v74 .about-v74-person-photo,
  .about-page-v74 .about-person-photo,
  .about-page-v74 .about-founder-photo,
  .about-page-v74 .about-v74-founder-image,
  #o-nas-skrot .about-founder-photo {
    overflow: hidden !important;
  }

  .about-page-v74 .about-v74-photo img,
  .about-page-v74 .about-v74-person-photo img,
  .about-page-v74 .about-person-photo img,
  .about-page-v74 .about-founder-photo img,
  .about-page-v74 .about-v74-founder-image img,
  #o-nas-skrot .about-founder-photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: 50% 42% !important;
  }

  /* Kuba: move crop slightly upward/centre */
  .about-page-v74 .about-v74-photo--kuba img,
  .about-page-v74 [class*="kuba"] img,
  #o-nas-skrot [class*="kuba"] img {
    object-position: 50% 40% !important;
  }

  /* Piotrek: keep face/torso nearer the visual centre */
  .about-page-v74 .about-v74-photo--piotr img,
  .about-page-v74 [class*="piotr"] img,
  #o-nas-skrot [class*="piotr"] img {
    object-position: 50% 38% !important;
  }
}

/* On narrow iPhones show a little more of each portrait instead of hard cropping */
@media (max-width:620px) {
  .about-page-v74 .about-v74-photo img,
  .about-page-v74 .about-v74-person-photo img,
  .about-page-v74 .about-person-photo img,
  .about-page-v74 .about-founder-photo img,
  .about-page-v74 .about-v74-founder-image img {
    object-position: 50% 40% !important;
  }

  .about-page-v74 .about-v74-photo--kuba img,
  .about-page-v74 [class*="kuba"] img {
    object-position: 50% 38% !important;
  }

  .about-page-v74 .about-v74-photo--piotr img,
  .about-page-v74 [class*="piotr"] img {
    object-position: 50% 35% !important;
  }
}


/* V11.3 — status wysyłki formularza */
#contact-form .form-status{
  margin:14px 0 0;
  padding:12px 14px;
  border-radius:14px;
  font-size:14px;
  font-weight:750;
  line-height:1.4;
}
#contact-form .form-status--ok{
  background:#fff0fb;
  border:1px solid rgba(213,37,172,.18);
  color:#a91e87;
}
#contact-form .form-status--error{
  background:#fff1f3;
  border:1px solid rgba(190,45,69,.18);
  color:#a52a3c;
}


/* V11.4 — form card landing fallback */
#formularz { scroll-margin-top: 185px !important; }
@media (max-width:900px) {
  #formularz { scroll-margin-top: 165px !important; }
}


/* =========================================================
   V11.5 — dedicated scroll marker before contact card
   ========================================================= */
#formularz-scroll-target{
  display:block;
  height:0;
  position:relative;
  pointer-events:none;
}

@media (max-width:900px){
  #formularz-scroll-target{
    height:0;
  }
}


/* =========================================================
   V11.9 — final city CTA + contact anchor normalization
   ========================================================= */
#formularz,
#formularz-anchor,
#formularz-scroll-target{
  scroll-margin-top:0 !important;
}

/* City hero secondary CTA must always remain visible */
.city-hero-actions .btn.ghost,
.city-hero-actions a.btn.ghost{
  background:#fff7fc !important;
  color:#211d20 !important;
  border:1px solid rgba(210,37,168,.24) !important;
  box-shadow:none !important;
  opacity:1 !important;
  -webkit-text-fill-color:#211d20 !important;
}
.city-hero-actions .btn.ghost:hover,
.city-hero-actions a.btn.ghost:hover{
  background:#ffeefa !important;
  color:#c5279f !important;
  -webkit-text-fill-color:#c5279f !important;
  border-color:rgba(210,37,168,.42) !important;
}

@media (max-width:900px){
  .city-hero-actions .btn.ghost,
  .city-hero-actions a.btn.ghost{
    background:#fff7fc !important;
    color:#211d20 !important;
    -webkit-text-fill-color:#211d20 !important;
  }
}


/* V12.0 — JS owns contact landing position; no CSS anchor offsets */
#formularz,
#formularz-anchor,
#formularz-scroll-target,
.contact-premium-shell,
.contact-shell{
  scroll-margin-top:0 !important;
}


/* =========================================================
   V12.1 — mobile privacy policy normalization
   ========================================================= */
@media (max-width: 900px){
  body.privacy-page,
  body.policy-page,
  .privacy-page,
  .policy-page{
    overflow-x:hidden !important;
  }

  .privacy-page main,
  .policy-page main,
  .privacy-page .privacy-wrap,
  .policy-page .privacy-wrap,
  .privacy-page .privacy-content,
  .policy-page .privacy-content,
  .privacy-page .legal-content,
  .policy-page .legal-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    padding-left:18px !important;
    padding-right:18px !important;
    box-sizing:border-box !important;
  }

  .privacy-page .privacy-hero,
  .policy-page .privacy-hero,
  .privacy-page .legal-hero,
  .policy-page .legal-hero{
    padding:48px 18px 28px !important;
  }

  .privacy-page .privacy-hero h1,
  .policy-page .privacy-hero h1,
  .privacy-page .legal-hero h1,
  .policy-page .legal-hero h1{
    font-size:clamp(38px,11vw,54px) !important;
    line-height:.98 !important;
    letter-spacing:-.055em !important;
    overflow-wrap:anywhere !important;
  }

  .privacy-page .privacy-hero p,
  .policy-page .privacy-hero p,
  .privacy-page .legal-hero p,
  .policy-page .legal-hero p{
    font-size:17px !important;
    line-height:1.55 !important;
    max-width:100% !important;
  }

  .privacy-page .privacy-card,
  .policy-page .privacy-card,
  .privacy-page .legal-card,
  .policy-page .legal-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:26px 20px !important;
    border-radius:22px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  .privacy-page .privacy-card h2,
  .policy-page .privacy-card h2,
  .privacy-page .legal-card h2,
  .policy-page .legal-card h2{
    font-size:28px !important;
    line-height:1.08 !important;
    letter-spacing:-.035em !important;
    overflow-wrap:anywhere !important;
  }

  .privacy-page .privacy-card h3,
  .policy-page .privacy-card h3,
  .privacy-page .legal-card h3,
  .policy-page .legal-card h3{
    font-size:22px !important;
    line-height:1.15 !important;
  }

  .privacy-page .privacy-card p,
  .policy-page .privacy-card p,
  .privacy-page .privacy-card li,
  .policy-page .privacy-card li,
  .privacy-page .legal-card p,
  .policy-page .legal-card p,
  .privacy-page .legal-card li,
  .policy-page .legal-card li{
    font-size:16px !important;
    line-height:1.62 !important;
    max-width:100% !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    white-space:normal !important;
  }

  .privacy-page .privacy-card a,
  .policy-page .privacy-card a,
  .privacy-page .legal-card a,
  .policy-page .legal-card a{
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
  }

  .privacy-page .privacy-card ul,
  .policy-page .privacy-card ul,
  .privacy-page .legal-card ul,
  .policy-page .legal-card ul{
    padding-left:22px !important;
  }

  .privacy-page .privacy-card section,
  .policy-page .privacy-card section,
  .privacy-page .legal-card section,
  .policy-page .legal-card section{
    padding:0 0 26px !important;
    margin:0 0 26px !important;
  }
}


/* =========================================================
   V12.2 — privacy page mobile rebuilt for actual v9 markup
   ========================================================= */
@media (max-width: 900px) {

  body.privacy-page-v9 {
    overflow-x: hidden !important;
    background: #fffaf8 !important;
  }

  body.privacy-page-v9 main.privacy-v9,
  body.privacy-page-v9 .privacy-v9-hero,
  body.privacy-page-v9 .privacy-v9-content,
  body.privacy-page-v9 .privacy-v9-grid,
  body.privacy-page-v9 .privacy-v9-article,
  body.privacy-page-v9 .privacy-v9-article section {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  body.privacy-page-v9 .container,
  body.privacy-page-v9 .privacy-v9-hero-inner,
  body.privacy-page-v9 .privacy-v9-grid {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.privacy-page-v9 .privacy-v9-toc {
    display: none !important;
  }

  body.privacy-page-v9 .privacy-v9-grid {
    display: block !important;
  }

  body.privacy-page-v9 .privacy-v9-hero {
    padding: 34px 0 30px !important;
    background: linear-gradient(135deg, #fffaf7, #fff7fc) !important;
  }

  body.privacy-page-v9 .privacy-back {
    margin-bottom: 18px !important;
    font-size: 14px !important;
  }

  body.privacy-page-v9 .privacy-v9-hero .eyebrow {
    margin-bottom: 16px !important;
  }

  body.privacy-page-v9 .privacy-v9-hero h1 {
    margin: 0 0 18px !important;
    font-size: clamp(40px, 12vw, 56px) !important;
    line-height: .98 !important;
    letter-spacing: -.055em !important;
    max-width: 100% !important;
  }

  body.privacy-page-v9 .privacy-v9-hero p {
    max-width: 100% !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
  }

  body.privacy-page-v9 .privacy-v9-meta {
    margin-top: 18px !important;
    gap: 8px 12px !important;
    font-size: 12px !important;
  }

  body.privacy-page-v9 .privacy-v9-meta a {
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }

  body.privacy-page-v9 .privacy-v9-content {
    padding: 30px 0 52px !important;
  }

  body.privacy-page-v9 .privacy-v9-article section {
    margin: 0 0 24px !important;
    padding: 0 0 24px !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(80,50,68,.09) !important;
    overflow: visible !important;
  }

  body.privacy-page-v9 .privacy-no {
    margin-bottom: 7px !important;
    font-size: 11px !important;
  }

  body.privacy-page-v9 .privacy-v9-article h2 {
    margin: 0 0 12px !important;
    font-size: 25px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    overflow-wrap: anywhere !important;
  }

  body.privacy-page-v9 .privacy-v9-article p,
  body.privacy-page-v9 .privacy-v9-article li {
    font-size: 15.5px !important;
    line-height: 1.62 !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    white-space: normal !important;
  }

  body.privacy-page-v9 .privacy-v9-article p {
    margin: 0 0 14px !important;
  }

  body.privacy-page-v9 .privacy-v9-article ul {
    margin: 0 !important;
    padding-left: 20px !important;
  }

  body.privacy-page-v9 .privacy-v9-article li {
    margin-bottom: 7px !important;
  }

  body.privacy-page-v9 .privacy-v9-article a {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  body.privacy-page-v9 .privacy-table-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }

  body.privacy-page-v9 .privacy-table {
    min-width: 560px !important;
  }

  body.privacy-page-v9 .privacy-contact-box {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body.privacy-page-v9 .privacy-contact-box > div {
    padding: 14px !important;
  }

  /* Ensure header does not inherit desktop width behavior */
  body.privacy-page-v9 .privacy-header-solid .container.nav {
    width: calc(100% - 28px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }
}

@media (max-width: 520px) {
  body.privacy-page-v9 .container,
  body.privacy-page-v9 .privacy-v9-hero-inner,
  body.privacy-page-v9 .privacy-v9-grid {
    width: calc(100% - 28px) !important;
  }

  body.privacy-page-v9 .privacy-v9-hero h1 {
    font-size: 42px !important;
  }

  body.privacy-page-v9 .privacy-v9-article h2 {
    font-size: 24px !important;
  }

  body.privacy-page-v9 .privacy-v9-article p,
  body.privacy-page-v9 .privacy-v9-article li {
    font-size: 15px !important;
  }
}

/* v12.3 Retrobudka */
.city-offer-card--featured-v123{border-color:rgba(237,39,189,.42)!important;background:linear-gradient(145deg,#fff,#fff7fd)!important;box-shadow:0 18px 44px rgba(197,39,159,.10)!important}
.city-offer-card--featured-v123 .city-offer-no,.city-offer-card--featured-v123 strong{color:#c5279f!important}
.city-retro-highlight-v123{padding:72px 0;background:#fffaf8}.city-retro-highlight-grid-v123{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.city-retro-highlight-photo-v123 img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:30px;display:block}
.city-retro-highlight-v123 h2,.retro-local-seo-v123 h2{font-size:clamp(38px,4vw,66px);line-height:.98;letter-spacing:-.05em;margin:14px 0 24px}.city-retro-highlight-v123 h2 span,.retro-local-seo-v123 h2 span{color:#c5279f}
.city-retro-highlight-v123 p,.retro-local-seo-v123 p{font-size:18px;line-height:1.65;color:#716b70}.retro-local-seo-v123{padding:74px 0;background:#fffaf8}.retro-local-seo-grid-v123{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:start}
@media(max-width:760px){.city-retro-highlight-v123,.retro-local-seo-v123{padding:46px 0}.city-retro-highlight-grid-v123,.retro-local-seo-grid-v123{grid-template-columns:1fr;gap:28px}.city-retro-highlight-photo-v123 img{border-radius:22px}.city-retro-highlight-v123 h2,.retro-local-seo-v123 h2{font-size:38px}.city-retro-highlight-v123 p,.retro-local-seo-v123 p{font-size:16px}}


/* v1.2 — cookie consent: keep the primary action in DiscoBudka pink */
.cookie-banner .cookie-actions .cookie-accept,
.cookie-modal .cookie-save,
.cookie-actions .cookie-accept.btn,
.cookie-actions .cookie-accept.btn.primary,
.cookie-actions .cookie-accept.btn.gradient {
    background:linear-gradient(105deg,#ed27bd,#d225a8)!important;
    border-color:transparent!important;
    color:#fff!important;
    box-shadow:0 12px 28px rgba(210,37,168,.22)!important;
}
.cookie-banner .cookie-actions .cookie-accept:hover,
.cookie-modal .cookie-save:hover {
    background:linear-gradient(105deg,#f044ca,#c5279f)!important;
}

/* v1.4 — Keep the next section fully below the desktop first viewport. */
@media (min-width: 981px) {
  .service-clean-body .clean-offer-hero,
  .city-page-v10 .city-hero-v10 {
    min-height: calc(100svh - 64px);
    display: flex;
    align-items: center;
  }
  .service-clean-body .clean-offer-hero > .container,
  .city-page-v10 .city-hero-v10 > .container {
    width: min(1180px, calc(100% - 36px));
  }
}

/* Show the main photo immediately, even if the reveal script is delayed. */
.service-clean-body .clean-offer-hero .clean-offer-media {
  opacity: 1 !important;
  transform: none !important;
}
.service-clean-body--overhead .clean-offer-media {
  background: #f2e9ed url('../img/overhead-realizacja.webp?v=13.1') center / cover no-repeat;
}

/* Avoid section height jumps when opening a pricing anchor. */
.service-clean-body .clean-price-section {
  content-visibility: visible;
  contain-intrinsic-size: none;
}

/* v1.5 — Each introduction fills the remaining desktop viewport. */
@media (min-width: 981px) {
  #o-nas-skrot,
  .about-page-v74 .about-v74-hero,
  .contact-page-v84 .contact-v84-hero {
    min-height: calc(100svh - 64px);
    display: flex;
    align-items: center;
  }
  #o-nas-skrot > .container,
  .about-page-v74 .about-v74-hero > .container,
  .contact-page-v84 .contact-v84-hero > .container {
    width: min(1180px, calc(100% - 36px));
  }
}

/* v1.6 — Consistent type on Windows without an unloaded Manrope fallback. */
:root {
  --font-sans: "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-display: var(--font-sans);
}
body, button, input, select, textarea {
  font-family: var(--font-sans);
}
body {
  font-weight: 500;
  text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, .logo, .amount {
  font-family: var(--font-display) !important;
  font-weight: 800;
  letter-spacing: -.038em;
}

/* Visible alternatives beside the main product decision. */
.offer-switch {
  margin-top: 26px;
}
.offer-switch strong {
  display: block;
  margin-bottom: 10px;
  color: #534951;
  font-size: 13px;
  letter-spacing: .01em;
}
.offer-switch-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.offer-switch a {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid rgba(197, 39, 159, .2);
  border-radius: 999px;
  background: #fff7fc;
  color: #9e247f;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}
.offer-switch a:hover, .offer-switch a:focus-visible {
  border-color: #c5279f;
  background: #ffeafa;
}
.offer-alternatives {
  padding: 72px 0 84px;
  background: #fffafc;
}
.offer-alternatives h2 {
  margin: 12px 0 14px;
  font-size: clamp(36px, 4vw, 54px);
  line-height: 1.04;
}
.offer-alternatives h2 span { color: #c5279f; }
.offer-alternatives-intro {
  max-width: 650px;
  margin: 0 0 30px;
  color: #6f666d;
  line-height: 1.6;
}
.offer-alternatives-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.offer-alternative-card {
  display: flex;
  gap: 16px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(197, 39, 159, .12);
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(53, 29, 44, .035);
  text-decoration: none;
  transition: border-color .2s, transform .2s;
}
.offer-alternative-card:hover, .offer-alternative-card:focus-visible {
  transform: translateY(-3px);
  border-color: rgba(197, 39, 159, .48);
}
.offer-alternative-card img {
  flex: 0 0 94px;
  width: 94px;
  height: 110px;
  border-radius: 14px;
  object-fit: cover;
}
.offer-alternative-card b, .offer-alternative-card small, .offer-alternative-card em { display: block; }
.offer-alternative-card b { font-size: 17px; line-height: 1.18; }
.offer-alternative-card small { margin: 6px 0 8px; color: #746b72; font-size: 12px; line-height: 1.35; }
.offer-alternative-card em { color: #b52791; font-size: 12px; font-style: normal; font-weight: 750; }

@media (max-width: 900px) {
  .offer-alternatives { padding: 52px 0 62px; }
  .offer-alternatives-grid { grid-template-columns: 1fr; }
  .offer-alternative-card { max-width: 640px; }
  /* Portrait source files are shown as portraits, not flattened banners. */
  .service-clean-body .clean-offer-media {
    width: min(100%, 340px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3 / 4;
    margin: 0 auto !important;
    border-radius: 24px !important;
  }
  .service-clean-body .clean-offer-media img {
    position: static !important;
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: cover !important;
  }
  .service-clean-body.fb360-page-v105 .clean-offer-media {
    width: min(100%, 520px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 3 / 2;
    margin: 24px auto 0 !important;
  }
  .service-clean-body.fb360-page-v105 .clean-offer-media img {
    position: static !important;
    height: 100% !important;
    object-position: center !important;
  }
}

@media (max-width: 620px) {
  /* Compact, recognisable photos and clear text in the home offer list. */
  #oferta .service-card {
    display: grid;
    grid-template-columns: 112px minmax(0, 1fr);
    align-items: stretch;
    gap: 12px;
    height: auto;
    padding: 10px;
  }
  #oferta .service-card .tag {
    position: static;
    grid-column: 1 / -1;
    width: fit-content;
    padding: 5px 9px;
    font-size: 10px;
  }
  #oferta .service-card picture { height: 100%; min-height: 168px; }
  #oferta .service-card img {
    height: 100%;
    min-height: 168px;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center;
    border-radius: 14px;
  }
  #oferta .service-content { padding: 4px 2px 2px 0; }
  #oferta .service-content h3 { min-height: 0; font-size: 20px; }
  #oferta .service-content p { min-height: 0; font-size: 12.5px; line-height: 1.48; }
  .offer-switch { margin-top: 22px; }
  .offer-switch a { font-size: 12px; }
  .offer-alternative-card img { flex-basis: 82px; width: 82px; height: 96px; }
}

/* v1.7 — one readable business address in contact and every footer. */
.footer-v88-col .footer-v88-address {
  margin: 2px 0 5px;
  color: #766c72;
  font-size: 13px;
  font-style: normal;
  line-height: 1.5;
}
.footer-v88-address strong { color: #272126; font-weight: 750; }
.contact-v84-address {
  display: block;
  margin: 12px 0 8px;
  color: #282127;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.45;
}

/* v1.8 — consistent section navigation and accessible contact controls */
:root { --nav-height: 76px; }
html { scroll-behavior: auto; }
section[id], #oferta-start, #o-nas-label, #formularz-anchor, #cennik-anchor {
  scroll-margin-top: calc(var(--nav-height) + 16px) !important;
}
#oferta, #o-nas-skrot, #realizacje, #opinie,
.service-clean-body .clean-offer-hero, .city-page-v10 .city-hero-v10,
.about-page-v74 .about-v74-hero, .contact-page-v84 .contact-v84-hero,
#formularz {
  min-height: calc(100svh - var(--nav-height));
  height: auto;
  box-sizing: border-box;
}
@supports (height: 100dvh) {
  #oferta, #o-nas-skrot, #realizacje, #opinie,
  .service-clean-body .clean-offer-hero, .city-page-v10 .city-hero-v10,
  .about-page-v74 .about-v74-hero, .contact-page-v84 .contact-v84-hero,
  #formularz {
    min-height: calc(100dvh - var(--nav-height));
  }
}
#realizacje, #opinie, #formularz { padding-block: clamp(32px, 5vh, 64px) !important; }
#formularz .contact-v86-form-shell {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.3fr);
  gap: clamp(24px, 4vw, 56px);
  padding: clamp(24px, 4vw, 48px);
  border: 1px solid #f1e5ed;
  border-radius: 28px;
  box-shadow: 0 16px 48px rgba(54, 25, 45, .06);
}
#formularz .contact-v86-form-intro h2 {
  font-size: clamp(32px, 3.5vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
#formularz .contact-v86-form { background: #fff; border: 0; padding: 0; }
#formularz .contact-v86-grid { gap: 20px 16px; }
#formularz .field-v86 > span { font-size: 12px; letter-spacing: .025em; color: #51464e; }
#formularz .field-v86 input,
#formularz .field-v86 select,
#formularz .field-v86 textarea {
  display: block;
  box-sizing: border-box;
  width: 100%; min-width: 0; min-height: 54px;
  padding: 14px 16px;
  border: 1px solid #d9cdd5;
  border-radius: 12px;
  background-color: #fffcfe;
  color: #292127;
  font: 500 16px/1.45 var(--font-sans);
}
#formularz .field-v86 select {
  appearance: none; -webkit-appearance: none;
  padding-right: 42px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%237b426a' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
}
#formularz .field-v86 textarea { min-height: 130px; }
#formularz .field-v86 :is(input,select,textarea):focus-visible {
  outline: 3px solid rgba(204, 36, 164, .2);
  outline-offset: 2px;
  border-color: #bd2999;
  box-shadow: none;
}
#formularz .contact-v86-submit { min-height: 54px; font-size: 16px; border-radius: 14px; }
#formularz .contact-v86-submit span { font-size: inherit; }
.google-review-link { border: 1px solid #ead9e5; background: #fff; }
.google-review-link small { display: block; max-width: 360px; line-height: 1.5; }
.google-review-action { color: #aa2389; font-size: 14px; font-weight: 750; white-space: nowrap; }
@media(max-width:900px) {
  #formularz .contact-v86-form-shell { grid-template-columns: 1fr; }
  #formularz .contact-v86-mini { flex-direction: row; flex-wrap: wrap; gap: 8px 16px; }
  #realizacje, #opinie, #formularz { padding-block: 32px !important; }
  .mobile-nav-panel-v107 { max-height: calc(100dvh - var(--nav-height)); overflow-y: auto; overscroll-behavior: contain; }
}
@media(max-width:620px) {
  #formularz .contact-v86-form-shell { padding: 24px 18px !important; border-radius: 22px; }
  #formularz .contact-v86-form { padding: 0 !important; }
  .google-review-link { align-items: flex-start; flex-direction: column; gap: 12px; }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* v1.9 — compact spacing after contact details and prices. */
.contact-page-v84 .contact-v84-info { min-height: 0; padding-bottom: 12px !important; }
.service-clean-body .clean-price-section { min-height: 0; padding-bottom: 28px; }
.service-clean-body .offer-alternatives { padding-top: 32px; }

/* v1.10 — keep local Retrobudka recommendations compact.
   Explicit CSS sizing overrides source-resolution HTML dimensions. */
.city-retro-highlight-grid-v123 {
  grid-template-columns: minmax(240px, 330px) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
}
.city-retro-highlight-photo-v123 {
  width: 100%; max-width: 330px; aspect-ratio: 3 / 4;
  overflow: hidden; border-radius: 26px;
}
.city-retro-highlight-photo-v123 img {
  display: block; width: 100%; height: 100%; max-height: 440px;
  aspect-ratio: 3 / 4; object-fit: cover; object-position: center;
  border-radius: inherit;
}
@media(max-width:760px) {
  .city-retro-highlight-grid-v123 { grid-template-columns: 1fr; gap: 24px; }
  .city-retro-highlight-photo-v123 { max-width: 270px; margin-inline: auto; border-radius: 22px; }
  .city-retro-highlight-photo-v123 img { max-height: 360px; }
}

/* v1.11 — useful local rental guidance */
.city-rental-guide { padding: 48px 0; background: #fff; }
.city-rental-guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; }
.city-rental-guide h2 { font-size: clamp(25px,2.4vw,34px); line-height: 1.15; margin: 0 0 18px; }
.city-rental-guide p { color: #655b62; font-size: 17px; line-height: 1.7; }
.city-rental-guide a { display: inline-block; color: #ac218b; font-weight: 700; margin-top: 10px; }
@media(max-width:760px) { .city-rental-guide-grid { grid-template-columns: 1fr; gap: 30px; } .city-rental-guide { padding: 36px 0; } }
