:root {
    --pn-ink: #0f1724;
    --pn-deep: #111a29;
    --pn-denim: #1a283d;
    --pn-dusk: #171f2e;
    --pn-brass: #ead54c;
    --pn-bone: #f2e9da;
    --pn-muted: #c5c1bb;
    --pn-line: rgba(242, 233, 218, 0.2);
    --pn-ease: cubic-bezier(0.22, 1, 0.36, 1);
    --pn-radius: 1.1rem;
}

html {
    scroll-behavior: smooth;
}

body.pn-glow-body {
    background-image:
        radial-gradient(ellipse at 92% 5%, rgba(234, 213, 76, 0.075), transparent 28rem),
        radial-gradient(ellipse at 4% 42%, rgba(71, 108, 151, 0.12), transparent 32rem);
    background-attachment: fixed;
}

.pn-glow-body .border-line.bg-denim,
.pn-glow-body .bg-denim.border-line,
.pn-glow-body .pn-ticket,
.pn-glow-body .pn-reel-card {
    border-radius: var(--pn-radius);
    box-shadow:
        0 0.75rem 2.25rem rgba(0, 0, 0, 0.18),
        0 0 1.2rem rgba(234, 213, 76, 0.055);
}

.pn-glow-body .pn-button,
.pn-glow-body .btn {
    box-shadow: 0 0 1rem rgba(234, 213, 76, 0.1);
}

.pn-glow-body .btn-primary,
.pn-glow-body .pn-button:not(.pn-button--outline) {
    color: var(--pn-ink) !important;
}

.pn-glow-body .btn,
.pn-glow-body .pn-button {
    position: relative;
    isolation: isolate;
    border: 1px solid rgba(234, 213, 76, 0.78);
    box-shadow:
        0 0.5rem 1.25rem rgba(0, 0, 0, 0.18),
        0 0 1rem rgba(234, 213, 76, 0.12);
    -webkit-tap-highlight-color: transparent;
}

.pn-glow-body .btn::before,
.pn-glow-body .pn-button::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(110deg, transparent 25%, rgba(255, 255, 255, 0.28) 48%, transparent 70%);
    content: "";
    opacity: 0;
    transform: translateX(-110%);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .pn-glow-body .btn:hover::before,
    .pn-glow-body .pn-button:hover::before {
        opacity: 1;
        transform: translateX(110%);
        transition:
            opacity 140ms ease,
            transform 560ms var(--pn-ease);
    }
}

.pn-video-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(0.8rem, 1.8vw, 1.5rem);
    margin-top: 2.5rem;
}

.pn-reel-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(242, 233, 218, 0.14);
    border-radius: var(--pn-radius);
    background: #0a0d12;
    box-shadow: 0 0.5rem 1.6rem rgba(0, 0, 0, 0.22);
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-reel-card[hidden] {
    display: none;
}

.pn-reel-card iframe {
    display: block;
    width: 100%;
    height: 31rem;
    border: 0;
    background: #0a0d12;
}

.pn-reel-card__link {
    display: flex;
    min-height: 3rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.7rem 1rem;
    color: var(--pn-bone) !important;
    font-size: 0.8rem;
}

.pn-reel-card__link span:last-child {
    color: var(--pn-brass);
}

.pn-reel-card:hover,
.pn-reel-card:focus-within {
    transform: translateY(-3px);
    border-color: rgba(234, 213, 76, 0.52);
    box-shadow:
        0 1rem 2.5rem rgba(0, 0, 0, 0.26),
        0 0 1.4rem rgba(234, 213, 76, 0.14);
}

.pn-review-card {
    position: relative;
    padding: clamp(1.25rem, 2.2vw, 2rem);
    overflow: hidden;
    border: 1px solid rgba(242, 233, 218, 0.2);
    border-radius: var(--pn-radius);
    background:
        linear-gradient(135deg, rgba(242, 233, 218, 0.085), rgba(242, 233, 218, 0.025) 55%),
        rgba(15, 23, 36, 0.58);
    box-shadow:
        0 1rem 2.5rem rgba(0, 0, 0, 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.08);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 220ms var(--pn-ease);
}

.pn-review-card::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 2px;
    background: linear-gradient(180deg, rgba(234, 213, 76, 0.75), rgba(234, 213, 76, 0.08));
    content: "";
}

