/* ==========================================================================
   © Pautinka Digital Develop Studio. All rights reserved.
   This template package and its custom implementation are proprietary.
   Any unauthorized third-party use, copying, redistribution, or modification
   is strictly prohibited without written permission from the studio.
   Third-party libraries retain their respective licenses.
   ========================================================================== */

.pk-magic-screen {
    position: relative;
    width: 100%;
    min-height: 100vh;
    height: 100vh;
    height: 100svh;
    overflow: hidden;
    contain: paint;
    background: #030712;
    color: #fff;
    isolation: isolate;
}

.pk-magic-stage {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 100%;
    overflow: hidden;
    contain: paint;
    padding-top: var(--pk-header-h, 76px);
}

.pk-magic-bg,
.pk-magic-bg img,
.pk-magic-veil,
.pk-magic-rooftop,
.pk-magic-side,
.pk-magic-decor,
.pk-magic-candle,
.pk-magic-heading,
.pk-magic-features { pointer-events: none; }

.pk-magic-bg {
    position: absolute;
    inset: -3vh -3vw;
    z-index: 0;
    overflow: hidden;
    transform-origin: 50% 50%;
    animation: pkMagicBgBreath 60s ease-in-out infinite;
    will-change: transform;
}

.pk-magic-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.pk-magic-veil {
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(circle at 50% 34%, rgba(118, 70, 255, .17), transparent 33%),
        radial-gradient(circle at 50% 88%, rgba(100, 52, 174, .22), transparent 39%),
        linear-gradient(180deg, rgba(2, 6, 18, .10) 0%, rgba(2, 6, 18, .13) 45%, rgba(2, 6, 18, .86) 100%);
}

.pk-magic-rooftop {
    position: absolute;
    left: 50%;
    bottom: -4.6vh;
    z-index: 3;
    width: 124vw;
    max-width: none;
    height: auto;
    transform: translateX(-50%);
    opacity: .98;
}

.pk-magic-heading {
    position: absolute;
    top: clamp(78px, 8.8vh, 116px);
    left: 50%;
    z-index: 14;
    width: min(760px, 72vw);
    transform: translateX(-50%);
    text-align: center;
}

.pk-magic-kicker {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: -2px;
    font-size: 12px;
    line-height: 1;
    letter-spacing: .38em;
    text-transform: uppercase;
    color: #f4d99c;
    text-shadow: 0 0 14px rgba(171, 91, 255, .34), 0 0 22px rgba(242, 204, 136, .22);
}

.pk-magic-kicker span {
    display: block;
    width: 72px;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(236, 199, 138, .82), transparent);
}

.pk-magic-kicker b { font-weight: 800; }

.pk-magic-heading h2 {
    margin: 0;
    font-family: PautinkaMagic, Magic, Cinzel, Georgia, serif;
    font-size: clamp(78px, 6.5vw, 142px);
    line-height: .84;
    font-weight: 700;
    letter-spacing: .015em;
    background: linear-gradient(180deg, #fff9ff 0%, #eee2ff 31%, #bc8dff 68%, #fff1c9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    filter: drop-shadow(0 0 12px rgba(195, 126, 255, .46)) drop-shadow(0 11px 22px rgba(4, 4, 22, .88));
}

.pk-magic-heading h2::after {
    content: '';
    display: block;
    width: min(320px, 44vw);
    height: 18px;
    margin: -2px auto 8px;
    background: radial-gradient(ellipse at center, rgba(246, 219, 161, .72), rgba(142, 73, 255, .28) 42%, transparent 72%);
    opacity: .76;
}

.pk-magic-heading p {
    margin: 0 auto 17px;
    max-width: 620px;
    font-size: clamp(14px, .9vw, 18px);
    line-height: 1.5;
    color: rgba(245, 242, 255, .92);
    text-shadow: 0 2px 10px rgba(0, 0, 0, .8);
}

.pk-magic-cta {
    pointer-events: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 184px;
    min-height: 40px;
    padding: 0 30px;
    border: 1px solid rgba(238, 198, 136, .66);
    border-radius: 2px;
    background:
        linear-gradient(180deg, rgba(102, 45, 152, .88), rgba(47, 20, 78, .92)),
        radial-gradient(circle at 50% 0%, rgba(255, 235, 178, .28), transparent 54%);
    color: #fff5d0;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
    text-decoration: none;
    box-shadow: 0 0 28px rgba(147, 75, 255, .28), inset 0 0 16px rgba(255, 255, 255, .06);
}

.pk-magic-side {
    position: absolute;
    top: 14vh;
    z-index: 8;
    height: 66vh;
    width: auto;
    opacity: .54;
}
.pk-magic-side--left { left: clamp(18px, 3.6vw, 70px); }
.pk-magic-side--right { right: clamp(18px, 3.6vw, 70px); transform: scaleX(-1); }

.pk-magic-decor--hanging {
    position: absolute;
    left: -1.8vw;
    top: 0;
    z-index: 7;
    width: clamp(160px, 15vw, 320px);
    opacity: .34;
}
.pk-magic-decor--potions {
    position: absolute;
    right: clamp(6px, 1vw, 24px);
    bottom: clamp(-8px, -.4vh, 8px);
    z-index: 6;
    width: clamp(190px, 14vw, 320px);
    opacity: .92;
}


.pk-magic-core {
    pointer-events: auto;
    position: absolute;
    left: 50%;
    bottom: clamp(80px, 8.8vh, 138px);
    z-index: 12;
    width: clamp(1040px, 68vw, 1520px);
    height: clamp(620px, 68vh, 880px);
    transform: translateX(-50%);
    overflow: visible;
}

.pk-magic-lectern {
    position: absolute;
    left: 50%;
    bottom: -24%;
    z-index: 1;
    width: 94%;
    max-width: none;
    transform: translateX(-50%);
    filter: drop-shadow(0 32px 36px rgba(0, 0, 0, .78));
    pointer-events: none;
}

 .pk-magic-book-shell {
    pointer-events: auto;
    position: absolute;
    left: 50%;
    top: 19%;
    z-index: 3;
    width: 930px;
    height: 620px;
    transform: translateX(-50%);
    transform-origin: center 58%;
    filter: drop-shadow(0 30px 38px rgba(0, 0, 0, .76));
    touch-action: none;
    overflow: visible;
}

.pk-magic-book-shell::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 1.5%;
    width: 64%;
    height: 8%;
    transform: translateX(-50%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, .46), transparent 72%);
    z-index: 0;
    pointer-events: none;
}

.pk-magic-book {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: auto;
}

.pk-magic-book-middle-shell {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 840px;
    height: 566px;
    transform: translate(-50%, -50%);
    display: flex;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: none;
}

.pk-magic-book.is-shell-left .pk-magic-book-middle-shell,
.pk-magic-book.is-shell-right .pk-magic-book-middle-shell {
    opacity: 1;
    visibility: visible;
}

.pk-magic-book-middle-shell__side {
    display: block;
    width: 50%;
    height: 100%;
    opacity: 0;
    visibility: hidden;
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
}

.pk-magic-book-middle-shell__side--left {
    background-image: url('../../images/pautinka-home/screen-04-magic/magic-book-open-left.webp');
}

.pk-magic-book-middle-shell__side--right {
    background-image: url('../../images/pautinka-home/screen-04-magic/magic-book-open-right.webp');
}

.pk-magic-book.is-shell-left .pk-magic-book-middle-shell__side--left,
.pk-magic-book.is-shell-right .pk-magic-book-middle-shell__side--right {
    opacity: 1;
    visibility: visible;
}

.pk-magic-book-middle-shell::after { content: none; }


.pk-magic-flip-stage {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 2;
    width: 840px;
    height: 566px;
    transform: translate(-50%, -50%);
    overflow: hidden;
    background: transparent;
    touch-action: none;
}

.pk-magic-flip-source {
    position: absolute;
    inset: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.pk-magic-flip-source.is-mounted { display: none; }

.pk-magic-page {
    position: relative;
    overflow: hidden;
    background: transparent;
    color: #261807;
    box-sizing: border-box;
    box-shadow: none;
}

.pk-magic-page--cover,
.pk-magic-page--inside-cover {
    background: transparent !important;
    box-shadow: none !important;
}

.pk-magic-page--cover img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    object-fit: cover;
    object-position: center center;
    background: transparent;
    filter: none;
    pointer-events: none;
    user-select: none;
}

.pk-magic-page--inside-cover::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 0;
    background-position: center center;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    filter: none;
    pointer-events: none;
}

.pk-magic-page--inside-front::before {
    background-image: url('../../images/pautinka-home/screen-04-magic/magic-book-open-left.webp');
}

.pk-magic-page--inside-back::before {
    background-image: url('../../images/pautinka-home/screen-04-magic/magic-book-open-right.webp');
}

