/* BRANDING STUDIO — wspólne podstrony, zgodne z bazowym frameworkiem */
.brand-wordmark {
    display: flex;
    flex-direction: column;
    font-family: var(--font-heading);
    font-weight: 800;
    letter-spacing: 1.8px;
    font-size: 18px;
    line-height: 1.1;
    color: #f8fbff
}

.brand-wordmark b {
    color: #ff922c
}

.brand-wordmark small {
    font-family: var(--font-body);
    font-size: 7px;
    letter-spacing: 1.15px;
    color: #91a9c6;
    margin-top: 7px;
    font-weight: 600
}

.service-menu-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 4px 14px
}

.service-menu-grid .menu-card {
    grid-template-columns: 42px minmax(0, 1fr) 16px;
    min-height: 72px
}

.subpage .service-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(60px, 8vw, 112px) clamp(22px, 7vw, 110px) 30px;
    background: radial-gradient(ellipse at 80% 20%, rgba(37, 140, 156, .24), transparent 34%), radial-gradient(ellipse at 12% 90%, rgba(255, 121, 0, .16), transparent 32%), linear-gradient(118deg, #06152b 0%, #092b53 56%, #0a3a59 100%)
}

.service-hero:before {
    content: "";
    position: absolute;
    z-index: -1;
    width: 60vw;
    aspect-ratio: 1;
    right: -18vw;
    top: -32vw;
    border: 1px solid rgba(32, 168, 192, .25);
    border-radius: 50%;
    box-shadow: 0 0 0 44px rgba(32, 168, 192, .025), 0 0 0 110px rgba(32, 168, 192, .02)
}

.service-hero-inner {
    width: min(1280px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr);
    gap: clamp(36px, 7vw, 100px);
    align-items: center;
    min-height: 440px
}

.service-hero-copy {
    max-width: 700px
}

.hero-kicker {
    font-size: 11px;
    letter-spacing: 2.5px;
    font-weight: 800;
    color: #49c5d7;
    margin: 0 0 24px
}

.service-hero h1 {
    font-size: clamp(42px, 6.1vw, 78px);
    letter-spacing: -2.8px;
    line-height: 1.04;
    margin: 0;
    font-weight: 800
}

.service-hero h1 em,
.section-title em {
    font-style: normal;
    color: #ff922c
}

.service-lead {
    max-width: 650px;
    color: #d6e3f2;
    font-size: clamp(16px, 1.45vw, 19px);
    line-height: 1.8;
    margin: 24px 0 0
}

.hero-actions {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 30px
}

.hero-button {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 14px 20px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(100deg, #ff7900, #ff590b);
    color: white;
    font-size: 13px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(255, 100, 0, .2);
    cursor: pointer
}

.hero-button span {
    font-size: 20px
}

.hero-secondary {
    font-size: 13px;
    font-weight: 700;
    color: #dce8f4
}

.hero-secondary:hover,
.text-link:hover {
    color: #ffb15b
}

.hero-proof {
    display: flex;
    gap: clamp(15px, 3vw, 34px);
    margin-top: 38px;
    padding-top: 18px;
    border-top: 1px solid rgba(190, 215, 245, .18);
    color: #7993b3;
    font-size: 10px;
    letter-spacing: 1px
}

.hero-proof span {
    display: flex;
    gap: 8px;
    align-items: center
}

.hero-proof b {
    font-size: 11px;
    letter-spacing: 0;
    color: #e2eaf5
}

.hero-bottom-line {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    width: min(1280px, 100%);
    margin: 65px auto 0;
    padding-top: 16px;
    border-top: 1px solid rgba(190, 215, 245, .15);
    font-size: 9px;
    letter-spacing: 1.8px;
    color: #7993b3
}

.service-visual {
    position: relative;
    min-height: 400px;
    display: grid;
    place-items: center
}

.visual-orbit {
    position: absolute;
    border: 1px solid rgba(32, 168, 192, .32);
    border-radius: 50%;
    width: 360px;
    height: 360px
}

.orbit-b {
    width: 285px;
    height: 285px;
    border-color: rgba(255, 146, 44, .32);
    transform: rotate(25deg)
}

.visual-panel {
    position: relative;
    z-index: 1;
    width: min(100%, 360px);
    min-height: 330px;
    padding: 24px;
    border: 1px solid rgba(120, 194, 222, .32);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(12, 44, 79, .94), rgba(4, 18, 39, .9));
    box-shadow: 0 28px 70px rgba(0, 0, 0, .28);
    transform: rotate(-3deg)
}