.pn-review-card:hover,
.pn-review-card:focus-within {
    transform: translateY(-3px);
    border-color: rgba(234, 213, 76, 0.42);
    box-shadow:
        0 1.25rem 3rem rgba(0, 0, 0, 0.25),
        0 0 1.25rem rgba(234, 213, 76, 0.09),
        inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.pn-reel-more {
    display: flex;
    justify-content: center;
    margin-top: 2rem;
}

.pn-contact-dialog {
    position: fixed;
    inset: 0;
    width: min(calc(100% - 2rem), 42rem);
    max-width: none;
    max-height: min(92dvh, 54rem);
    margin: auto;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: 1px solid rgba(234, 213, 76, 0.35);
    border-radius: calc(var(--pn-radius) + 0.35rem);
    background: var(--pn-ink);
    color: var(--pn-bone);
    box-shadow:
        0 2rem 7rem rgba(0, 0, 0, 0.7),
        0 0 2.2rem rgba(234, 213, 76, 0.16);
}

.pn-contact-dialog::backdrop {
    background: rgba(5, 9, 16, 0.78);
    backdrop-filter: blur(7px);
}

.pn-contact-dialog__inner {
    position: relative;
    padding: 1rem;
}

.pn-contact-dialog .pn-ticket {
    margin-top: 2.5rem;
    background:
        radial-gradient(ellipse at 100% 0, rgba(234, 213, 76, 0.09), transparent 42%),
        var(--pn-denim);
}

.pn-contact-dialog__close {
    position: absolute;
    z-index: 1;
    top: 1rem;
    right: 1rem;
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid rgba(242, 233, 218, 0.24);
    border-radius: 50%;
    background: var(--pn-deep);
    color: var(--pn-bone);
    font-size: 1.65rem;
    line-height: 1;
}

.pn-contact-dialog__close:hover,
.pn-contact-dialog__close:focus-visible {
    border-color: var(--pn-brass);
    color: var(--pn-brass);
    box-shadow: 0 0 1rem rgba(234, 213, 76, 0.2);
}

body:has(.pn-contact-dialog[open]) {
    overflow: hidden;
}

body:has(.pn-contact-dialog[open]) > header {
    z-index: 0;
}

@keyframes pn-header-center-open {
    from {
        clip-path: inset(0 50% 0 50% round 999px);
        opacity: 0.72;
    }

    to {
        clip-path: inset(0);
        opacity: 1;
    }
}

@media (prefers-reduced-motion: no-preference) {
    body > header.pn-glass-header {
        animation: pn-header-center-open 850ms cubic-bezier(0.2, 0.75, 0.25, 1);
    }
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 2px solid var(--pn-brass);
    outline-offset: 4px;
}

[data-pn-reveal] {
    transition:
        opacity 560ms var(--pn-ease),
        transform 560ms var(--pn-ease);
}

[data-pn-footer-reveal] {
    transition:
        opacity 680ms var(--pn-ease),
        transform 680ms var(--pn-ease);
}

main h1,
main h2,
main h3 {
    text-wrap: balance;
    transition:
        opacity 520ms var(--pn-ease),
        transform 520ms var(--pn-ease),
        text-shadow 220ms ease;
}

main h1,
main h2 {
    text-shadow: 0 0 1.4rem rgba(234, 213, 76, 0.055);
}

main h1 span,
main h2 span,
main h3 span {
    transition: text-shadow 220ms ease;
}

main h1 span,
main h2 span {
    text-shadow: 0 0 1.2rem rgba(234, 213, 76, 0.18);
}

body.pn-glow-body:not(.pn-page) main h1 {
    -webkit-text-stroke: 1px rgba(5, 9, 16, 0.58);
    text-shadow:
        0 0.16em 0.55em rgba(5, 9, 16, 0.5),
        0 0 1.8rem rgba(242, 233, 218, 0.12);
}

body.pn-glow-body:not(.pn-page) main h1 span:last-child span {
    text-shadow:
        0 0.12em 0.5em rgba(5, 9, 16, 0.56),
        0 0 1.6rem rgba(234, 213, 76, 0.3);
}

@keyframes pn-banner-title-glow {
    from {
        text-shadow:
            0 0.16em 0.55em rgba(5, 9, 16, 0.5),
            0 0 0 rgba(242, 233, 218, 0);
    }

    to {
        text-shadow:
            0 0.16em 0.55em rgba(5, 9, 16, 0.5),
            0 0 1.8rem rgba(242, 233, 218, 0.12);
    }
}

@media (prefers-reduced-motion: no-preference) {
    body.pn-glow-body:not(.pn-page) main h1 {
        animation: pn-banner-title-glow 1.1s ease-out both;
    }
}

@keyframes pn-secondary-hero-enter {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: no-preference) {
    .pn-page .pn-hero__copy > * {
        animation: pn-secondary-hero-enter 680ms var(--pn-ease) both;
    }

    .pn-page .pn-hero__copy > :nth-child(1) {
        animation-delay: 80ms;
    }

    .pn-page .pn-hero__copy > :nth-child(2) {
        animation-delay: 160ms;
    }

    .pn-page .pn-hero__copy > :nth-child(3) {
        animation-delay: 240ms;
    }

    .pn-page .pn-hero__copy > :nth-child(4) {
        animation-delay: 380ms;
    }
}

@media (prefers-reduced-motion: no-preference) {
    .pn-motion-ready [data-pn-reveal]:not(.is-visible) {
        opacity: 0;
        transform: translateY(14px);
    }

    .pn-motion-ready [data-pn-heading]:not(.is-visible) {
        opacity: 0;
        transform: translateY(12px);
    }

    .pn-motion-ready [data-pn-footer-reveal]:not(.is-visible) {
        opacity: 0;
        transform: translateY(22px);
    }

    .pn-motion-ready [data-pn-reveal-side="left"]:not(.is-visible) {
        transform: translateX(-26px);
    }

    .pn-motion-ready [data-pn-reveal-side="right"]:not(.is-visible) {
        transform: translateX(26px);
    }
}

@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
    .pn-motion-ready [data-pn-mobile-reveal="right"] {
        transition:
            opacity 560ms var(--pn-ease),
            transform 560ms var(--pn-ease);
    }

    .pn-motion-ready [data-pn-mobile-reveal="right"]:not(.is-visible) {
        opacity: 0;
        transform: translateX(32px);
    }
}

    .pn-home-menu {
        position: fixed;
        z-index: 49;
        inset: 0;
        overflow-y: auto;
        padding: max(6.5rem, calc(env(safe-area-inset-top) + 5rem)) 1.25rem max(2rem, env(safe-area-inset-bottom));
        background: rgba(17, 26, 41, 0.97);
        color: var(--pn-bone);
        opacity: 0;
        transform: translateY(-0.6rem);
        transition:
            opacity 220ms var(--pn-ease),
            transform 220ms var(--pn-ease);
    }

    .pn-home-menu.is-open {
        opacity: 1;
        transform: translateY(0);
    }

    .pn-home-menu[hidden] {
        display: none;
    }

    .pn-home-menu__links {
        display: flex;
        max-width: 36rem;
        flex-direction: column;
        gap: 0.3rem;
        margin: 0 auto;
    }

    .pn-home-menu__links a {
        display: block;
        width: 100%;
        padding-block: 0.35rem;
        color: #fff;
        font-family: var(--font-headline), Impact, sans-serif;
        font-size: clamp(2.4rem, 10vw, 4.5rem);
        font-weight: 900;
        line-height: 1;
        opacity: 0;
        text-align: center;
        text-decoration: none;
        text-transform: uppercase;
        transform: translateY(0.6rem);
        transition:
            opacity 240ms var(--pn-ease),
            transform 240ms var(--pn-ease);
    }

    .pn-home-menu.is-open .pn-home-menu__links a {
        opacity: 1;
        transform: translateY(0);
    }

    .pn-home-menu.is-open .pn-home-menu__links a:nth-child(1) {
        transition-delay: 30ms;
    }

    .pn-home-menu.is-open .pn-home-menu__links a:nth-child(2) {
        transition-delay: 65ms;
    }

    .pn-home-menu.is-open .pn-home-menu__links a:nth-child(3) {
        transition-delay: 100ms;
    }

    .pn-home-menu.is-open .pn-home-menu__links a:nth-child(4) {
        transition-delay: 135ms;
    }

    .pn-home-menu.is-open .pn-home-menu__links a:nth-child(5) {
        transition-delay: 170ms;
    }

    .pn-home-menu:not(.is-open) .pn-home-menu__links a {
        transition-delay: 0ms;
    }

    .pn-home-menu__links a:hover {
        color: var(--pn-brass);
    }

    .pn-home-menu__links a:not(.pn-home-menu__cta),
    .pn-menu__panel a:not(.pn-home-menu__cta) {
        color: #fff !important;
    }

    .pn-home-menu__links .pn-home-menu__cta {
        width: min(100%, 20rem);
        margin: 1.1rem auto 0;
        padding: 1rem 1.4rem;
        border: 1px solid var(--pn-brass);
        border-radius: 999px;
        background: var(--pn-brass);
        box-shadow: 0 0 1.1rem rgba(234, 213, 76, 0.22);
        color: var(--pn-ink) !important;
        font-family: var(--font-sofia-sans), "Segoe UI", sans-serif;
        font-size: 0.9rem;
        font-weight: 900;
        letter-spacing: 0.1em;
    }

    .pn-home-menu__links .pn-home-menu__cta:hover,
    .pn-home-menu__links .pn-home-menu__cta:focus-visible {
        background: var(--pn-bone);
        border-color: var(--pn-bone);
        color: var(--pn-ink) !important;
    }

    body > header.pn-glass-header {
        inset: 0.75rem 2.75vw auto !important;
        width: auto;
        height: auto;
        overflow: visible;
        border: 1px solid rgba(242, 233, 218, 0.2);
        border-radius: 999px;
        background: rgba(15, 23, 36, 0.88);
        box-shadow:
            0 1rem 3rem rgba(0, 0, 0, 0.22),
            0 0 1.5rem rgba(234, 213, 76, 0.06);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        transition:
            border-color 220ms ease,
            background-color 220ms ease,
            box-shadow 220ms ease,
            transform 320ms var(--pn-ease);
        will-change: transform;
    }

    body > header.pn-glass-header.pn-header--hidden {
        transform: translateY(calc(-100% - 1rem));
    }

    body > header.pn-glass-header.pn-header--hidden:focus-within {
        transform: translateY(0);
    }

    body > header.pn-glass-header > .container-peak {
        width: 100%;
        max-width: none;
        padding-inline: clamp(0.85rem, 2.3vw, 2rem);
    }

    body > header.pn-glass-header:hover,
    body > header.pn-glass-header:focus-within {
        border-color: rgba(234, 213, 76, 0.42);
        box-shadow:
            0 1rem 3rem rgba(0, 0, 0, 0.24),
            0 0 2rem rgba(234, 213, 76, 0.11);
    }

    body > header.pn-glass-header .btn,
    body > header.pn-glass-header .pn-header__cta {
        border-radius: 999px;
    }

    @media (min-width: 1024px) {
        body > header.pn-glass-header > .container-peak {
            position: relative;
        }

        body > header.pn-glass-header nav[aria-label="Primary"] {
            position: absolute;
            left: 50%;
            display: flex !important;
            align-items: center;
            gap: clamp(1rem, 2vw, 1.75rem);
            white-space: nowrap;
            transform: translateX(-50%);
        }

        body > header.pn-glass-header nav[aria-label="Primary"] a {
            font-weight: 800 !important;
        }
    }

    header button[aria-controls="pn-home-mobile-menu"] svg path {
        transform-box: fill-box;
        transform-origin: center;
        transition:
            transform 180ms ease,
            opacity 180ms ease;
    }

    header button[aria-controls="pn-home-mobile-menu"] svg {
        transition: transform 220ms var(--pn-ease);
    }

    header button[aria-controls="pn-home-mobile-menu"][aria-expanded="true"] svg {
        transform: rotate(90deg);
    }

    header button[aria-controls="pn-home-mobile-menu"][aria-expanded="true"] svg path:first-child {
        transform: translateY(7px) rotate(45deg);
    }

    header button[aria-controls="pn-home-mobile-menu"][aria-expanded="true"] svg path:nth-child(2) {
        opacity: 0;
    }

    header button[aria-controls="pn-home-mobile-menu"][aria-expanded="true"] svg path:last-child {
        transform: translateY(-7px) rotate(-45deg);
    }

    .pn-page {
    min-height: 100vh;
    overflow-x: clip;
    background: var(--pn-ink);
    color: var(--pn-bone);
    font-family: var(--font-sofia-sans), "Segoe UI", sans-serif;
    line-height: 1.6;
}