.pk-magic-page--inside-cover::after {
    content: '';
    position: absolute;
    inset: 7% 7.2%;
    z-index: 1;
    border-radius: 10px;
    background:
        radial-gradient(circle at 50% 18%, rgba(229, 177, 255, .10), transparent 34%),
        linear-gradient(90deg, rgba(22, 9, 37, .16), transparent 18%, transparent 82%, rgba(22, 9, 37, .16));
    box-shadow: inset 0 0 18px rgba(245, 198, 255, .06);
    opacity: .46;
    pointer-events: none;
}

.pk-magic-page--paper {
    background: transparent;
}

.pk-magic-page--paper::before {
    content: '';
    position: absolute;
    inset: 5.7% 5.2%;
    z-index: 0;
    border-radius: 4px;
    box-shadow:
        inset 0 0 0 1px rgba(116, 75, 33, .28),
        0 8px 18px rgba(0, 0, 0, .08);
    background:
        linear-gradient(90deg, rgba(80, 47, 20, .15), transparent 12%, transparent 88%, rgba(80, 47, 20, .13)),
        url('../../images/pautinka-home/screen-04-magic/magic-paper.webp') center / cover no-repeat;
    pointer-events: none;
}

.pk-magic-flip-stage .stf__item.--left .pk-magic-page--paper::before {
    inset: 5.7% 5.8% 5.7% 4.4%;
}

.pk-magic-flip-stage .stf__item.--right .pk-magic-page--paper::before {
    inset: 5.7% 4.4% 5.7% 5.8%;
}

.pk-magic-page--paper::after {
    content: '';
    position: absolute;
    top: 5.7%;
    bottom: 5.7%;
    z-index: 1;
    width: 12px;
    opacity: .55;
    pointer-events: none;
}

.pk-magic-flip-stage .stf__item.--left .pk-magic-page--paper::after {
    right: 4.4%;
    background: linear-gradient(90deg, rgba(24, 11, 7, 0), rgba(48, 25, 13, .28) 72%, rgba(84, 52, 30, .18) 100%);
}

.pk-magic-flip-stage .stf__item.--right .pk-magic-page--paper::after {
    left: 4.4%;
    background: linear-gradient(90deg, rgba(84, 52, 30, .18) 0%, rgba(48, 25, 13, .28) 28%, rgba(24, 11, 7, 0) 100%);
}

.pk-magic-page__inner {
    position: absolute;
    inset: 13.2% 13.4% 12.4%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 12px;
    text-align: center;
}

.pk-magic-page h3 {
    margin: 0;
    font-family: PautinkaMagic, Magic, Cinzel, Georgia, serif !important;
    font-size: clamp(24px, 1.9vw, 36px);
    line-height: 1;
    letter-spacing: .02em;
    color: #2c170b;
}

.pk-magic-page p,
.pk-magic-page__text {
    margin: 0;
    font-family: PautinkaMagic, Magic, Cinzel, Georgia, serif !important;
    font-size: clamp(12px, .8vw, 15px);
    line-height: 1.44;
    color: rgba(44, 27, 13, .86);
}

.pk-magic-page__text { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; margin-top: 2px; }

.pk-magic-page__image {
    position: relative;
    display: block;
    width: 84%;
    aspect-ratio: 1353 / 969;
    margin: 2px auto 0;
    overflow: hidden;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: inherit;
    text-decoration: none;
}

.pk-magic-page__image::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: url('../../images/pautinka-home/screen-04-magic/magic-picture-frame.webp') center / 100% 100% no-repeat;
    pointer-events: none;
}

.pk-magic-page__image img {
    position: absolute;
    inset: 5.4% 6.2% 6.1%;
    width: auto;
    height: auto;
    max-width: 88.8%;
    max-height: 88.6%;
    object-fit: cover;
    margin: auto;
    border-radius: 2px;
}

.pk-magic-page__cta {
    position: relative;
    align-self: center;
    margin-top: 6px;
    padding: 2px 0;
    border: 0;
    color: #4a2413;
    font-family: PautinkaMagic, Magic, Cinzel, Georgia, serif !important;
    font-size: 17px;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: none;
    text-decoration: none;
    background: transparent;
    box-shadow: none;
    transition: transform .22s ease, text-shadow .22s ease, color .22s ease;
}

.pk-magic-page__cta::before,
.pk-magic-page__cta::after {
    display: inline-block;
    color: rgba(96, 46, 124, .92);
    font-size: .92em;
    transform: translateY(-1px);
}

.pk-magic-page__cta::before {
    content: '✦';
    margin-right: 10px;
}

.pk-magic-page__cta::after {
    content: '✦';
    margin-left: 10px;
}

.pk-magic-page__cta:hover,
.pk-magic-page__cta:focus-visible {
    color: #6b2dde;
    transform: translateY(-1px) scale(1.04);
    text-shadow: 0 0 12px rgba(118, 57, 255, .32), 0 6px 14px rgba(55, 27, 88, .18);
}

.pk-magic-flip-stage.stf__parent {
    position: absolute !important;
    display: block !important;
    width: 840px !important;
    height: 566px !important;
    min-width: 840px !important;
    min-height: 566px !important;
    max-width: 840px !important;
    max-height: 566px !important;
    box-sizing: border-box !important;
    background: transparent !important;
    overflow: hidden !important;
    transform: translate(-50%, -50%) !important;
}

.pk-magic-flip-stage .stf__wrapper,
.pk-magic-flip-stage .sft__wrapper { position: relative !important; width: 100% !important; height: 100% !important; padding-bottom: 0 !important; overflow: hidden !important; background: transparent !important; }
.pk-magic-flip-stage canvas,
.pk-magic-flip-stage .stf__parent,
.pk-magic-flip-stage .stf__wrapper,
.pk-magic-flip-stage .stf__block,
.pk-magic-flip-stage .stf__page,
.pk-magic-flip-stage .stf__item { background: transparent !important; }
.pk-magic-flip-stage .stf__block { position: absolute !important; inset: 0 !important; z-index: 2; width: 100% !important; height: 100% !important; overflow: hidden !important; background: transparent !important; perspective: 2200px; }
.pk-magic-flip-stage .stf__item {
    overflow: hidden !important;
    border-radius: 0;
    transform-style: preserve-3d;
    box-shadow: none;
    background: transparent !important;
}
.pk-magic-flip-stage .stf__item.--left {
    box-shadow: inset -10px 0 18px rgba(68, 43, 22, .08);
    background: transparent !important;
}
.pk-magic-book.is-paper-spread .pk-magic-flip-stage .stf__item.--left {
    box-shadow: inset -4px 0 6px rgba(68, 43, 22, .03);
}
.pk-magic-flip-stage .stf__item.--right {
    box-shadow: inset 10px 0 18px rgba(68, 43, 22, .08);
    background: transparent !important;
}
.pk-magic-book.is-paper-spread .pk-magic-flip-stage .stf__item.--right {
    box-shadow: inset 4px 0 6px rgba(68, 43, 22, .03);
}


.pk-magic-book.is-paper-spread .pk-magic-flip-stage::before {
    content: '';
    position: absolute;
    left: 50%;
    top: 5.8%;
    bottom: 5.8%;
    z-index: 1;
    width: 118px;
    transform: translateX(-50%);
    background:
        linear-gradient(90deg,
            rgba(52, 30, 14, 0) 0%,
            rgba(52, 30, 14, .012) 18%,
            rgba(52, 30, 14, .05) 30%,
            rgba(52, 30, 14, .11) 39%,
            rgba(52, 30, 14, .20) 45%,
            rgba(52, 30, 14, .28) 49%,
            rgba(52, 30, 14, .32) 50%,
            rgba(52, 30, 14, .28) 51%,
            rgba(52, 30, 14, .20) 55%,
            rgba(52, 30, 14, .11) 61%,
            rgba(52, 30, 14, .05) 70%,
            rgba(52, 30, 14, .012) 82%,
            rgba(52, 30, 14, 0) 100%);
    pointer-events: none;
}

.pk-magic-book.is-paper-spread .pk-magic-flip-stage::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 5.8%;
    bottom: 5.8%;
    z-index: 1;
    width: 55px;
    transform: translateX(-50%);
    background:
        linear-gradient(90deg,
            rgba(92, 62, 32, .05) 0%,
            rgba(64, 39, 18, .14) 22%,
            rgba(34, 18, 7, .46) 50%,
            rgba(64, 39, 18, .14) 78%,
            rgba(92, 62, 32, .05) 100%),
        url('../../images/pautinka-home/screen-04-magic/magic-paper.webp') center / cover no-repeat;
    background-blend-mode: multiply;
    opacity: 1;
    pointer-events: none;
}

