@layer pages {
    .nur-narrow {
        max-width: 820px;
    }

    .nur-section--tight {
        padding-block: var(--nur-space-6);
    }

    .nur-checklist {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-3);
        margin-block: var(--nur-space-4);
    }

    .nur-checklist li {
        display: flex;
        gap: var(--nur-space-3);
        align-items: flex-start;
    }

    .nur-checklist svg {
        flex: none;
        width: 28px;
        height: 28px;
        padding: 5px;
        border-radius: 50%;
        background: var(--nur-green-100);
        color: var(--nur-success);
    }

    .nur-checklist b {
        display: block;
    }

    .nur-checklist span {
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-sm);
    }

    /* contact */
    .nur-contact,
    .nur-visa {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-6);
    }

    .nur-contact__list {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-3);
        margin-block: var(--nur-space-4) var(--nur-space-5);
    }

    .nur-contact__item {
        display: flex;
        align-items: center;
        gap: var(--nur-space-4);
        min-height: 64px;
        padding: var(--nur-space-3) var(--nur-space-4);
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius);
        background: var(--nur-surface);
        font-weight: 600;
        overflow-wrap: anywhere;
    }

    .nur-contact__item > svg {
        flex: none;
        width: 44px;
        height: 44px;
        padding: 10px;
        border-radius: 50%;
        background: var(--nur-sand-100);
        color: var(--nur-primary);
    }

    .nur-contact__item--wa > svg {
        background: var(--nur-green-100);
        color: var(--nur-success);
    }

    .nur-contact__item small {
        display: block;
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-xs);
        font-weight: 500;
    }

    .nur-contact__social {
        display: flex;
        flex-wrap: wrap;
        gap: var(--nur-space-2);
        margin-top: var(--nur-space-2);
    }

    .nur-contact__form {
        padding: var(--nur-space-5);
    }

    .nur-contact__form h2,
    .nur-visa__form h2 {
        margin-bottom: var(--nur-space-4);
    }

    .nur-map {
        display: grid;
        place-items: center;
        min-height: 320px;
        border-radius: var(--nur-radius);
        background: var(--nur-sand-100);
        overflow: hidden;
    }

    .nur-map iframe {
        width: 100%;
        height: 380px;
        border: 0;
    }

    .nur-map.is-loaded {
        display: block;
        min-height: 0;
    }

    /* visa */
    .nur-visa__aside h2 {
        margin-bottom: var(--nur-space-3);
    }

    .nur-visa__form {
        padding: var(--nur-space-5);
    }

    .nur-form--steps {
        gap: var(--nur-space-5);
    }

    .nur-fieldset {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-4);
        min-width: 0;
        margin: 0;
        padding: 0;
        border: 0;
    }

    .nur-fieldset legend {
        display: flex;
        align-items: center;
        gap: var(--nur-space-3);
        margin-bottom: var(--nur-space-4);
        padding: 0;
        font-family: var(--nur-font-display);
        font-size: var(--nur-text-xl);
        font-weight: 700;
    }

    .nur-fieldset legend small {
        color: var(--nur-ink-soft);
        font-family: var(--nur-font-body);
        font-size: var(--nur-text-xs);
        font-weight: 500;
    }

    .nur-fieldset + .nur-fieldset {
        padding-top: var(--nur-space-5);
        border-top: 1px solid var(--nur-line);
    }

    .nur-fieldset__num {
        display: inline-grid;
        place-items: center;
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: var(--nur-primary);
        color: #fff;
        font-family: var(--nur-font-body);
        font-size: var(--nur-text-sm);
    }

    .nur-form__row--3 {
        grid-template-columns: 1fr 1.4fr 1.2fr;
        gap: var(--nur-space-2);
    }

    .nur-form__row--phone {
        grid-template-columns: 96px 1fr;
        gap: var(--nur-space-3);
    }

    .nur-upload {
        display: flex;
        align-items: center;
        gap: var(--nur-space-3);
        min-height: 72px;
        padding: var(--nur-space-3) var(--nur-space-4);
        border: 1px dashed var(--nur-navy-500);
        border-radius: var(--nur-radius);
        background: var(--nur-surface);
        cursor: pointer;
    }

    .nur-upload > svg {
        flex: none;
        width: 44px;
        height: 44px;
        padding: 10px;
        border-radius: 12px;
        background: var(--nur-green-100);
        color: var(--nur-success);
    }

    .nur-upload__text {
        flex: 1;
        min-width: 0;
    }

    .nur-upload__text b,
    .nur-upload__text small {
        display: block;
        overflow-wrap: anywhere;
    }

    .nur-upload__text small {
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-xs);
    }

    .nur-upload__action {
        padding: var(--nur-space-2) var(--nur-space-4);
        border-radius: 999px;
        background: var(--nur-primary);
        color: #fff;
        font-size: var(--nur-text-sm);
        font-weight: 700;
    }

    /* visually hidden but focusable, so keyboard and validation still work */
    .nur-upload__input {
        position: absolute;
        width: 1px;
        height: 1px;
        opacity: 0;
        overflow: hidden;
        pointer-events: none;
    }

    .nur-field {
        position: relative;
    }

    .nur-upload__input:focus-visible + *,
    .nur-field:has(.nur-upload__input:focus-visible) .nur-upload {
        outline: 3px solid rgba(201, 150, 46, 0.5);
        outline-offset: 2px;
    }

    /* about */
    .nur-about {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-5);
        align-items: center;
    }

    .nur-about__img {
        width: 100%;
        height: auto;
        aspect-ratio: 4 / 3;
        object-fit: cover;
        border-radius: var(--nur-radius-lg);
    }

    .nur-about__body {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-3);
        justify-items: start;
    }

    .nur-statgrid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--nur-space-5) var(--nur-space-3);
    }

    .nur-videoband {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        align-items: end;
        min-height: 300px;
        border-radius: var(--nur-radius-lg);
        background: var(--nur-primary-strong);
        color: #fff;
        overflow: hidden;
    }

    .nur-videoband__media {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .nur-videoband::after {
        content: "";
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(10, 31, 71, 0.85), rgba(10, 31, 71, 0.1) 70%);
    }

    .nur-videoband__body {
        position: relative;
        z-index: 1;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-2);
        padding: var(--nur-space-5);
    }

    .nur-videoband__body p {
        max-width: 32ch;
        font-family: var(--nur-font-display);
        font-size: var(--nur-text-xl);
    }

    .nur-videoband__body strong {
        color: var(--nur-gold-300);
    }

    .nur-reason svg {
        width: 44px;
        height: 44px;
        margin-bottom: var(--nur-space-3);
        padding: 10px;
        border-radius: 12px;
        background: var(--nur-sand-100);
        color: var(--nur-primary);
    }

    .nur-reason h3 {
        margin-bottom: var(--nur-space-2);
        font-size: var(--nur-text-lg);
    }

    .nur-reason p {
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-sm);
    }

    .nur-steps {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-3);
        counter-reset: nur-step;
    }

    .nur-steps li {
        position: relative;
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: var(--nur-space-1);
        padding: var(--nur-space-4) var(--nur-space-4) var(--nur-space-4) 64px;
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius);
        background: var(--nur-surface);
        counter-increment: nur-step;
    }

    .nur-steps li::before {
        content: counter(nur-step);
        position: absolute;
        top: var(--nur-space-4);
        left: var(--nur-space-4);
        display: grid;
        place-items: center;
        width: 36px;
        height: 36px;
        border-radius: 50%;
        background: var(--nur-gold-500);
        color: #fff;
        font-weight: 700;
    }

    .nur-steps span {
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-sm);
    }

    .nur-member {
        overflow: hidden;
        border: 1px solid var(--nur-line);
        border-radius: var(--nur-radius);
        background: var(--nur-surface);
    }

    .nur-member img {
        width: 100%;
        height: auto;
        aspect-ratio: 1 / 1;
        object-fit: cover;
    }

    .nur-member__body {
        padding: var(--nur-space-4);
    }

    .nur-member__body small {
        color: var(--nur-gold-600);
        font-size: var(--nur-text-xs);
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .nur-member__body p {
        margin-top: var(--nur-space-2);
        color: var(--nur-ink-soft);
        font-size: var(--nur-text-sm);
    }

    .nur-bank {
        margin-block: var(--nur-space-4);
        overflow-wrap: anywhere;
    }

    /* gallery */
    .nur-gallery {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--nur-space-2);
    }

    .nur-gallery__item {
        position: relative;
        display: block;
        aspect-ratio: 1 / 1;
        border-radius: var(--nur-radius-sm);
        background: var(--nur-sand-100);
        overflow: hidden;
    }

    .nur-gallery__item img,
    .nur-gallery__item video {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .nur-gallery__play {
        position: absolute;
        inset: 0;
        display: grid;
        place-items: center;
    }

    .nur-gallery__play svg {
        width: 52px;
        height: 52px;
        padding: 14px;
        border-radius: 50%;
        background: rgba(10, 31, 71, 0.72);
        color: #fff;
    }

    .nur-lightbox {
        width: 100%;
        max-width: none;
        height: 100%;
        max-height: none;
        margin: 0;
        padding: 0;
        border: 0;
        background: rgba(10, 31, 71, 0.96);
        color: #fff;
    }

    .nur-lightbox[open] {
        display: grid;
        grid-template-rows: 1fr auto;
        grid-template-columns: 1fr;
    }

    .nur-lightbox::backdrop {
        background: rgba(10, 31, 71, 0.96);
    }

    .nur-lightbox__stage {
        display: grid;
        place-items: center;
        min-height: 0;
        padding: var(--nur-space-7) var(--nur-space-2) var(--nur-space-2);
    }

    .nur-lightbox__stage img,
    .nur-lightbox__stage video {
        max-width: 100%;
        max-height: 100%;
        object-fit: contain;
    }

    .nur-lightbox__caption {
        padding: var(--nur-space-3) var(--nur-space-4) calc(var(--nur-space-4) + env(safe-area-inset-bottom));
        text-align: center;
        font-size: var(--nur-text-sm);
    }

    .nur-lightbox .nur-icon-btn {
        color: #fff;
        background: rgba(255, 255, 255, 0.14);
    }

    .nur-lightbox__close {
        position: absolute;
        top: max(var(--nur-space-2), env(safe-area-inset-top));
        right: var(--nur-space-2);
        z-index: 2;
    }

    .nur-lightbox__nav {
        position: absolute;
        top: 50%;
        z-index: 2;
        transform: translateY(-50%);
    }

    .nur-lightbox__nav--prev {
        left: var(--nur-space-2);
    }

    .nur-lightbox__nav--prev svg {
        transform: rotate(180deg);
    }

    .nur-lightbox__nav--next {
        right: var(--nur-space-2);
    }

    @media (min-width: 768px) {
        .nur-gallery {
            grid-template-columns: repeat(3, 1fr);
            gap: var(--nur-space-4);
        }

        .nur-statgrid {
            grid-template-columns: repeat(4, 1fr);
        }

        .nur-steps {
            grid-template-columns: repeat(3, 1fr);
        }

        .nur-contact__form,
        .nur-visa__form {
            padding: var(--nur-space-6);
        }
    }

    @media (min-width: 1024px) {
        .nur-contact {
            grid-template-columns: 1fr 1fr;
            align-items: start;
            gap: var(--nur-space-7);
        }

        .nur-visa {
            grid-template-columns: 340px 1fr;
            align-items: start;
            gap: var(--nur-space-6);
        }

        .nur-visa__aside {
            position: sticky;
            top: calc(var(--nur-header-h) + var(--nur-space-4));
        }

        .nur-about {
            grid-template-columns: 1fr 1fr;
            gap: var(--nur-space-7);
        }

        .nur-gallery {
            grid-template-columns: repeat(4, 1fr);
        }

        .nur-team {
            grid-template-columns: repeat(4, 1fr);
        }

        .nur-reasons {
            grid-template-columns: repeat(4, 1fr);
        }

        .nur-videoband {
            min-height: 380px;
        }
    }
}