.pn-page *,
.pn-page *::before,
.pn-page *::after {
    box-sizing: border-box;
}

.pn-page a {
    color: inherit;
    text-decoration: none;
}

.pn-page img {
    display: block;
    max-width: 100%;
}

.pn-container {
    width: min(100% - 2.5rem, 76rem);
    margin-inline: auto;
}

.pn-header {
    position: fixed;
    z-index: 50;
    inset: 0 0 auto;
    border-bottom: 1px solid var(--pn-line);
    background: rgba(15, 23, 36, 0.94);
    backdrop-filter: blur(12px);
}

.pn-header__inner {
    display: flex;
    min-height: 5rem;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.pn-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
}

.pn-brand img {
    width: 3.5rem;
    height: 3.5rem;
    object-fit: contain;
}

.pn-primary-nav {
    display: flex;
    align-items: center;
    gap: clamp(1rem, 2.2vw, 2rem);
}

.pn-primary-nav a,
.pn-footer a {
    transition: color 180ms ease;
}

.pn-primary-nav a {
    color: var(--pn-bone);
    font-size: 0.94rem;
    font-weight: 650;
}

.pn-primary-nav a:hover,
.pn-primary-nav a[aria-current="page"],
.pn-footer a:hover {
    color: var(--pn-brass);
}