.pk-magic-flip-stage .stf__outerShadow,
.pk-magic-flip-stage .stf__innerShadow,
.pk-magic-flip-stage .stf__hardShadow,
.pk-magic-flip-stage .stf__hardInnerShadow { pointer-events: none; }

.pk-magic-particles { display: none; }

.pk-magic-book__nav {
    pointer-events: auto;
    position: absolute;
    top: 50%;
    z-index: 12;
    width: 44px;
    height: 44px;
    border: 1px solid rgba(244, 205, 151, .38);
    border-radius: 50%;
    background: rgba(12, 9, 19, .66);
    color: #fff5d4;
    font-size: 28px;
    line-height: 1;
    display: grid;
    place-items: center;
    cursor: pointer;
    box-shadow: 0 0 18px rgba(128, 62, 255, .26);
    transition: opacity .25s ease, transform .25s ease, border-color .25s ease;
}
.pk-magic-book__nav:hover { transform: translateY(-1px) scale(1.04); border-color: rgba(244, 205, 151, .72); }
.pk-magic-book__nav--prev { left: -52px; }
.pk-magic-book__nav--next { right: -52px; }
.pk-magic-book__nav[disabled] { opacity: .28; cursor: default; transform: none; }
.pk-magic-book.is-busy .pk-magic-book__nav { opacity: .4; pointer-events: none; }


.pk-magic-features {
    position: absolute;
    left: 50%;
    bottom: clamp(14px, 2vh, 26px);
    z-index: 16;
    width: min(980px, 68vw);
    transform: translateX(-50%);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border: 1px solid rgba(236, 199, 138, .28);
    background:
        linear-gradient(180deg, rgba(32, 18, 50, .74), rgba(12, 9, 23, .8)),
        radial-gradient(circle at 50% 0%, rgba(135, 80, 255, .22), transparent 58%);
    backdrop-filter: blur(10px);
    box-shadow: 0 0 28px rgba(0, 0, 0, .42), inset 0 0 24px rgba(255, 255, 255, .03);
}
.pk-magic-feature {
    min-height: 68px;
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto auto;
    align-content: center;
    column-gap: 12px;
    padding: 12px 18px;
    border-right: 1px solid rgba(236, 199, 138, .16);
}
.pk-magic-feature:last-child { border-right: 0; }
.pk-magic-feature i {
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(235, 198, 139, .32);
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #f1d797;
    background: rgba(110, 55, 176, .22);
}
.pk-magic-feature b {
    font-family: PautinkaMagic, Magic, Cinzel, Georgia, serif;
    font-size: 16px;
    line-height: 1;
    color: #f4daa3;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.pk-magic-feature span {
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.32;
    color: rgba(255, 249, 233, .78);
}

.pk-magic-scroll {
    position: absolute;
    right: clamp(24px, 3.2vw, 58px);
    bottom: clamp(74px, 9vh, 112px);
    z-index: 17;
    width: 34px;
    height: 52px;
    border: 1px solid rgba(238, 199, 138, .35);
    border-radius: 24px;
    display: grid;
    place-items: center;
    pointer-events: auto;
}
.pk-magic-scroll span {
    width: 6px;
    height: 6px;
    border-right: 1px solid #f3d89a;
    border-bottom: 1px solid #f3d89a;
    transform: rotate(45deg);
}

@keyframes pkMagicBgBreath {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}
@keyframes pkMagicBgBreathMobile {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}

@media (max-width: 1380px) {
    .pk-magic-core { width: clamp(920px, 70vw, 1260px); height: clamp(560px, 66vh, 780px); }
    .pk-magic-book-shell { width: clamp(760px, 57vw, 960px); height: clamp(520px, 40vw, 620px); }
    .pk-magic-flip-stage,
    .pk-magic-flip-stage.stf__parent { width: 88% !important; height: auto !important; aspect-ratio: 840 / 566; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important; }
    .pk-magic-book-middle-shell { width: 88%; height: auto; aspect-ratio: 840 / 566; }
    .pk-magic-features { width: min(940px, 76vw); }
}
@media (max-width: 1024px) {
    .pk-magic-heading { top: 82px; width: 86vw; }
    .pk-magic-heading h2 { font-size: clamp(62px, 11vw, 112px); }
    .pk-magic-kicker span { width: 38px; }
    .pk-magic-side, .pk-magic-decor--hanging, .pk-magic-decor--potions { display: none; }
    .pk-magic-core { width: 100vw; height: 53vh; bottom: 94px; }
    .pk-magic-lectern { width: 96%; bottom: -18%; }
    .pk-magic-book-shell { width: min(760px, 80vw); height: min(520px, 56vw); top: 22%; }
    .pk-magic-flip-stage,
    .pk-magic-flip-stage.stf__parent { width: 88% !important; height: auto !important; aspect-ratio: 840 / 566; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important; }
    .pk-magic-book-middle-shell { width: 88%; height: auto; aspect-ratio: 840 / 566; }
    .pk-magic-features { width: 92vw; grid-template-columns: repeat(2, 1fr); bottom: 14px; }
    .pk-magic-feature { min-height: 56px; padding: 9px 12px; }
}
@media (max-width: 700px) {
    .pk-magic-bg { animation: pkMagicBgBreathMobile 60s ease-in-out infinite; }
    .pk-magic-rooftop { width: 165vw; bottom: 2vh; }
    .pk-magic-heading { top: 74px; }
    .pk-magic-heading h2 { font-size: clamp(52px, 16vw, 82px); }
    .pk-magic-heading p { font-size: 13px; max-width: 310px; margin-bottom: 12px; }
    .pk-magic-cta { min-height: 36px; min-width: 164px; font-size: 10px; }
    .pk-magic-core { width: 110vw; height: 40vh; bottom: 126px; }
    .pk-magic-lectern { width: 108%; bottom: -6%; }
    .pk-magic-book-shell { width: min(560px, 86vw); height: min(420px, 62vw); top: 25%; }
    .pk-magic-flip-stage,
    .pk-magic-flip-stage.stf__parent { width: 90% !important; height: auto !important; aspect-ratio: 840 / 566; min-width: 0 !important; min-height: 0 !important; max-width: none !important; max-height: none !important; }
    .pk-magic-book-middle-shell { width: 90%; height: auto; aspect-ratio: 840 / 566; }
    .pk-magic-book__nav { width: 38px; height: 38px; font-size: 24px; }
    .pk-magic-book__nav--prev { left: -42px; }
    .pk-magic-book__nav--next { right: -42px; }
    .pk-magic-page__inner { inset: 8%; gap: 8px; }
    .pk-magic-page h3 { font-size: 22px; }
    .pk-magic-page p, .pk-magic-page__text { font-size: 12px; line-height: 1.34; }
    .pk-magic-features { grid-template-columns: 1fr 1fr; width: 94vw; }
    .pk-magic-feature { grid-template-columns: 28px 1fr; column-gap: 7px; min-height: 48px; padding: 7px 8px; }
    .pk-magic-feature i { width: 28px; height: 28px; font-size: 14px; }
    .pk-magic-feature b { font-size: 12px; }
    .pk-magic-feature span { display: none; }
    .pk-magic-scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .pk-magic-bg { animation: none; }
}


.pk-magic-page__media {
    width: calc(100% - 18px);
    margin-left: auto;
    margin-right: auto;
}

.pk-magic-page__media img,
.pk-magic-page__media-frame {
    width: 100%;
}


.pk-screen.pk-magic-screen,
.pk-magic-screen.pk-collection--magic{
    padding:0 !important;
    margin-top:-1px !important;
    margin-bottom:-1px !important;
    min-height:100vh !important;
    min-height:100svh !important;
    height:100vh !important;
    height:100svh !important;
    overflow:hidden !important;
    background:#030712 !important;
}
.pk-magic-stage{
    padding:0 !important;
    min-height:100% !important;
    height:100% !important;
    overflow:hidden !important;
}
.pk-magic-bg{
    inset:-1px 0 !important;
}
.pk-magic-bg img{
    object-position:center center !important;
}
.pk-magic-veil{
    background:
        radial-gradient(circle at 50% 30%, rgba(128,84,255,.15), transparent 34%),
        radial-gradient(circle at 50% 84%, rgba(112,56,196,.20), transparent 42%),
        linear-gradient(180deg, rgba(2,6,18,.08) 0%, rgba(2,6,18,.05) 46%, rgba(2,6,18,.18) 100%) !important;
}
.pk-magic-veil::before{
    content:'';
    position:absolute;
    inset:0;
    z-index:2;
    pointer-events:none;
    background:
        linear-gradient(90deg, rgba(1,4,13,.58) 0%, rgba(1,4,13,.18) 3.5%, rgba(1,4,13,0) 7%, rgba(1,4,13,0) 93%, rgba(1,4,13,.18) 96.5%, rgba(1,4,13,.58) 100%),
        linear-gradient(180deg, rgba(1,4,13,.48) 0%, rgba(1,4,13,.12) 3.5%, rgba(1,4,13,0) 7%, rgba(1,4,13,0) 92.5%, rgba(1,4,13,.14) 96%, rgba(1,4,13,.50) 100%);
}