.panel-label,
.panel-foot {
    font-size: 9px;
    letter-spacing: 1.5px;
    color: #7da4c9
}

.panel-glyph {
    display: grid;
    place-items: center;
    font-size: 150px;
    line-height: 1;
    height: 210px;
    color: #ff922c;
    text-shadow: 0 0 55px rgba(255, 121, 0, .2)
}

.panel-lines {
    display: flex;
    gap: 8px;
    margin-top: 14px
}

.panel-lines i {
    display: block;
    height: 4px;
    border-radius: 9px;
    background: #1c8fa4;
    width: 24%
}

.panel-lines i:nth-child(2) {
    width: 40%;
    background: #ff922c
}

.panel-lines i:nth-child(3) {
    width: 16%;
    background: #4777b9
}

.panel-foot {
    display: block;
    margin-top: 18px
}

.floating-chip {
    position: absolute;
    z-index: 2;
    padding: 10px 14px;
    background: #06223b;
    border: 1px solid rgba(73, 197, 215, .32);
    border-radius: 9px;
    color: #eaf5ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1px;
    box-shadow: 0 12px 30px #031329
}

.chip-one {
    top: 12%;
    left: -2%;
    transform: rotate(-5deg)
}

.chip-two {
    right: -3%;
    top: 44%;
    transform: rotate(4deg)
}

.chip-three {
    bottom: 10%;
    left: 8%;
    transform: rotate(-3deg)
}

.content-section {
    padding: clamp(65px, 8vw, 110px) clamp(22px, 7vw, 110px);
    background: #06152b
}

.section-head {
    max-width: 780px;
    margin: 0 auto 42px;
    text-align: center
}

.section-label {
    font-size: 10px;
    letter-spacing: 2.2px;
    text-transform: uppercase;
    color: #49c5d7;
    font-weight: 800;
    margin: 0 0 14px
}

.section-title {
    font-size: clamp(32px, 4.4vw, 54px);
    line-height: 1.12;
    letter-spacing: -1.7px;
    margin: 0
}

.section-intro {
    max-width: 650px;
    margin: 20px auto 0;
    color: #b9c6da
}

.offer-grid {
    width: min(1200px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px
}

.offer-card {
    padding: 25px;
    border: 1px solid rgba(126, 170, 211, .18);
    border-radius: 16px;
    background: linear-gradient(145deg, rgba(15, 43, 77, .88), rgba(5, 22, 46, .8));
    transition: transform .2s, border-color .2s
}

.offer-card:hover {
    transform: translateY(-4px);
    border-color: rgba(73, 197, 215, .55)
}

.offer-card>span {
    color: #ff922c;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.4px
}

.offer-card h3,
.print-card h3 {
    font-size: 18px;
    line-height: 1.35;
    margin: 20px 0 10px
}

.offer-card p,
.print-card p {
    font-size: 14px;
    color: #b9c6da;
    line-height: 1.7;
    margin: 0
}

.split-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(35px, 8vw, 110px);
    align-items: center;
    background: #081c37
}

.split-copy {
    max-width: 570px
}

.split-copy>p:not(.section-label) {
    color: #b9c6da
}

.split-copy .contact-button {
    margin-top: 18px
}