.pn-menu {
    display: none;
}

.pn-menu summary {
    display: flex;
    width: 3rem;
    height: 3rem;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    list-style: none;
}

.pn-menu summary::-webkit-details-marker {
    display: none;
}

.pn-menu__icon,
.pn-menu__icon::before,
.pn-menu__icon::after {
    width: 1.35rem;
    height: 2px;
    background: var(--pn-bone);
}

.pn-menu__icon {
    position: relative;
    overflow: hidden;
    border-radius: var(--pn-radius);
}

.pn-menu__icon::before,
.pn-menu__icon::after {
    position: absolute;
    left: 0;
    content: "";
}

.pn-menu__icon::before {
    top: -0.42rem;
}

.pn-menu__icon::after {
    top: 0.42rem;
}

.pn-menu__panel {
    position: fixed;
    inset: 5rem 0 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    padding: 2rem 1.25rem max(2rem, env(safe-area-inset-bottom));
    background: var(--pn-deep);
}

.pn-menu__panel a {
    display: block;
    width: 100%;
    padding: 0.4rem 0;
    font-family: var(--font-headline), Impact, sans-serif;
    font-size: clamp(2rem, 9vw, 3.5rem);
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
}

.pn-menu__panel .pn-home-menu__cta {
    width: min(100%, 20rem);
    margin: 1.1rem auto 0;
    padding: 1rem 1.4rem;
    border: 1px solid var(--pn-brass);
    border-radius: 999px;
    background: var(--pn-brass);
    color: var(--pn-ink) !important;
    font-family: var(--font-sofia-sans), "Segoe UI", sans-serif;
    font-size: 0.9rem;
    font-weight: 900;
    letter-spacing: 0.1em;
}

.pn-menu__panel a:hover,
.pn-menu__panel a[aria-current="page"] {
    color: var(--pn-brass);
}

.pn-main {
    padding-top: 5rem;
}

.pn-hero {
    position: relative;
    display: flex;
    min-height: clamp(25rem, 58vw, 39rem);
    align-items: flex-end;
    overflow: hidden;
    padding-block: clamp(4rem, 9vw, 7.5rem);
    isolation: isolate;
}

.pn-hero--image::before,
.pn-hero--image::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
}

.pn-hero--image::before {
    background-image: var(--pn-hero-image);
    background-position: center 44%;
    background-size: cover;
    transform: scale(1.015);
}

.pn-hero--image::after {
    background: linear-gradient(90deg, rgba(15, 23, 36, 0.93), rgba(15, 23, 36, 0.6) 52%, rgba(15, 23, 36, 0.17)),
        linear-gradient(0deg, rgba(15, 23, 36, 0.45), transparent 72%);
}

.pn-hero__copy {
    max-width: 57rem;
}

.pn-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem;
    margin: 0 0 2.5rem;
    color: var(--pn-muted);
    font-size: 0.86rem;
}

.pn-breadcrumb a:hover {
    color: var(--pn-brass);
}

.pn-eyebrow {
    margin: 0 0 0.8rem;
    color: var(--pn-brass);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.3;
    text-transform: uppercase;
}

.pn-display {
    max-width: 13ch;
    margin: 0;
    font-family: var(--font-headline), Impact, sans-serif;
    font-size: clamp(3.25rem, 9vw, 7.1rem);
    font-weight: 900;
    letter-spacing: -0.055em;
    line-height: 0.88;
    text-wrap: balance;
    text-transform: uppercase;
}

.pn-display span {
    color: var(--pn-brass);
}

.pn-lede {
    max-width: 48rem;
    margin: 1.5rem 0 0;
    color: rgba(242, 233, 218, 0.88);
    font-size: clamp(1.05rem, 1.8vw, 1.3rem);
    line-height: 1.65;
}

.pn-section {
    padding-block: clamp(4rem, 8vw, 7.5rem);
    background-image: radial-gradient(
        ellipse at 100% 0,
        rgba(234, 213, 76, 0.055),
        transparent 38%
    );
}

.pn-section--denim {
    background: var(--pn-denim);
}