.pk-magic-heading{
    top:clamp(88px,9.4vh,132px) !important;
    width:min(1080px,84vw) !important;
}
.pk-magic-kicker{
    margin-bottom:10px !important;
    text-transform:uppercase !important;
    letter-spacing:.42em !important;
}
.pk-magic-heading h2{
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:clamp(68px,5.35vw,122px) !important;
    line-height:.98 !important;
    font-weight:700 !important;
    letter-spacing:.015em !important;
    text-transform:none !important;
    white-space:nowrap !important;
    padding-top:.04em !important;
    margin:0 0 8px !important;
    overflow:visible !important;
}
.pk-magic-heading h2::after{
    width:min(320px,42vw) !important;
    margin:5px auto 16px !important;
}
.pk-magic-heading p{
    max-width:760px !important;
    margin-bottom:20px !important;
}

.pk-magic-core{
    bottom:clamp(84px,8.8vh,124px) !important;
}
.pk-magic-lectern{
    width:13.5% !important;
    bottom:6% !important;
    opacity:.92 !important;
    filter:drop-shadow(0 18px 24px rgba(0,0,0,.68)) !important;
}

.pk-magic-side{
    top:16vh !important;
    height:clamp(420px,66.666vh,1380px) !important;
    width:auto !important;
    max-width:none !important;
    object-fit:contain !important;
    opacity:.42 !important;
    filter:drop-shadow(0 0 18px rgba(130,80,255,.12)) !important;
}
.pk-magic-side--left{
    left:clamp(-160px,-4.2vw,-42px) !important;
    right:auto !important;
    transform:none !important;
    transform-origin:center top !important;
}
.pk-magic-side--right{
    right:clamp(-160px,-4.2vw,-42px) !important;
    left:auto !important;
    transform:scaleX(-1) !important;
    transform-origin:center top !important;
}

.pk-magic-decor--hanging{
    left:clamp(96px,6.4vw,188px) !important;
    top:clamp(-16px,-.8vh,-4px) !important;
    width:clamp(152px,8.7vw,218px) !important;
    opacity:1 !important;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.48)) drop-shadow(0 0 18px rgba(145,86,255,.22)) !important;
}
.pk-magic-stage::after{
    content:'' !important;
    position:absolute !important;
    right:clamp(96px,6.4vw,188px) !important;
    top:clamp(-16px,-.8vh,-4px) !important;
    z-index:7 !important;
    width:clamp(152px,8.7vw,218px) !important;
    height:clamp(198px,24vh,330px) !important;
    background:url('../../images/pautinka-home/screen-04-magic/magic-hanging-ornaments.webp') center top / contain no-repeat !important;
    transform:scaleX(-1) !important;
    transform-origin:center top !important;
    opacity:1 !important;
    filter:drop-shadow(0 8px 16px rgba(0,0,0,.48)) drop-shadow(0 0 18px rgba(145,86,255,.22)) !important;
    pointer-events:none !important;
}
.pk-magic-decor--potions{
    right:clamp(6px,1vw,24px) !important;
    bottom:clamp(-8px,-.4vh,8px) !important;
    z-index:6 !important;
    width:clamp(176px,10.8vw,260px) !important;
    opacity:.96 !important;
    filter:drop-shadow(0 16px 22px rgba(0,0,0,.54)) drop-shadow(0 0 14px rgba(145,86,255,.14)) !important;
}


.pk-magic-scroll{
    left:50% !important;
    right:auto !important;
    bottom:clamp(108px,10.8vh,144px) !important;
    transform:translateX(-50%) !important;
    z-index:17 !important;
    background:rgba(7,17,32,.46) !important;
    border-color:rgba(238,199,138,.36) !important;
    box-shadow:0 0 18px rgba(113,80,255,.22), inset 0 0 14px rgba(255,255,255,.04) !important;
}
.pk-magic-features{
    width:min(1080px,78vw) !important;
    bottom:clamp(16px,2vh,30px) !important;
    gap:14px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
}
.pk-magic-feature{
    position:relative !important;
    overflow:hidden !important;
    min-height:72px !important;
    padding:12px 18px !important;
    border-radius:20px !important;
    border:1px solid rgba(236,199,138,.16) !important;
    background:
        linear-gradient(180deg, rgba(255,255,255,.095), rgba(255,255,255,.026)),
        linear-gradient(180deg, rgba(78,42,136,.16), rgba(12,9,25,.08)) !important;
    backdrop-filter:blur(18px) saturate(138%) !important;
    box-shadow:0 0 22px rgba(145,86,255,.18), 0 12px 24px rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.14), inset 0 0 18px rgba(174,116,255,.08) !important;
}
.pk-magic-feature::before{
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:radial-gradient(circle at 18% 0%, rgba(255,236,180,.13), transparent 38%);
    opacity:.85;
}
.pk-magic-feature i,
.pk-magic-feature b,
.pk-magic-feature span{
    position:relative;
    z-index:1;
}
.pk-magic-feature i{
    background:rgba(109,66,184,.13) !important;
    border-color:rgba(235,198,139,.20) !important;
    box-shadow:inset 0 0 12px rgba(174,116,255,.10) !important;
}
.pk-magic-feature b{
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:17px !important;
    text-transform:none !important;
    letter-spacing:.02em !important;
}
.pk-magic-feature span{
    color:rgba(255,249,233,.78) !important;
}

@media (min-width:2200px){
    .pk-magic-heading{top:clamp(104px,6.2vh,136px) !important;width:min(1180px,70vw) !important;}
    .pk-magic-heading h2{font-size:clamp(96px,4.6vw,154px) !important;}
    .pk-magic-core{width:clamp(1180px,66vw,1540px) !important;height:clamp(640px,64vh,880px) !important;bottom:clamp(94px,5.4vh,124px) !important;}
    .pk-magic-lectern{width:13% !important;}
    .pk-magic-side{height:66.666vh !important;}
    .pk-magic-features{width:min(1160px,64vw) !important;}
}

@media (max-width:1600px){
    .pk-magic-heading{top:clamp(82px,9.2vh,112px) !important;}
    .pk-magic-heading h2{font-size:clamp(60px,5.4vw,104px) !important;}
    .pk-magic-side{height:clamp(400px,66.666vh,820px) !important;}
    .pk-magic-side--left{left:clamp(-122px,-4vw,-36px) !important;}
    .pk-magic-side--right{right:clamp(-122px,-4vw,-36px) !important;}
    .pk-magic-decor--hanging{width:clamp(134px,8.8vw,186px) !important;}
    .pk-magic-stage::after{width:clamp(134px,8.8vw,186px) !important;height:clamp(178px,22vh,286px) !important;}
    .pk-magic-decor--potions{width:clamp(156px,9.8vw,214px) !important;}
}

@media (max-height:820px) and (min-width:901px){
    .pk-magic-heading{top:clamp(78px,10.2vh,94px) !important;}
    .pk-magic-heading h2{font-size:clamp(54px,4.75vw,90px) !important;}
    .pk-magic-heading p{font-size:clamp(13px,.88vw,16px) !important;margin-bottom:14px !important;}
    .pk-magic-core{width:clamp(980px,70vw,1240px) !important;height:clamp(500px,61vh,660px) !important;bottom:86px !important;}
    .pk-magic-book-shell{width:clamp(760px,55vw,900px) !important;height:clamp(520px,37vw,620px) !important;top:20% !important;}
    .pk-magic-lectern{width:14.5% !important;bottom:6% !important;}
    .pk-magic-side{top:clamp(92px,13.4vh,120px) !important;height:66.666vh !important;min-height:360px !important;}
    .pk-magic-scroll{bottom:clamp(92px,12.8vh,116px) !important;}
    .pk-magic-features{width:min(1020px,80vw) !important;bottom:12px !important;gap:10px !important;}
    .pk-magic-feature{min-height:64px !important;padding:10px 16px !important;}
}