.split-visual {
    position: relative;
    min-height: 340px;
    border-radius: 24px;
    border: 1px solid rgba(73, 197, 215, .25);
    background: radial-gradient(circle at 20% 20%, rgba(255, 121, 0, .2), transparent 32%), linear-gradient(135deg, #0b3156, #061329);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    font-size: clamp(23px, 4vw, 42px);
    font-weight: 800;
    letter-spacing: -1px
}

.split-visual>span:last-of-type {
    color: #ff922c
}

.split-visual>b {
    color: #49c5d7
}

.split-stamp {
    position: absolute;
    right: 10%;
    bottom: 12%;
    padding: 13px;
    border: 1px solid rgba(255, 146, 44, .5);
    color: #ffb15b;
    font-size: 10px;
    line-height: 1.4;
    letter-spacing: 2px;
    transform: rotate(-8deg)
}

.contact-band {
    padding: 60px clamp(22px, 7vw, 110px);
    background: linear-gradient(110deg, #0b2a4d, #07182f);
    border-top: 1px solid rgba(73, 197, 215, .18);
    border-bottom: 1px solid rgba(73, 197, 215, .18)
}

.contact-inner {
    width: min(1200px, 100%);
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px
}

.contact-inner .section-title {
    font-size: clamp(30px, 4vw, 46px)
}

.contact-button {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 15px 19px;
    border-radius: 999px;
    background: #ff7900;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap
}

.contact-button:hover {
    background: #ff922c;
    transform: translateY(-2px)
}

.print-page {
    background: #030b1b
}

.print-page .service-hero {
    background: radial-gradient(ellipse at 78% 28%, rgba(16, 88, 157, .36), transparent 34%), radial-gradient(ellipse at 14% 70%, rgba(255, 121, 0, .12), transparent 30%), linear-gradient(120deg, #030918, #071b38 58%, #041126)
}

.print-page .service-hero-inner {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .65fr)
}

.print-visual {
    position: relative;
    max-width: 390px;
    width: 100%;
    justify-self: center
}

.print-visual>img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 620px;
    object-fit: cover;
    object-position: top;
    border-radius: 14px;
    border: 1px solid rgba(89, 171, 210, .28);
    box-shadow: 0 25px 75px rgba(0, 0, 0, .5)
}

.visual-note {
    position: absolute;
    right: -25px;
    bottom: 30px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 20px;
    background: #062e3b;
    border: 1px solid rgba(73, 197, 215, .35);
    border-radius: 10px;
    box-shadow: 0 14px 40px rgba(0, 0, 0, .4)
}

.visual-note span {
    font-size: 9px;
    letter-spacing: 2px;
    color: #ffb15b
}

.visual-note b {
    font-size: 15px;
    line-height: 1.25
}

.visual-note small {
    font-size: 8px;
    letter-spacing: 1px;
    color: #91c4d2
}

.print-gallery {
    background: radial-gradient(ellipse at 50% 20%, rgba(15, 58, 100, .24), transparent 55%), #030b1b
}

.print-cards {
    width: min(1200px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 18px
}

.print-card {
    grid-column: span 3;
    overflow: hidden;
    padding: 18px;
    border-radius: 18px;
    border: 1px solid rgba(106, 163, 207, .2);
    background: linear-gradient(145deg, rgba(10, 35, 65, .92), rgba(4, 16, 34, .96))
}

.print-card.card-wide {
    grid-column: span 3
}

.card-index {
    font-size: 9px;
    letter-spacing: 1.8px;
    color: #6abdd0;
    font-weight: 800
}

.card-art {
    height: 220px;
    margin: 16px 0 20px;
    border-radius: 12px;
    overflow: hidden;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center
}

.art-paper {
    background: #f0eee6;
    color: #071a35;
    font-family: Georgia, serif;
    font-size: 90px
}

.art-paper span {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    line-height: 1.05;
    position: absolute;
    right: 12%;
    bottom: 15%;
    letter-spacing: -1px
}

.art-paper i {
    position: absolute;
    top: 15%;
    right: 17%;
    font-size: 45px;
    color: #ff7900
}

.art-brand {
    background: #080d18;
    color: #ffcf68;
    flex-direction: column;
    align-items: flex-start;
    padding-left: 12%
}

.art-brand b {
    font-size: 65px;
    letter-spacing: -5px
}

.art-brand small {
    letter-spacing: 4px;
    font-size: 9px
}

.art-brand i {
    position: absolute;
    right: 12%;
    bottom: 10%;
    font-size: 80px;
    color: #c18d36
}

.art-car {
    background: linear-gradient(145deg, #0b2d50, #07182b)
}

.car-shape {
    width: 75%;
    height: 75px;
    background: linear-gradient(160deg, #ff8a24, #dc3c19);
    border-radius: 45% 25% 14% 12%;
    position: relative;
    transform: skewX(-9deg);
    box-shadow: 0 20px 30px #020b16
}

.car-shape:before {
    content: "";
    position: absolute;
    left: 22%;
    top: -36px;
    width: 45%;
    height: 42px;
    background: #d8e8f0;
    clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%);
    border: 5px solid #07182b
}

.car-shape:after {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 15%;
    width: 35px;
    height: 35px;
    background: #07101d;
    border: 7px solid #6b8195;
    border-radius: 50%;
    box-shadow: 145px 0 0 -7px #07101d, 145px 0 0 0 #6b8195
}

.car-shape b {
    position: absolute;
    right: 10%;
    top: 23px;
    font-size: 11px;
    color: #fff;
    letter-spacing: 1px
}

.art-shirt {
    background: linear-gradient(135deg, #1b667b, #0c314b);
    clip-path: none
}

.art-shirt:before {
    content: "";
    position: absolute;
    width: 160px;
    height: 175px;
    background: #e9f5fb;
    clip-path: polygon(25% 0, 40% 12%, 60% 12%, 75% 0, 100% 18%, 82% 42%, 70% 34%, 70% 100%, 30% 100%, 30% 34%, 18% 42%, 0 18%);
    filter: drop-shadow(0 10px 15px #05172a)
}

.art-shirt span {
    position: relative;
    z-index: 1;
    color: #16718b;
    font-weight: 800;
    text-align: center;
    font-size: 18px;
    line-height: 1.1
}

.art-shirt i {
    position: absolute;
    right: 18%;
    top: 18%;
    font-size: 50px;
    color: #ffb15b
}

.art-files {
    gap: 12px;
    background: #081326
}

.art-files span {
    width: 24%;
    height: 68%;
    display: grid;
    place-items: center;
    background: #f8fbff;
    color: #071a35;
    font-weight: 800;
    font-size: 14px;
    box-shadow: 0 12px 20px #020817;
    transform: rotate(-8deg)
}

.art-files span:nth-child(2) {
    background: #ff922c;
    transform: rotate(6deg)
}

.art-files span:nth-child(3) {
    background: #0b5367;
    color: white;
    transform: rotate(12deg)
}

.print-card>a {
    display: inline-flex;
    gap: 16px;
    align-items: center;
    margin-top: 18px;
    color: #ffb15b;
    font-size: 12px;
    font-weight: 800
}

.print-card>a:hover {
    color: #fff
}

.process-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 70px;
    background: #06152b
}

.process-list article {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 18px;
    padding: 19px 0;
    border-bottom: 1px solid rgba(190, 215, 245, .15)
}

.process-list article>b {
    font-size: 12px;
    color: #ff922c;
    letter-spacing: 1px
}

.process-list h3 {
    margin: 0 0 7px;
    font-size: 17px
}

.process-list p {
    margin: 0;
    color: #b9c6da;
    font-size: 14px
}

.contact-form-section {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(35px, 8vw, 100px);
    align-items: start
}

.contact-intro>p:last-child {
    color: #b9c6da
}

.project-form {
    padding: clamp(22px, 4vw, 38px);
    border: 1px solid rgba(126, 170, 211, .24);
    border-radius: 20px;
    background: linear-gradient(145deg, rgba(12, 38, 69, .95), rgba(4, 17, 36, .95))
}

.project-form label {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 18px;
    font-size: 12px;
    font-weight: 700;
    color: #dce8f4
}

.project-form input,
.project-form select,
.project-form textarea {
    width: 100%;
    padding: 13px 14px;
    border: 1px solid rgba(151, 183, 218, .25);
    border-radius: 9px;
    background: #06152b;
    color: #f8fbff;
    font: inherit;
    font-weight: 400;
    outline-offset: 2px
}

.project-form input::placeholder,
.project-form textarea::placeholder {
    color: #748ba9
}

.project-form select:invalid {
    color: #748ba9
}

.project-form textarea {
    resize: vertical
}

.form-note,
.form-status {
    font-size: 11px;
    color: #9eb2cb
}

.contact-side-card {
    padding: 30px;
    border-radius: 22px;
    border: 1px solid rgba(73, 197, 215, .25);
    background: linear-gradient(145deg, rgba(11, 47, 79, .95), rgba(4, 17, 36, .95));
    box-shadow: 0 30px 70px rgba(0, 0, 0, .2)
}

.contact-mark {
    font-size: 100px;
    font-weight: 800;
    letter-spacing: -9px;
    color: #ff922c;
    margin: 35px 0
}

.contact-mark span {
    font-size: 28px;
    vertical-align: top;
    color: #49c5d7
}

.contact-side-card h2 {
    font-size: 27px;
    line-height: 1.25
}

.contact-side-card h2 em {
    font-style: normal;
    color: #ff922c
}

.contact-side-card p {
    color: #b9c6da;
    font-size: 14px
}

.text-link {
    font-size: 12px;
    font-weight: 800;
    color: #ffb15b
}

.portfolio-visual .visual-panel {
    transform: rotate(4deg)
}

.portfolio-letters {
    height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 130px;
    font-weight: 800;
    letter-spacing: -20px;
    color: #f8fbff
}

.portfolio-letters span {
    color: #ff922c;
    transform: translateY(-18px)
}

.portfolio-grid {
    width: min(1200px, 100%);
    margin: auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px
}

.portfolio-tile {
    min-height: 230px;
    padding: 25px;
    border: 1px solid rgba(126, 170, 211, .2);
    border-radius: 16px;
    background: linear-gradient(145deg, #0c2b4d, #06152b);
    transition: transform .2s, border-color .2s
}

.portfolio-tile:hover {
    transform: translateY(-4px);
    border-color: #49c5d7
}

.portfolio-tile>span {
    color: #ff922c;
    font-size: 11px;
    font-weight: 800
}

.portfolio-tile h3 {
    font-size: 20px;
    margin: 30px 0 10px
}

.portfolio-tile p {
    font-size: 13px;
    color: #b9c6da
}

.portfolio-tile>b {
    display: inline-block;
    margin-top: 12px;
    font-size: 11px;
    color: #ffb15b
}

.contact-hero .service-hero-inner {
    grid-template-columns: 1.1fr .8fr
}

.contact-hero h1 em {
    color: #ff922c
}

@media(max-width:1000px) {
    .desktop-nav {
        gap: 10px
    }

    .nav-link {
        font-size: 10px
    }

    .service-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .service-hero-inner,
    .print-page .service-hero-inner {
        grid-template-columns: 1fr 0.8fr;
        gap: 30px
    }

    .service-visual {
        min-height: 330px
    }

    .visual-panel {
        min-height: 290px
    }

    .panel-glyph {
        height: 175px;
        font-size: 120px
    }

    .offer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .process-section,
    .contact-form-section {
        gap: 35px
    }

    .portfolio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media(max-width:760px) {

    .service-hero-inner,
    .print-page .service-hero-inner,
    .contact-hero .service-hero-inner {
        grid-template-columns: 1fr
    }

    .service-hero-copy {
        order: 0
    }

    .service-visual,
    .print-visual,
    .contact-side-card {
        order: 1;
        max-width: 500px;
        width: 100%;
        margin: 10px auto 0
    }

    .service-visual {
        min-height: 340px
    }

    .service-hero h1 {
        letter-spacing: -1.8px
    }

    .hero-bottom-line {
        margin-top: 35px;
        font-size: 8px
    }

    .hero-proof {
        flex-wrap: wrap
    }

    .split-section,
    .process-section,
    .contact-form-section {
        grid-template-columns: 1fr
    }

    .split-visual {
        min-height: 260px;
        order: 1
    }

    .contact-inner {
        align-items: flex-start;
        flex-direction: column
    }

    .print-cards {
        grid-template-columns: 1fr
    }

    .print-card,
    .print-card.card-wide {
        grid-column: 1
    }

    .process-section {
        gap: 25px
    }

    .contact-form-section {
        gap: 25px
    }

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

    .portfolio-tile {
        min-height: 190px
    }

    .service-menu-grid {
        grid-template-columns: 1fr
    }

    .mega-menu {
        max-height: calc(100svh - 90px);
        overflow-y: auto
    }
}

@media(max-width:560px) {
    .brand-wordmark {
        font-size: 15px
    }

    .brand-wordmark small {
        font-size: 6px
    }

    .service-hero {
        padding-top: 50px !important
    }

    .service-hero h1 {
        font-size: clamp(39px, 10vw, 55px)
    }

    .service-lead {
        font-size: 16px
    }

    .service-visual {
        min-height: 300px
    }

    .visual-orbit {
        width: 280px;
        height: 280px
    }

    .orbit-b {
        width: 220px;
        height: 220px
    }

    .visual-panel {
        width: 88%;
        min-height: 260px;
        padding: 18px
    }

    .panel-glyph {
        height: 155px;
        font-size: 105px
    }

    .floating-chip {
        font-size: 8px;
        padding: 8px
    }

    .chip-one {
        left: 0
    }

    .chip-two {
        right: 0
    }

    .content-section {
        padding: 60px 20px
    }

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

    .offer-card {
        padding: 21px
    }

    .print-visual {
        width: 82%
    }

    .visual-note {
        right: -18px;
        bottom: 20px;
        padding: 12px
    }

    .visual-note b {
        font-size: 12px
    }

    .card-art {
        height: 180px
    }

    .print-card {
        padding: 15px
    }

    .contact-band {
        padding: 45px 20px
    }

    .contact-button {
        white-space: normal
    }

    .project-form {
        padding: 20px
    }

    .hero-actions {
        gap: 14px
    }

    .hero-button {
        gap: 15px
    }

    .hero-proof {
        gap: 12px
    }

    .hero-proof span {
        font-size: 9px
    }

    .hero-proof b {
        font-size: 10px
    }
}


/* Zgodność nagłówków hero z wytycznymi: pierwsza fraza pomarańczowa, druga biała. */
.subpage .service-hero h1 {
    color: #FF922C
}

.subpage .service-hero h1 em {
    color: #f8fbff
}

.subpage .service-hero h1 .hero-heading-accent {
    color: #FF922C
}

.subpage .service-hero h1 .hero-heading-light {
    color: #f8fbff
}

/* Główna strona: Agencja reklamowa pomarańczowa, Branding Studio białe. */
.home-hero .hero-copy h1 {
    color: #FF922C
}

.home-hero .hero-copy h1 em {
    color: #f8fbff
}

/* Przewijana grafika druku: zewnętrzny komponent zachowuje rozmiar i proporcje. */
.print-visual {
    height: clamp(390px, 48vw, 620px);
    max-height: 620px;
    overflow: hidden;
    border-radius: 14px
}

.print-visual-scroll {
    height: 100%;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: #FF922C #0a1b31;
    border: 1px solid rgba(89, 171, 210, .28);
    border-radius: 14px;
    outline-offset: 4px
}

.print-visual-scroll img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: initial;
    object-position: top;
    border: 0;
    border-radius: 0;
    box-shadow: none
}

.print-visual .visual-note {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 2;
    pointer-events: none
}

@media(max-width:700px) {
    .service-menu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

    .print-visual {
        height: clamp(360px, 115vw, 540px)
    }
}

@media(max-width:420px) {
    .service-menu-grid {
        grid-template-columns: 1fr
    }
}