.pn-section--dusk {
    background: var(--pn-dusk);
}

.pn-section__heading {
    max-width: 45rem;
    margin: 0;
    font-family: var(--font-headline), Impact, sans-serif;
    font-size: clamp(2.3rem, 6vw, 4.8rem);
    font-weight: 900;
    letter-spacing: -0.04em;
    line-height: 0.95;
    text-wrap: balance;
    text-transform: uppercase;
}

.pn-services-page .pn-section__heading {
    margin-inline: auto;
}

.pn-section__heading span {
    color: var(--pn-brass);
}

.pn-copy {
    max-width: 57ch;
    margin: 1.35rem 0 0;
    color: var(--pn-muted);
    font-size: clamp(1rem, 1.5vw, 1.16rem);
    line-height: 1.75;
}

.pn-services-page [aria-labelledby="services-offered-title"] > .pn-container > .pn-copy {
    margin-inline: auto;
}

.pn-split {
    display: grid;
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr);
    gap: clamp(2rem, 6vw, 5.5rem);
    align-items: start;
}

.pn-details {
    display: grid;
    gap: 0;
    margin-top: 2.25rem;
    border-top: 1px solid var(--pn-line);
}

.pn-detail {
    display: grid;
    grid-template-columns: 7rem minmax(0, 1fr);
    gap: 1rem;
    padding: 1.15rem 0;
    border-bottom: 1px solid var(--pn-line);
}

.pn-detail__label {
    color: var(--pn-muted);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.pn-detail__value {
    color: var(--pn-bone);
    font-size: 1rem;
    line-height: 1.55;
}

.pn-detail__value a {
    text-decoration: underline;
    text-decoration-color: rgba(234, 213, 76, 0.55);
    text-underline-offset: 0.22em;
}

.pn-detail__value a:hover {
    color: var(--pn-brass);
}

.pn-detail__value .pn-social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin: -0.55rem 0;
    padding: 0;
    list-style: none;
}

.pn-social-links a {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid rgba(242, 233, 218, 0.28);
    border-radius: 50%;
    color: var(--pn-bone);
    text-decoration: none;
    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-social-links a:hover,
.pn-social-links a:focus-visible {
    transform: translateY(-2px);
    border-color: var(--pn-brass);
    background: rgba(234, 213, 76, 0.1);
    color: var(--pn-brass);
    box-shadow: 0 0 1rem rgba(234, 213, 76, 0.2);
}

.pn-social-links svg {
    width: 1.15rem;
    height: 1.15rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.pn-social-links svg path:not(:first-child),
.pn-social-links svg rect + path {
    fill: currentColor;
}

.pn-social-links .pn-social-icon__dot {
    fill: currentColor;
    stroke: none;
}

.pn-floating-instagram {
    position: fixed;
    z-index: 30;
    right: 1rem;
    bottom: calc(4.5rem + env(safe-area-inset-bottom));
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border-radius: 0.875rem;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
    transition: transform 180ms var(--pn-ease);
}

.pn-floating-instagram svg {
    display: block;
    width: 100%;
    height: 100%;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.25));
}

.pn-floating-instagram:hover {
    transform: scale(1.05);
}

.pn-floating-instagram:focus-visible {
    outline: 2px solid var(--pn-brass);
    outline-offset: 4px;
}

@media (min-width: 768px) {
    .pn-floating-instagram {
        right: 1.5rem;
    }
}

@media (max-width: 767px) {
    .pn-glow-body [aria-label="Quick actions"] {
        bottom: calc(1rem + env(safe-area-inset-bottom)) !important;
    }

    .pn-floating-instagram {
        bottom: calc(1rem + env(safe-area-inset-bottom));
    }
}

.pn-button {
    display: inline-flex;
    min-height: 3.25rem;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    padding: 0.85rem 1.35rem;
    border: 1px solid var(--pn-brass);
    border-radius: 999px;
    background: var(--pn-brass);
    color: var(--pn-ink) !important;
    font-size: 0.77rem;
    font-weight: 900;
    letter-spacing: 0.11em;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    transition:
        color 180ms ease,
        background-color 180ms ease,
        transform 180ms var(--pn-ease),
        box-shadow 180ms ease;
}

.pn-button--outline {
    background: transparent;
    color: var(--pn-bone) !important;
}

.pn-button:focus-visible {
    transform: translateY(-2px);
}

.pn-services-contact-cta:focus-visible {
    border-color: var(--pn-bone);
    background-color: var(--pn-bone) !important;
    color: var(--pn-ink) !important;
}

.pn-button:active {
    transform: translateY(0);
}

.pn-button:hover,
.btn:not(.pn-button):hover {
    box-shadow: 0 0 1.1rem rgba(234, 213, 76, 0.26);
}