@media (max-width:1024px) and (min-width:769px){
    .pk-magic-heading{top:88px !important;width:90vw !important;}
    .pk-magic-heading h2{font-size:clamp(54px,7.4vw,88px) !important;white-space:normal !important;}
    .pk-magic-side{height:64vh !important;min-height:390px !important;opacity:.34 !important;}
    .pk-magic-side--left{left:-54px !important;}
    .pk-magic-side--right{right:-54px !important;}
    .pk-magic-decor--hanging,.pk-magic-stage::after{width:124px !important;}
    .pk-magic-decor--hanging{left:56px !important;}
    .pk-magic-stage::after{right:56px !important;height:178px !important;}
    .pk-magic-features{width:92vw !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}


@media (max-width:768px){
    .pk-screen.pk-magic-screen,
    .pk-magic-screen.pk-collection--magic{
        min-height:100vh !important;
        min-height:100svh !important;
        height:100vh !important;
        height:100svh !important;
        overflow:hidden !important;
    }
    .pk-magic-stage{
        min-height:100% !important;
        height:100% !important;
        padding:clamp(86px,10.4svh,112px) 12px clamp(12px,1.8svh,20px) !important;
        display:grid !important;
        grid-template-rows:auto auto 1fr !important;
        align-items:start !important;
        justify-items:center !important;
        row-gap:clamp(8px,1.4svh,14px) !important;
    }
    .pk-magic-bg{
        inset:0 !important;
        animation:pkMagicBgBreathMobile 36s ease-in-out infinite !important;
    }
    .pk-magic-bg img{
        object-position:center center !important;
    }
    .pk-magic-rooftop,
    .pk-magic-side,
    .pk-magic-decor,
    .pk-magic-candle,
    .pk-magic-lectern,
    .pk-magic-stage::after,
    .pk-magic-scroll{
        display:none !important;
    }
    .pk-magic-veil::before{
        background:linear-gradient(180deg, rgba(1,4,13,.30) 0%, rgba(1,4,13,0) 24%, rgba(1,4,13,0) 78%, rgba(1,4,13,.42) 100%) !important;
    }

    .pk-magic-heading{
        position:relative !important;
        top:auto !important;
        left:auto !important;
        transform:none !important;
        width:min(94vw,560px) !important;
        margin:0 auto !important;
        z-index:14 !important;
    }
    .pk-magic-kicker{
        margin-bottom:7px !important;
        gap:10px !important;
        font-size:clamp(10px,2.45vw,13px) !important;
        letter-spacing:.32em !important;
    }
    .pk-magic-kicker span{width:clamp(32px,9vw,54px) !important;}
    .pk-magic-heading h2{
        font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
        font-size:clamp(44px,12.2vw,68px) !important;
        line-height:.94 !important;
        text-transform:none !important;
        white-space:normal !important;
        letter-spacing:.01em !important;
        margin-bottom:6px !important;
    }
    .pk-magic-heading h2::after{width:min(220px,50vw) !important;margin:3px auto 9px !important;}
    .pk-magic-heading p{max-width:92vw !important;font-size:clamp(12px,2.8vw,14px) !important;line-height:1.32 !important;margin-bottom:10px !important;}
    .pk-magic-cta{min-width:clamp(164px,48vw,238px) !important;min-height:36px !important;padding:0 20px !important;font-size:clamp(10px,2.5vw,12px) !important;}

    .pk-magic-core{
        --pk-mobile-book-scale:.58;
        position:relative !important;
        left:auto !important;
        bottom:auto !important;
        transform:none !important;
        width:100% !important;
        height:clamp(300px,37svh,390px) !important;
        min-height:0 !important;
        margin:0 auto !important;
        z-index:12 !important;
        display:block !important;
        overflow:visible !important;
    }
    .pk-magic-book-shell{
        position:absolute !important;
        left:50% !important;
        top:50% !important;
        width:840px !important;
        height:566px !important;
        aspect-ratio:auto !important;
        transform:translate(-50%,-50%) scale(var(--pk-mobile-book-scale)) !important;
        transform-origin:center center !important;
        overflow:visible !important;
        filter:drop-shadow(0 20px 28px rgba(0,0,0,.58)) !important;
        z-index:3 !important;
    }
    .pk-magic-book,
    .pk-magic-book-shell::after{
        overflow:visible !important;
    }
    .pk-magic-flip-stage,
    .pk-magic-flip-stage.stf__parent{
        width:840px !important;
        height:566px !important;
        min-width:840px !important;
        min-height:566px !important;
        max-width:840px !important;
        max-height:566px !important;
        transform:translate(-50%,-50%) !important;
        overflow:hidden !important;
        aspect-ratio:auto !important;
    }
    .pk-magic-book-middle-shell{
        width:840px !important;
        height:566px !important;
        min-width:840px !important;
        min-height:566px !important;
        max-width:840px !important;
        max-height:566px !important;
        transform:translate(-50%,-50%) !important;
        aspect-ratio:auto !important;
    }
    .pk-magic-flip-stage .stf__wrapper,
    .pk-magic-flip-stage .sft__wrapper{
        width:100% !important;
        height:100% !important;
        overflow:hidden !important;
    }
    .pk-magic-book__nav{display:none !important;}

    .pk-magic-features{
        position:relative !important;
        left:auto !important;
        bottom:auto !important;
        transform:none !important;
        width:calc(100vw - 24px) !important;
        max-width:620px !important;
        margin:0 auto !important;
        display:grid !important;
        grid-template-columns:1fr !important;
        gap:clamp(8px,1.2svh,12px) !important;
        z-index:14 !important;
    }
    .pk-magic-feature{
        width:100% !important;
        min-height:clamp(56px,7.3svh,76px) !important;
        grid-template-columns:clamp(38px,9vw,52px) 1fr !important;
        column-gap:clamp(10px,2.4vw,16px) !important;
        align-content:center !important;
        padding:clamp(8px,1.25svh,12px) clamp(12px,3vw,18px) !important;
        border-radius:clamp(16px,4vw,22px) !important;
    }
    .pk-magic-feature i{
        width:clamp(36px,8.8vw,50px) !important;
        height:clamp(36px,8.8vw,50px) !important;
        font-size:clamp(15px,3.6vw,20px) !important;
    }
    .pk-magic-feature b{
        font-size:clamp(17px,4.8vw,24px) !important;
        line-height:.98 !important;
    }
    .pk-magic-feature span{
        display:block !important;
        font-size:clamp(10px,2.55vw,12px) !important;
        line-height:1.18 !important;
        margin-top:3px !important;
    }
}

@media (max-width:600px){
    .pk-magic-core{
        --pk-mobile-book-scale:.50;
        height:clamp(268px,34svh,330px) !important;
    }
}
@media (max-width:480px){
    .pk-magic-stage{
        padding:clamp(82px,10svh,104px) 10px 12px !important;
        row-gap:7px !important;
    }
    .pk-magic-heading{width:95vw !important;}
    .pk-magic-heading h2{font-size:clamp(38px,11.2vw,52px) !important;}
    .pk-magic-heading p{font-size:12px !important;margin-bottom:8px !important;}
    .pk-magic-cta{min-height:34px !important;}
    .pk-magic-core{
        --pk-mobile-book-scale:.44;
        height:clamp(242px,31svh,286px) !important;
    }
    .pk-magic-features{
        width:calc(100vw - 20px) !important;
        gap:7px !important;
    }
    .pk-magic-feature{
        min-height:clamp(52px,6.8svh,66px) !important;
        padding:8px 11px !important;
    }
    .pk-magic-feature b{font-size:clamp(16px,4.5vw,21px) !important;}
    .pk-magic-feature span{font-size:10px !important;}
}
@media (max-width:380px){
    .pk-magic-core{
        --pk-mobile-book-scale:.40;
        height:230px !important;
    }
}
@media (max-height:740px) and (max-width:768px){
    .pk-magic-stage{padding-top:72px !important;row-gap:5px !important;}
    .pk-magic-kicker{display:none !important;}
    .pk-magic-heading h2{font-size:clamp(32px,9.2vw,48px) !important;}
    .pk-magic-heading p{font-size:11px !important;margin-bottom:7px !important;}
    .pk-magic-cta{min-height:31px !important;}
    .pk-magic-core{
        --pk-mobile-book-scale:.38;
        height:218px !important;
    }
    .pk-magic-feature{min-height:42px !important;padding:6px 10px !important;}
    .pk-magic-feature span{display:none !important;}
}


.pk-magic-heading,
.pk-magic-heading *,
.pk-magic-feature b{
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-synthesis:none !important;
}

.pk-magic-heading{
    overflow:visible !important;
    width:min(1180px,86vw) !important;
}

.pk-magic-kicker,
.pk-magic-kicker b{
    font-size:clamp(18px,1.08vw,25px) !important;
    line-height:1.28 !important;
    letter-spacing:.055em !important;
    text-transform:none !important;
    font-weight:700 !important;
    color:#f4d99c !important;
}

.pk-magic-kicker{
    margin-bottom:clamp(2px,.55vh,8px) !important;
}

.pk-magic-heading h2{
    display:inline-block !important;
    max-width:100% !important;
    overflow:visible !important;
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:clamp(74px,5.2vw,126px) !important;
    line-height:1.16 !important;
    padding:.13em .06em .23em !important;
    margin:-.12em auto -.08em !important;
    letter-spacing:.012em !important;
    text-transform:none !important;
    white-space:nowrap !important;
    font-weight:700 !important;
    filter:drop-shadow(0 0 12px rgba(195,126,255,.44)) drop-shadow(0 12px 22px rgba(4,4,22,.84)) !important;
}

.pk-magic-heading h2::after{
    width:min(330px,42vw) !important;
    height:20px !important;
    margin:-.08em auto clamp(10px,1.1vh,18px) !important;
}

.pk-magic-heading p{
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:clamp(18px,1.05vw,25px) !important;
    line-height:1.34 !important;
    letter-spacing:.015em !important;
    max-width:900px !important;
    margin-bottom:clamp(14px,1.6vh,24px) !important;
}

.pk-magic-cta{
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:clamp(17px,.96vw,22px) !important;
    line-height:1.2 !important;
    letter-spacing:.02em !important;
    text-transform:none !important;
    min-height:clamp(42px,4.6vh,54px) !important;
    padding:0 clamp(28px,2.1vw,42px) !important;
    overflow:visible !important;
}

@media (min-width:2200px){
    .pk-magic-heading{
        width:min(1320px,72vw) !important;
    }
    .pk-magic-heading h2{
        font-size:clamp(112px,4.8vw,164px) !important;
        line-height:1.15 !important;
    }
    .pk-magic-kicker,
    .pk-magic-kicker b{
        font-size:clamp(22px,1vw,30px) !important;
    }
    .pk-magic-heading p{
        font-size:clamp(22px,.95vw,30px) !important;
    }
}

@media (max-width:1600px){
    .pk-magic-heading{
        width:min(1040px,86vw) !important;
    }
    .pk-magic-heading h2{
        font-size:clamp(62px,5.2vw,108px) !important;
        line-height:1.16 !important;
    }
    .pk-magic-kicker,
    .pk-magic-kicker b{
        font-size:clamp(16px,1.08vw,22px) !important;
    }
    .pk-magic-heading p{
        font-size:clamp(16px,1.04vw,22px) !important;
    }
    .pk-magic-cta{
        font-size:clamp(15px,.98vw,20px) !important;
        min-height:clamp(38px,4.4vh,48px) !important;
    }
}

@media (max-height:820px) and (min-width:901px){
    .pk-magic-heading{
        top:clamp(72px,9.2vh,92px) !important;
    }
    .pk-magic-heading h2{
        font-size:clamp(56px,4.65vw,94px) !important;
        line-height:1.15 !important;
        padding:.12em .06em .21em !important;
    }
    .pk-magic-kicker,
    .pk-magic-kicker b{
        font-size:clamp(15px,1vw,20px) !important;
    }
    .pk-magic-heading p{
        font-size:clamp(15px,.94vw,19px) !important;
        margin-bottom:12px !important;
    }
    .pk-magic-cta{
        font-size:clamp(14px,.9vw,18px) !important;
        min-height:36px !important;
    }
}

@media (max-width:1024px) and (min-width:769px){
    .pk-magic-heading{
        width:92vw !important;
    }
    .pk-magic-heading h2{
        font-size:clamp(58px,7.2vw,92px) !important;
        line-height:1.16 !important;
        white-space:normal !important;
    }
    .pk-magic-heading p{
        font-size:clamp(16px,1.9vw,21px) !important;
        max-width:84vw !important;
    }
}

@media (max-width:768px){
    .pk-magic-heading{
        width:94vw !important;
        overflow:visible !important;
    }
    .pk-magic-kicker,
    .pk-magic-kicker b{
        font-size:clamp(14px,3.4vw,19px) !important;
        line-height:1.2 !important;
        letter-spacing:.045em !important;
        text-transform:none !important;
    }
    .pk-magic-heading h2{
        font-size:clamp(42px,11.4vw,70px) !important;
        line-height:1.13 !important;
        padding:.14em .05em .24em !important;
        margin:-.10em auto -.06em !important;
        white-space:normal !important;
        text-wrap:balance !important;
    }
    .pk-magic-heading h2::after{
        margin:-.06em auto 8px !important;
    }
    .pk-magic-heading p{
        font-size:clamp(15px,3.65vw,20px) !important;
        line-height:1.24 !important;
        max-width:92vw !important;
        margin-bottom:9px !important;
    }
    .pk-magic-cta{
        font-size:clamp(15px,3.6vw,19px) !important;
        line-height:1.2 !important;
        min-height:38px !important;
        letter-spacing:.018em !important;
        text-transform:none !important;
    }
}

@media (max-width:480px){
    .pk-magic-heading h2{
        font-size:clamp(36px,10.6vw,54px) !important;
        line-height:1.14 !important;
    }
    .pk-magic-heading p{
        font-size:clamp(14px,3.55vw,18px) !important;
    }
    .pk-magic-cta{
        font-size:clamp(14px,3.45vw,17px) !important;
    }
}

@media (max-height:740px) and (max-width:768px){
    .pk-magic-kicker{
        display:flex !important;
    }
    .pk-magic-kicker,
    .pk-magic-kicker b{
        font-size:clamp(12px,3.1vw,16px) !important;
    }
    .pk-magic-heading h2{
        font-size:clamp(32px,9.2vw,48px) !important;
        line-height:1.14 !important;
    }
    .pk-magic-heading p{
        font-size:clamp(12px,3vw,15px) !important;
        margin-bottom:6px !important;
    }
    .pk-magic-cta{
        font-size:clamp(12px,3vw,15px) !important;
        min-height:31px !important;
    }
}


.pk-magic-heading,
.pk-magic-core{
    overflow:visible !important;
}
.pk-magic-heading p{
    margin-bottom:clamp(14px,1.7vh,24px) !important;
}
.pk-magic-actions{
    pointer-events:auto;
    position:relative !important;
    left:auto !important;
    top:auto !important;
    z-index:18;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    max-width:100%;
    margin:0 auto !important;
    transform:none !important;
}
.pk-magic-cta--collection{
    pointer-events:auto;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    min-width:clamp(156px,10vw,210px) !important;
    min-height:clamp(34px,3.7vh,44px) !important;
    padding:0 clamp(20px,1.8vw,34px) !important;
    border:1px solid rgba(238,198,136,.64) !important;
    border-radius:10px !important;
    background:
        linear-gradient(180deg, rgba(111,47,161,.90), rgba(49,22,88,.92)),
        radial-gradient(circle at 50% 0%, rgba(255,235,178,.30), transparent 56%) !important;
    box-shadow:0 0 26px rgba(147,75,255,.26), inset 0 0 16px rgba(255,255,255,.055) !important;
    color:#fff5d0 !important;
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:clamp(15px,.86vw,19px) !important;
    font-weight:700 !important;
    line-height:1.25 !important;
    letter-spacing:.025em !important;
    text-transform:none !important;
    text-decoration:none !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, color .28s ease !important;
}
.pk-magic-cta--collection:hover,
.pk-magic-cta--collection:focus-visible{
    transform:translateY(-1px) !important;
    border-color:rgba(255,220,164,.86) !important;
    color:#fff9df !important;
    box-shadow:0 0 34px rgba(165,91,255,.36), inset 0 0 18px rgba(255,255,255,.075) !important;
    outline:none !important;
}

.pk-magic-core{
    perspective:980px;
    perspective-origin:50% 64%;
}
.pk-magic-closed-shell{
    position:absolute;
    left:50%;
    bottom:clamp(168px,16.6vh,234px);
    z-index:6;
    width:clamp(162px,9.1vw,236px);
    aspect-ratio:1536 / 2048;
    transform:translateX(-50%) perspective(900px) rotateX(61deg) rotateZ(0deg) scaleX(.96) scaleY(1);
    transform-origin:center 88%;
    transform-style:preserve-3d;
    pointer-events:none;
    opacity:1;
    visibility:visible;
    transition:opacity .62s ease, visibility .62s ease, transform .86s cubic-bezier(.18,.84,.24,1), filter .86s ease;
    filter:drop-shadow(0 20px 16px rgba(0,0,0,.62)) drop-shadow(0 0 18px rgba(142,78,255,.24));
}
.pk-magic-closed-shell::before{
    content:'';
    position:absolute;
    left:7%;
    right:7%;
    bottom:-7%;
    height:13%;
    z-index:1;
    border-radius:0 0 18px 18px;
    background:linear-gradient(180deg, rgba(35,22,18,.64), rgba(12,8,10,.84));
    transform:translateZ(-1px);
    filter:blur(.2px);
    pointer-events:none;
}
.pk-magic-closed-shell::after{
    content:'';
    position:absolute;
    left:50%;
    bottom:-10%;
    z-index:0;
    width:128%;
    height:25%;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(ellipse at center, rgba(0,0,0,.54), rgba(0,0,0,.24) 45%, transparent 73%);
    filter:blur(6px);
    pointer-events:none;
}
.pk-magic-closed-book{
    position:relative;
    z-index:2;
    display:block;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:contain;
    border-radius:12px;
    filter:contrast(1.04) saturate(1.08);
}
.pk-magic-closed-glow{
    position:absolute;
    left:50%;
    bottom:4%;
    z-index:1;
    width:132%;
    height:32%;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(ellipse at center, rgba(184,103,255,.44), rgba(105,64,205,.18) 44%, transparent 74%);
    filter:blur(8px);
    opacity:.82;
    pointer-events:none;
}

.pk-magic-reveal-label{
    position:absolute;
    left:50%;
    z-index:19;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:0;
    min-height:0;
    padding:.06em .18em .15em;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    color:transparent;
    font-family:'PautinkaMagic', Magic, Cinzel, Georgia, serif !important;
    font-size:clamp(28px,1.8vw,42px);
    font-weight:700;
    line-height:1.34;
    letter-spacing:.025em;
    text-transform:none;
    cursor:pointer;
    overflow:visible;
    -webkit-tap-highlight-color:transparent;
    transform:translateX(-50%);
    transition:opacity .34s ease, visibility .34s ease, transform .34s ease, filter .34s ease;
}
.pk-magic-reveal-label::before{
    content:'';
    position:absolute;
    left:50%;
    bottom:.04em;
    width:118%;
    height:44%;
    transform:translateX(-50%);
    border-radius:50%;
    background:radial-gradient(ellipse at center, rgba(255,246,218,.40), rgba(185,124,255,.25) 42%, transparent 74%);
    filter:blur(12px);
    opacity:.78;
    pointer-events:none;
    animation:pkMagicPearlAura 2.8s ease-in-out infinite;
}
.pk-magic-reveal-label{
    background-image:linear-gradient(105deg, #fffdf5 0%, #ffe6a6 18%, #f1d5ff 38%, #bba8ff 55%, #fff7d7 76%, #ffffff 100%);
    background-size:230% 100%;
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    filter:drop-shadow(0 0 8px rgba(255,238,205,.46)) drop-shadow(0 0 18px rgba(174,104,255,.44));
    animation:pkMagicPearlText 3.4s linear infinite, pkMagicPearlTwinkle 2.4s ease-in-out infinite;
}
.pk-magic-reveal-label:hover,
.pk-magic-reveal-label:focus-visible{
    transform:translateX(-50%) translateY(-2px) scale(1.035);
    filter:drop-shadow(0 0 15px rgba(255,238,205,.62)) drop-shadow(0 0 28px rgba(194,122,255,.64));
    outline:none;
}
.pk-magic-reveal-label--open{
    bottom:clamp(322px,34vh,454px);
}
.pk-magic-reveal-label--close{
    top:clamp(58px,7.4vh,106px);
}
.pk-magic-screen.is-magic-book-closed .pk-magic-reveal-label--close,
.pk-magic-screen.is-magic-book-open .pk-magic-reveal-label--open{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateX(-50%) translateY(6px) scale(.94);
}
.pk-magic-screen.is-magic-book-closed .pk-magic-reveal-label--open,
.pk-magic-screen.is-magic-book-open .pk-magic-reveal-label--close{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}
.pk-magic-screen.is-magic-book-animating .pk-magic-reveal-label{
    pointer-events:none;
}

.pk-magic-book-shell{
    transition:opacity .58s ease, visibility .58s ease, transform .84s cubic-bezier(.18,.84,.24,1), filter .84s ease !important;
    will-change:opacity, transform;
}
.pk-magic-screen.is-magic-book-closed .pk-magic-book-shell{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(clamp(82px,10vh,142px)) scale(.34) !important;
    filter:drop-shadow(0 12px 18px rgba(0,0,0,.54)) blur(.35px) !important;
}
.pk-magic-screen.is-magic-book-open .pk-magic-book-shell{
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) scale(1) !important;
}
.pk-magic-screen.is-magic-book-open .pk-magic-closed-shell{
    opacity:0;
    visibility:hidden;
    transform:translateX(-50%) translateY(clamp(-252px,-27vh,-154px)) perspective(900px) rotateX(16deg) rotateZ(0deg) scale(clamp(2.05,2.55vw,2.9));
    filter:drop-shadow(0 24px 34px rgba(0,0,0,.46)) drop-shadow(0 0 34px rgba(190,112,255,.44)) blur(1px);
}

@keyframes pkMagicPearlText{
    0%{background-position:0% 50%;}
    100%{background-position:230% 50%;}
}
@keyframes pkMagicPearlTwinkle{
    0%,100%{filter:drop-shadow(0 0 8px rgba(255,238,205,.44)) drop-shadow(0 0 18px rgba(174,104,255,.40));}
    50%{filter:drop-shadow(0 0 13px rgba(255,250,230,.68)) drop-shadow(0 0 28px rgba(190,122,255,.64));}
}
@keyframes pkMagicPearlAura{
    0%,100%{opacity:.56; transform:translateX(-50%) scaleX(.94);}
    50%{opacity:.92; transform:translateX(-50%) scaleX(1.06);}
}

@media (min-width:2200px){
    .pk-magic-closed-shell{
        width:clamp(220px,7.4vw,308px);
        bottom:clamp(188px,13vh,286px);
    }
    .pk-magic-reveal-label{
        font-size:clamp(34px,1.45vw,54px);
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(382px,28vh,520px);
    }
    .pk-magic-reveal-label--close{
        top:clamp(72px,7vh,126px);
    }
}
@media (max-width:1600px){
    .pk-magic-closed-shell{
        width:clamp(150px,8.9vw,198px);
        bottom:clamp(146px,16.2vh,190px);
    }
    .pk-magic-reveal-label{
        font-size:clamp(24px,1.75vw,34px);
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(286px,33vh,382px);
    }
    .pk-magic-reveal-label--close{
        top:clamp(52px,7vh,92px);
    }
}
@media (max-height:820px) and (min-width:901px){
    .pk-magic-closed-shell{
        width:clamp(136px,7.7vw,166px);
        bottom:clamp(116px,15.8vh,154px);
    }
    .pk-magic-reveal-label{
        font-size:clamp(21px,1.48vw,29px);
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(238px,33vh,314px);
    }
    .pk-magic-reveal-label--close{
        top:clamp(46px,7.2vh,78px);
    }
}
@media (max-width:1024px) and (min-width:769px){
    .pk-magic-closed-shell{
        width:136px;
        bottom:clamp(118px,15.5vh,154px);
    }
    .pk-magic-reveal-label{
        font-size:25px;
    }
    .pk-magic-reveal-label--open{
        bottom:264px;
    }
    .pk-magic-reveal-label--close{
        top:60px;
    }
}


@media (max-width:768px){
    .pk-magic-actions{
        margin-top:8px !important;
    }
    .pk-magic-cta--collection{
        min-width:min(78vw,330px) !important;
        min-height:40px !important;
        padding:0 22px !important;
        font-size:clamp(16px,4vw,20px) !important;
    }
    .pk-magic-reveal-label,
    .pk-magic-closed-shell{
        display:none !important;
    }
    .pk-magic-screen.is-magic-book-closed .pk-magic-book-shell,
    .pk-magic-screen.is-magic-book-open .pk-magic-book-shell{
        opacity:1 !important;
        visibility:visible !important;
        pointer-events:auto !important;
        transform:translate(-50%,-50%) scale(var(--pk-mobile-book-scale, .58)) !important;
        filter:drop-shadow(0 20px 28px rgba(0,0,0,.58)) !important;
    }
}
@media (max-width:480px){
    .pk-magic-cta--collection{
        min-width:min(84vw,300px) !important;
        min-height:38px !important;
        font-size:clamp(15px,4.2vw,18px) !important;
    }
}


@media (min-width:769px){
    .pk-magic-closed-shell{
        bottom:clamp(207px,calc(18.2vh + 25px),277px) !important;
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(336px,35.4vh,468px) !important;
    }
}
@media (min-width:2200px){
    .pk-magic-closed-shell{
        bottom:clamp(229px,calc(13.8vh + 25px),329px) !important;
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(400px,29vh,544px) !important;
    }
}
@media (max-width:1600px) and (min-width:769px){
    .pk-magic-closed-shell{
        bottom:clamp(185px,calc(17.8vh + 25px),233px) !important;
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(300px,34.6vh,396px) !important;
    }
}
@media (max-height:820px) and (min-width:901px){
    .pk-magic-closed-shell{
        bottom:clamp(157px,calc(17.7vh + 25px),197px) !important;
    }
    .pk-magic-reveal-label--open{
        bottom:clamp(252px,34.7vh,330px) !important;
    }
}
@media (max-width:1024px) and (min-width:769px){
    .pk-magic-closed-shell{
        bottom:clamp(157px,calc(17vh + 25px),195px) !important;
    }
    .pk-magic-reveal-label--open{
        bottom:276px !important;
    }
}


.pk-magic-candle{
    position:absolute;
    bottom:-7.4vh;
    z-index:9;
    width:clamp(180px,12vw,280px);
    max-width:none;
    aspect-ratio:550 / 1368;
    display:block;
    overflow:visible;
    isolation:isolate;
    opacity:1;
    filter:none;
    pointer-events:none;
    --pk-flame-delay:0s;
}
.pk-magic-candle--left{
    left:clamp(110px,7.4vw,230px);
}
.pk-magic-candle--right{
    right:clamp(110px,7.4vw,230px);
    --pk-flame-delay:-.85s;
}
.pk-magic-candle__back,
.pk-magic-candle__front{
    display:block;
    width:100%;
    height:auto;
    max-width:none;
    user-select:none;
    -webkit-user-drag:none;
}
.pk-magic-candle__back{
    position:absolute;
    top:0;
    left:0;
    z-index:1;
    filter:drop-shadow(0 0 10px rgba(175,112,255,.10));
}
.pk-magic-candle__front{
    position:relative;
    z-index:3;
    filter:drop-shadow(0 24px 28px rgba(0,0,0,.72));
}
.pk-magic-candle__flame{
    position:absolute;
    left:15.5%;
    top:-33%;
    width:69%;
    height:44%;
    z-index:2;
    overflow:hidden;
    pointer-events:none;
    border-radius:50% 50% 42% 42% / 78% 78% 28% 28%;
    transform-origin:50% 100%;
    background-image:
        url('../../images/pautinka-home/screen-04-magic/magic-candle-flame-mask.webp'),
        url('../../images/pautinka-home/screen-04-magic/magic-candle-flame-mask.webp'),
        linear-gradient(0deg,
            rgba(255,246,255,.72) 0%,
            rgba(238,218,255,.68) 10%,
            rgba(222,168,255,.76) 24%,
            rgba(193,96,255,.84) 42%,
            rgba(122,66,255,.76) 60%,
            rgba(66,34,186,.40) 76%,
            rgba(26,10,88,0) 92%),
        radial-gradient(ellipse at bottom,
            transparent 28%,
            rgba(0,0,0,.18) 50%,
            rgba(0,0,0,.64) 76%);
    background-size:150% auto,220% auto,100% 100%,100% 100%;
    background-position:center 0,center 0,50% 100%,center center;
    background-repeat:repeat,repeat,no-repeat,no-repeat;
    background-blend-mode:hard-light,color-dodge,multiply,normal;
    mix-blend-mode:color-dodge;
    filter:brightness(2.86) blur(3.4px) contrast(4.6) saturate(1.42);
    opacity:.92;
    -webkit-mask-image:radial-gradient(ellipse at bottom, rgba(0,0,0,.98) 18%, rgba(0,0,0,.72) 44%, rgba(0,0,0,.34) 58%, rgba(0,0,0,.10) 66%, rgba(0,0,0,0) 74%);
    mask-image:radial-gradient(ellipse at bottom, rgba(0,0,0,.98) 18%, rgba(0,0,0,.72) 44%, rgba(0,0,0,.34) 58%, rgba(0,0,0,.10) 66%, rgba(0,0,0,0) 74%);
    -webkit-mask-size:100% 100%;
    mask-size:100% 100%;
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
    -webkit-mask-position:center bottom;
    mask-position:center bottom;
    will-change:background-position,transform;
    animation:pkMagicCandleFire 1.75s linear infinite;
    animation-delay:var(--pk-flame-delay);
}
@keyframes pkMagicCandleFire{
    0%{
        background-position:center 0,center 0,50% 100%,center center;
        transform:translateX(0) scale(1,.98) rotate(-.7deg);
    }
    33%{
        transform:translateX(-1.2%) scale(1.03,1.06) rotate(1deg);
    }
    66%{
        transform:translateX(1%) scale(.98,1.1) rotate(-1.2deg);
    }
    100%{
        background-position:center -360px,center -520px,50% 100%,center center;
        transform:translateX(0) scale(1,.98) rotate(-.7deg);
    }
}
@media (prefers-reduced-motion:reduce){
    .pk-magic-candle__flame{
        animation:none;
    }
}
@media (min-width:2200px){
    .pk-magic-candle{
        width:clamp(250px,9.6vw,360px);
    }
    .pk-magic-candle--left{
        left:clamp(180px,6.4vw,300px);
    }
    .pk-magic-candle--right{
        right:clamp(180px,6.4vw,300px);
    }
    .pk-magic-candle__flame{
        top:-31%;
        height:42%;
    }
}
@media (max-width:1600px){
    .pk-magic-candle{
        width:clamp(164px,12vw,230px);
    }
    .pk-magic-candle--left{
        left:clamp(92px,7.2vw,176px);
    }
    .pk-magic-candle--right{
        right:clamp(92px,7.2vw,176px);
    }
    .pk-magic-candle__flame{
        top:-34%;
        height:45%;
        filter:brightness(2.72) blur(3.1px) contrast(4.34) saturate(1.36);
    }
}
@media (max-height:820px) and (min-width:901px){
    .pk-magic-candle{
        width:clamp(150px,11vw,204px);
        bottom:-7.8vh;
    }
    .pk-magic-candle--left{
        left:clamp(80px,6.4vw,148px);
    }
    .pk-magic-candle--right{
        right:clamp(80px,6.4vw,148px);
    }
    .pk-magic-candle__flame{
        top:-32%;
        height:42%;
        filter:brightness(2.58) blur(2.8px) contrast(4.06) saturate(1.32);
    }
}
@media (max-width:1024px) and (min-width:769px){
    .pk-magic-candle{
        width:148px;
        bottom:-5vh;
    }
    .pk-magic-candle--left{
        left:58px;
    }
    .pk-magic-candle--right{
        right:58px;
    }
    .pk-magic-candle__flame{
        top:-31%;
        height:40%;
        filter:brightness(2.44) blur(2.45px) contrast(3.82) saturate(1.28);
    }
}

/* Final Magic mobile flow without artificial bottom reserve. */
@media (max-width:768px){
    .pk-screen.pk-magic-screen,
    .pk-magic-screen.pk-collection--magic{
        height:auto !important;
        min-height:100svh !important;
        overflow:hidden !important;
        padding-bottom:0 !important;
        margin-bottom:0 !important;
    }
    .pk-magic-stage{
        height:auto !important;
        min-height:100svh !important;
        display:grid !important;
        grid-template-rows:auto auto auto !important;
        align-content:start !important;
        row-gap:clamp(8px,1.35svh,13px) !important;
        padding:clamp(82px,10svh,104px) 10px 32px !important;
        overflow:hidden !important;
    }
    .pk-magic-core{
        margin-bottom:2px !important;
    }
    .pk-magic-features{
        margin-bottom:0 !important;
        padding-bottom:0 !important;
        gap:8px !important;
        align-self:start !important;
    }
    .pk-magic-feature{
        min-height:64px !important;
        padding:8px 11px !important;
    }
    .pk-magic-feature span{
        display:block !important;
        max-height:none !important;
        overflow:visible !important;
    }
}

@media (max-width:480px){
    .pk-magic-stage{
        padding-top:clamp(80px,9.8svh,100px) !important;
        padding-bottom:30px !important;
        row-gap:8px !important;
    }
    .pk-magic-features{
        gap:7px !important;
    }
    .pk-magic-feature{
        min-height:63px !important;
        padding:8px 11px !important;
    }
}

@media (max-height:740px) and (max-width:768px){
    .pk-magic-stage{
        padding-top:76px !important;
        padding-bottom:28px !important;
        row-gap:7px !important;
    }
    .pk-magic-feature{
        min-height:61px !important;
        padding:7px 10px !important;
    }
    .pk-magic-feature span{
        display:block !important;
    }
}

/* Final Magic book asset image alignment: 16:9 image slot with the decorative frame fitted to it. */
.pk-magic-page__image{
    width:84% !important;
    aspect-ratio:16 / 9 !important;
    overflow:visible !important;
}
.pk-magic-page__image::before{
    inset:-8% -4.8% -8% -4.8% !important;
    background-size:100% 100% !important;
    background-position:center center !important;
}
.pk-magic-page__image img{
    position:absolute !important;
    inset:0 !important;
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:cover !important;
    object-position:center center !important;
    border-radius:2px !important;
}