.btn:not(.pn-button) {
    border-radius: 999px;
    transition:
        transform 180ms var(--pn-ease),
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.btn:not(.pn-button):focus-visible {
    transform: translateY(-2px);
}

.pn-ticket {
    position: relative;
    border: 1px solid rgba(242, 233, 218, 0.15);
    background: var(--pn-denim);
    box-shadow: 0 1.5rem 4rem rgba(0, 0, 0, 0.18);
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-ticket__cap {
    padding: clamp(1.35rem, 3vw, 2rem);
}

.pn-ticket__cap h2 {
    margin: 0;
    font-family: var(--font-headline), Impact, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 900;
    line-height: 0.95;
    text-transform: uppercase;
}

.pn-ticket__cap p {
    margin: 0.8rem 0 0;
    color: var(--pn-muted);
    font-size: 0.96rem;
}

.pn-ticket__tear {
    position: relative;
    border-top: 1px dashed rgba(242, 233, 218, 0.62);
}

.pn-ticket__tear::before,
.pn-ticket__tear::after {
    position: absolute;
    top: -0.8rem;
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background: var(--pn-ink);
    content: "";
}

.pn-ticket__tear::before {
    left: -0.8rem;
}

.pn-ticket__tear::after {
    right: -0.8rem;
}

.pn-form {
    display: grid;
    gap: 1.05rem;
    padding: clamp(1.35rem, 3vw, 2rem);
}

.pn-form__row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.pn-field {
    display: grid;
    gap: 0.42rem;
}

.pn-field label {
    color: var(--pn-bone);
    font-size: 0.85rem;
    font-weight: 700;
}

.pn-field label span {
    color: var(--pn-muted);
    font-size: 0.78rem;
    font-weight: 500;
}

.pn-field input,
.pn-field select,
.pn-field textarea {
    width: 100%;
    min-height: 3rem;
    border: 1px solid rgba(242, 233, 218, 0.28);
    border-radius: 0.55rem;
    background: rgba(15, 23, 36, 0.58);
    padding: 0.75rem 0.85rem;
    color: var(--pn-bone);
    font: inherit;
}

.pn-field select {
    color-scheme: dark;
}

.pn-field textarea {
    min-height: 8rem;
    resize: vertical;
}

.pn-field input::placeholder,
.pn-field textarea::placeholder {
    color: rgba(197, 193, 187, 0.72);
}

.pn-form__note,
.pn-form__status {
    margin: 0;
    color: var(--pn-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.pn-form__status {
    min-height: 1.5em;
    color: var(--pn-brass);
    font-weight: 650;
}

.pn-form .pn-button {
    width: 100%;
    margin-top: 0.25rem;
}

.pn-location-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(2rem, 6vw, 5rem);
    align-items: center;
}

.pn-map {
    width: 100%;
    min-height: 20rem;
    border: 1px solid var(--pn-line);
    filter: saturate(0.74) contrast(1.04);
}

.pn-story-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.65fr);
    gap: clamp(2rem, 8vw, 8rem);
    align-items: center;
}

.pn-story {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.pn-story::after {
    position: absolute;
    z-index: -1;
    top: 50%;
    right: -10rem;
    width: 35rem;
    aspect-ratio: 1;
    border: 1px solid rgba(242, 233, 218, 0.045);
    border-radius: 50%;
    box-shadow:
        0 0 0 3rem rgba(242, 233, 218, 0.018),
        0 0 0 6rem rgba(242, 233, 218, 0.012);
    content: "";
    transform: translateY(-50%);
    pointer-events: none;
}

.pn-phone {
    width: min(100%, 22rem);
    justify-self: center;
}

.pn-phone__eyebrow {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin: 0 0 0.85rem 0.45rem;
    color: var(--pn-brass);
    font-size: 0.68rem;
    font-weight: 850;
    letter-spacing: 0.14em;
    line-height: 1.4;
    text-transform: uppercase;
}

.pn-phone__eyebrow span {
    color: rgba(242, 233, 218, 0.45);
}

.pn-phone__frame {
    position: relative;
    padding: 0.42rem;
    overflow: hidden;
    border: 1px solid rgba(242, 233, 218, 0.48);
    border-radius: 2.15rem;
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.16), transparent 22%),
        #080b10;
    box-shadow:
        0 1.6rem 3.5rem rgba(0, 0, 0, 0.38),
        0 0 0 4px rgba(8, 11, 16, 0.42),
        0 0 1.4rem rgba(234, 213, 76, 0.09),
        inset 0 0 0 2px rgba(255, 255, 255, 0.035);
    transition:
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 320ms var(--pn-ease);
}

.pn-phone__screen {
    position: relative;
    aspect-ratio: 9 / 16;
    overflow: hidden;
    border-radius: 1.75rem;
    background: var(--pn-ink);
}

.pn-phone__screen iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: #080b10;
}

.pn-phone__placeholder {
    display: grid;
    height: 100%;
    margin: 0;
    padding: 2rem;
    place-items: center;
    color: var(--pn-bone);
    text-align: center;
}

.pn-phone__placeholder a,
.pn-phone__link {
    color: var(--pn-brass);
    text-decoration: underline;
    text-decoration-color: rgba(234, 213, 76, 0.55);
    text-underline-offset: 0.2em;
}

.pn-phone__link {
    display: flex;
    min-height: 3rem;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    margin: 0.8rem 0.1rem 0;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(242, 233, 218, 0.14);
    border-radius: 0.65rem;
    background: rgba(15, 23, 36, 0.42);
    color: var(--pn-bone);
    font-size: 0.82rem;
    font-weight: 650;
    text-decoration: none;
    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-phone__link span:last-child {
    color: var(--pn-brass);
}

.pn-phone__link:hover,
.pn-phone__link:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(234, 213, 76, 0.5);
    background: rgba(15, 23, 36, 0.75);
    color: var(--pn-brass);
}

.pn-class-schedule {
    max-width: 64rem;
    margin: 2.5rem auto 0;
    padding: 0;
    border-top: 1px solid rgba(242, 233, 218, 0.4);
    list-style: none;
}

.pn-class-schedule__row {
    display: grid;
    grid-template-columns: minmax(8rem, 0.35fr) minmax(0, 1fr);
    gap: clamp(1rem, 4vw, 3rem);
    align-items: center;
    padding-block: clamp(1.1rem, 2.6vw, 1.6rem);
    border-bottom: 1px solid rgba(242, 233, 218, 0.3);
}

.pn-class-schedule__time,
.pn-class-schedule__name {
    margin: 0;
}

.pn-class-schedule__time {
    color: var(--pn-brass);
    font-family: var(--font-headline), Impact, sans-serif;
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
}

.pn-class-schedule__name {
    color: var(--pn-bone);
    font-size: clamp(1rem, 2.2vw, 1.3rem);
    font-weight: 650;
    line-height: 1.35;
}

.pn-class-schedule__note {
    margin: 1.25rem 0 0;
    color: var(--pn-muted);
    font-size: 0.9rem;
    text-align: center;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .pn-phone:hover .pn-phone__frame {
        transform: translateY(-4px) rotate(-0.5deg);
        border-color: rgba(234, 213, 76, 0.5);
        box-shadow:
            0 2rem 4rem rgba(0, 0, 0, 0.42),
            0 0 0 4px rgba(8, 11, 16, 0.42),
            0 0 1.8rem rgba(234, 213, 76, 0.12),
            inset 0 0 0 2px rgba(255, 255, 255, 0.035);
    }
}



.pn-story-mark {
    padding: clamp(1.5rem, 4vw, 3rem);
    border-left: 2px solid var(--pn-brass);
    background: rgba(15, 23, 36, 0.3);
    transition:
        background-color 180ms ease,
        border-color 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-story-mark p {
    margin: 0;
    color: var(--pn-bone);
    font-family: var(--font-headline), Impact, sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 900;
    line-height: 1.02;
    text-transform: uppercase;
}

.pn-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2.5rem;
}

.pn-gallery__item {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--pn-line);
    background: var(--pn-deep);
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-video-story {
    border: 1px solid transparent;
    border-radius: var(--pn-radius);
    transition:
        border-color 180ms ease,
        box-shadow 180ms ease,
        transform 180ms var(--pn-ease);
}

@media (hover: hover) and (pointer: fine) {
    .pn-button:hover {
        background: transparent;
        color: var(--pn-brass) !important;
        transform: translateY(-2px);
    }

    .pn-first-step-cta:hover {
        border-color: var(--pn-bone);
        background: var(--pn-bone);
        color: var(--pn-ink) !important;
    }

    .pn-services-contact-cta:hover {
        border-color: var(--pn-bone);
        background-color: var(--pn-bone) !important;
        color: var(--pn-ink) !important;
    }

    .btn:not(.pn-button):hover {
        transform: translateY(-2px);
    }

    .pn-button--outline:hover {
        background: var(--pn-bone);
        color: var(--pn-ink) !important;
    }

    .pn-button svg {
        transition: transform 180ms var(--pn-ease);
    }

    .pn-button:hover svg {
        transform: translateX(3px);
    }

    .pn-ticket:hover,
    .pn-story-mark:hover,
    .pn-gallery__item:hover,
    .pn-video-story:hover {
        transform: translateY(-2px);
    }

    .pn-ticket:hover,
    .pn-ticket:focus-within,
    .pn-gallery__item:hover,
    .pn-gallery__item:focus-within,
    .pn-video-story:hover,
    .pn-video-story:focus-within {
        border-color: rgba(234, 213, 76, 0.55);
        box-shadow:
            0 1rem 2.5rem rgba(0, 0, 0, 0.22),
            0 0 1.5rem rgba(234, 213, 76, 0.12);
    }
}

.pn-first-step-cta:focus-visible {
    border-color: var(--pn-bone);
    background: var(--pn-bone);
    color: var(--pn-ink) !important;
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
    .pn-ticket.pn-pointer-ready:hover,
    .pn-story-mark.pn-pointer-ready:hover,
    .pn-gallery__item.pn-pointer-ready:hover,
    .pn-video-story.pn-pointer-ready:hover,
    .pn-reel-card.pn-pointer-ready:hover,
    .btn.pn-pointer-ready:hover {
        background-image: radial-gradient(
            circle 14rem at var(--pn-pointer-x, 50%) var(--pn-pointer-y, 50%),
            rgba(234, 213, 76, 0.11),
            transparent 100%
        );
    }
}

.pn-gallery__item iframe {
    display: block;
    width: 100%;
    height: 34rem;
    border: 0;
    background: var(--pn-deep);
}

.pn-gallery__fallback {
    display: flex;
    min-height: 3.4rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    padding: 0.8rem 1rem;
    color: var(--pn-muted);
    font-size: 0.83rem;
}

.pn-gallery__fallback a {
    flex: 0 0 auto;
    color: var(--pn-brass);
}

.pn-location-grid .pn-map,
.pn-glow-body iframe.map-themed {
    border-radius: var(--pn-radius);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.pn-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
}

.pn-cta__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
}

.pn-footer {
    padding-block: 3.5rem 1.5rem;
    background: var(--pn-deep);
}

.pn-footer__wordmark {
    -webkit-text-stroke: 1.5px rgba(5, 9, 16, 0.86);
    text-shadow:
        0 0.08em 0 rgba(5, 9, 16, 0.7),
        0 0 0.5rem rgba(234, 213, 76, 0.72),
        0 0 1.5rem rgba(234, 213, 76, 0.38),
        0 0 3rem rgba(234, 213, 76, 0.2);
}

.pn-footer__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 3rem);
    padding-bottom: 2.5rem;
}

.pn-footer__grid > :is(nav, div) > h2 {
    margin-bottom: 1.1rem;
    font-size: clamp(0.9rem, 1.1vw, 1rem);
    line-height: 1.2;
}

.pn-footer__logo {
    width: 5.5rem;
    height: 5.5rem;
    object-fit: contain;
    object-position: left center;
}

.pn-footer__copy {
    max-width: 34ch;
    margin: 1rem 0 0;
    color: var(--pn-muted);
    font-size: 0.9rem;
}

.pn-footer__heading {
    margin: 0 0 0.9rem;
    color: var(--pn-muted);
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.pn-footer__links {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.9rem;
}

.pn-footer__socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pn-footer__socials a {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    border: 1px solid rgba(242, 233, 218, 0.2);
    border-radius: 50%;
    color: var(--pn-bone);
    transition:
        color 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease,
        transform 180ms var(--pn-ease);
}

.pn-footer__socials a:hover,
.pn-footer__socials a:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(234, 213, 76, 0.65);
    background: rgba(234, 213, 76, 0.08);
    color: var(--pn-brass);
}

.pn-footer__socials svg {
    width: 1.2rem;
    height: 1.2rem;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.7;
}

.pn-footer__socials li:nth-child(2) svg {
    fill: currentColor;
    stroke: none;
}

.pn-footer__socials li:nth-child(2) svg path {
    fill: currentColor;
}

.pn-footer__socials li:nth-child(4) svg path:last-child {
    fill: currentColor;
    stroke: none;
}

.pn-footer__map {
    display: block;
    width: 100%;
    max-width: 19rem;
    height: 8rem;
    margin-top: 0.8rem;
    border: 1px solid var(--pn-line);
    border-radius: 0.65rem;
    filter: saturate(0.74) contrast(1.04);
}

.pn-footer__legal {
    margin: 0;
    padding-top: 1.2rem;
    border-top: 1px solid var(--pn-line);
    color: var(--pn-muted);
    font-size: 0.78rem;
}

.pn-skip {
    position: absolute;
    z-index: 100;
    top: 0.75rem;
    left: 0.75rem;
    padding: 0.7rem 1rem;
    transform: translateY(-180%);
    background: var(--pn-brass);
    color: var(--pn-ink) !important;
    font-weight: 800;
}

.pn-skip:focus {
    transform: translateY(0);
}

.pn-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    clip-path: inset(50%);
}

@media (max-width: 800px) {
    .pn-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 2.25rem;
    }

    .pn-primary-nav {
        display: none;
    }

    .pn-header__cta {
        display: none !important;
    }

    .pn-menu {
        display: block;
    }

    .pn-main {
        padding-top: 4rem;
    }

    .pn-split,
    .pn-location-grid,
    .pn-story-grid {
        grid-template-columns: 1fr;
    }

    .pn-gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pn-gallery__item:last-child {
        grid-column: 1 / -1;
        width: min(100%, 28rem);
    }

    .pn-gallery__item iframe {
        height: 31rem;
    }

    .pn-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 561px) and (max-width: 900px) {
    .pn-video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1024px) {
    .pn-home-menu {
        display: none !important;
    }
}

@media (max-width: 560px) {
    body > header.pn-glass-header {
        inset: 0.5rem 0.6rem auto !important;
        border-radius: 999px;
    }

    body > header.pn-glass-header > .container-peak {
        padding-inline: 0.65rem;
    }

    .pn-container {
        width: min(100% - 2rem, 76rem);
    }

    .pn-header__inner {
        min-height: 4.5rem;
    }

    .pn-brand img {
        width: 3.1rem;
        height: 3.1rem;
    }

    .pn-menu__panel {
        inset-block-start: 4.5rem;
    }

    .pn-main {
        padding-top: 4.5rem;
    }

    .pn-hero {
        min-height: 27rem;
    }

    .pn-breadcrumb {
        margin-bottom: 1.8rem;
    }

    .pn-form__row,
    .pn-gallery {
        grid-template-columns: 1fr;
    }

    .pn-footer__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 2rem;
    }

    .pn-footer__grid > :first-child {
        grid-column: 1 / -1;
    }



    .pn-footer__wordmark {
        -webkit-text-stroke-width: 1px;
        text-shadow:
            0 0 0.3rem rgba(234, 213, 76, 0.58),
            0 0 1rem rgba(234, 213, 76, 0.26);
    }

    .pn-gallery__item:last-child {
        grid-column: auto;
        width: auto;
    }

    .pn-gallery__item iframe {
        height: 32rem;
    }

    .pn-video-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 1.25rem;
    }

    .pn-reel-card {
        width: min(100%, 25rem);
        justify-self: center;
    }

    .pn-reel-card iframe {
        height: min(31rem, 132vw);
        min-height: 27rem;
    }

    .pn-contact-dialog__inner {
        padding: 0.65rem;
    }

    .pn-contact-dialog .pn-form__row {
        grid-template-columns: minmax(0, 1fr);
    }

    .pn-detail {
        grid-template-columns: 5.5rem minmax(0, 1fr);
    }

    .pn-cta__actions,
    .pn-cta__actions .pn-button {
        width: 100%;
    }
}

@media (max-width: 359px) {
    .pn-phone__screen iframe {
        width: 122%;
        height: 122%;
        transform: scale(0.82);
        transform-origin: top left;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .pn-button:hover,
    .pn-button:focus-visible,
    .pn-button:active,
    .btn:not(.pn-button):hover,
    .btn:not(.pn-button):focus-visible,
    .pn-ticket:hover,
    .pn-story-mark:hover,
    .pn-gallery__item:hover {
        transform: none;
    }

    .pn-gallery__item:focus-within,
    .pn-review-card:hover,
    .pn-review-card:focus-within,
    .pn-video-story:hover,
    .pn-video-story:focus-within,
    .pn-reel-card:hover,
    .pn-reel-card:focus-within {
        transform: none;
    }

    .pn-button:hover svg {
        transform: none;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

@media print {
    .pn-motion-ready [data-pn-reveal] {
        opacity: 1 !important;
        transform: none !important;
    }
}
