/* 25 September assets. Keep desktop PSD geometry; mobile hero is 720 × 1277. */
/* Hiding overflow on the site's fixed-height body collapsed the document scroll range. */
body.ak47-dialog-open { overflow: visible; }
html.ak47-dialog-open { overflow: hidden; scroll-behavior: auto; padding-right: var(--ak-dialog-scrollbar-gap, 0px); }

/* Beat the site's generic button:hover rule without covering the video poster. */
.ak47-landing .ak47-video button.ak47-video-start { background: transparent; border-color: transparent; box-shadow: none; }

/* Neighboring images use the current central image dimensions, without scale(). */
.ak47-gallery .ak47-photo-slider { --ak-photo-width: calc(1292 * var(--ak-u)); }
.ak47-photo-neighbor { position: absolute; top: 0; width: var(--ak-photo-width); height: 100%; opacity: .35; pointer-events: none; user-select: none; }
.ak47-photo-neighbor--prev { right: 50%; }
.ak47-photo-neighbor--next { left: 50%; }
.ak47-photo-neighbor img { width: 100%; height: 100%; object-fit: cover; }
.ak47-gallery .ak47-photo-slider__frame { z-index: 1; }
.ak47-gallery .ak47-photo-arrow { z-index: 2; }
/* One continuous, full-size strip, like evofly: 500ms horizontal motion, no zoom. */
.ak47-photo-slider--strip .ak47-photo-neighbor { visibility: hidden; }
.ak47-photo-slider--strip .ak47-photo-slider__frame { overflow: visible; isolation: isolate; }
.ak47-photo-slider--strip .ak47-photo-slide { opacity: 0; transition: none; }
.ak47-photo-track { position: absolute; inset: 0; pointer-events: none; user-select: none; }
.ak47-photo-track__image { position: absolute; top: 0; width: 100%; height: 100%; max-width: none; object-fit: contain; pointer-events: none; user-select: none; }

/* Dialog arrows have their own gutters and never cover the photograph. */
.ak47-material-dialog .ak47-photo-slider { padding-inline: 60px; }
.ak47-material-dialog .ak47-photo-slider__frame { width: 100%; height: min(65dvh, 680px); max-height: none; aspect-ratio: auto; margin-inline: auto; }
.ak47-material-dialog .ak47-photo-arrow--prev { left: 0; }
.ak47-material-dialog .ak47-photo-arrow--next { right: 0; }
.ak47-material-dialog .ak47-photo-counter { bottom: 8px; }
.ak47-material-dialog--guide { width: min(1600px, calc(100% - 32px)); background: #000; }
.ak47-chart-help { margin-bottom: 16px !important; font-size: 15px; color: #ccc; }
/* Contain horizontal table panning only; vertical wheel/touch must reach the dialog. */
.ak47-chart-viewport { width: 100%; overflow: auto; overscroll-behavior-x: contain; overscroll-behavior-y: auto; scrollbar-color: #753bbd #171320; }
.ak47-chart-viewport:focus-visible { outline: 2px solid #a687ef; outline-offset: 2px; }
.ak47-chart-viewport .ak47-size-chart { width: 100%; min-width: 1200px; max-width: none; height: auto; margin: 0; }

/* Preserve the supplied article pixel-for-pixel on desktop; reflow its copy on mobile. */
.ak47-material-dialog--history { width: min(1600px, calc(100% - 32px)); background: #000; }
/* Overlay the sticky close control: its old float pushed the full-width artwork down. */
.ak47-material-dialog--history[open] { display: grid; grid-template-columns: minmax(0, 1fr); }
.ak47-material-dialog--history .ak47-dialog-body { grid-area: 1 / 1; min-width: 0; padding: 0; }
.ak47-landing .ak47-material-dialog--history .ak47-dialog-close { grid-area: 1 / 1; align-self: start; justify-self: end; float: none; }
.ak47-history-artwork { width: 100%; height: auto; }
.ak47-history-content { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 1023px) {
    /* One continuous background for about/capsules/photos, with its native proportions. */
    .ak47-content-background { background-size: cover; background-position: center top; }
    .ak47-gallery .ak47-photo-slider { --ak-photo-width: calc(100% - 60px); }
    .ak47-material-dialog .ak47-photo-slider { padding-inline: 44px; }
}
@media (max-width: 767px) {
    .ak47-landing { --ak-m: calc(100cqw / 720); }
    .ak47-hero { position: relative; height: calc(1277 * var(--ak-m)); min-height: 0; padding: 0; }
    .ak47-hero__bg { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; aspect-ratio: auto; object-fit: fill; object-position: center; }
    .ak47-hero__content { position: relative; width: 100%; height: 100%; padding: 0; margin: 0; display: block; text-align: left; }
    .ak47-hero__title { position: absolute; inset: auto; left: calc(31 * var(--ak-m)); top: calc(87 * var(--ak-m)); width: calc(484 * var(--ak-m)); max-width: none; height: calc(86 * var(--ak-m)); margin: 0; }
    .ak47-hero__brand { width: 100%; height: 100%; }
    .ak47-hero__lead { position: absolute; left: calc(31.16 * var(--ak-m)); top: calc(214.36 * var(--ak-m)); width: calc(650 * var(--ak-m)); max-width: none; margin: 0 !important; font-size: calc(28 * var(--ak-m)); line-height: calc(30.328 * var(--ak-m)); letter-spacing: -.009em; transform: none; }
    .ak47-hero .ak47-desktop-break { display: inline; }
    .ak47-hero__lead br { display: inline; }
    .ak47-hero__signature { position: absolute; left: 0; top: calc(332 * var(--ak-m)); width: 100%; height: calc(173 * var(--ak-m)); margin: 0; display: block; }
    .ak47-hero__signature img { position: absolute; left: calc(29 * var(--ak-m)); top: 0; width: calc(227 * var(--ak-m)); height: calc(173 * var(--ak-m)); }
    .ak47-hero__signature span { position: absolute; left: calc(287.06 * var(--ak-m)); top: calc(66.76 * var(--ak-m)); padding: 0; max-width: none; font-size: calc(28 * var(--ak-m)); line-height: calc(33.879 * var(--ak-m)); }
    .ak47-landing .ak47-hero__content > .ak47-button { position: absolute; left: calc(32 * var(--ak-m)); top: calc(1087 * var(--ak-m)); width: calc(631 * var(--ak-m)); height: calc(124 * var(--ak-m)); min-width: 0; min-height: 0; margin: 0; padding: 0 calc(53 * var(--ak-m)) 0 calc(63 * var(--ak-m)); border: calc(3 * var(--ak-m)) solid #fff; border-radius: calc(28 * var(--ak-m)); font: 600 calc(30.802 * var(--ak-m))/calc(33.807 * var(--ak-m)) 'TT Firs Text',sans-serif; white-space: nowrap; }
    .ak47-landing .ak47-cta-arrow { width: calc(66 * var(--ak-m)); height: calc(60 * var(--ak-m)); }
    .ak47-header { height: calc(180 * var(--ak-m)); background: transparent; }
    .ak47-header__inner { position: relative; width: 100%; height: 100%; min-height: 0; display: block; }
    .ak47-header__logo { display: none; }
    .page-wrap .ak47-menu-toggle { position: absolute; left: calc(592 * var(--ak-m)); top: calc(86 * var(--ak-m)); width: calc(94 * var(--ak-m)); height: calc(94 * var(--ak-m)); min-width: 42px; min-height: 42px; gap: calc(11.5 * var(--ak-m)); border-width: calc(3 * var(--ak-m)) !important; }
    .ak47-menu-toggle__line { width: calc(37 * var(--ak-m)); height: calc(3 * var(--ak-m)); border-radius: 0; }
    .ak47-menu-toggle[aria-expanded="true"] .ak47-menu-toggle__line:nth-child(1) { transform: translateY(calc(14.5 * var(--ak-m))) rotate(45deg); }
    .ak47-menu-toggle[aria-expanded="true"] .ak47-menu-toggle__line:nth-child(3) { transform: translateY(calc(-14.5 * var(--ak-m))) rotate(-45deg); }
    .ak47-material-dialog .ak47-dialog-body { padding-inline: 16px; }
    .ak47-material-dialog .ak47-photo-slider { padding-inline: 36px; }
    .ak47-material-dialog .ak47-photo-slider__frame { height: min(52dvh, 420px); }
    .ak47-material-dialog--style .ak47-photo-slider__frame { height: auto; aspect-ratio: 1280 / 955; }
    .ak47-material-dialog--history, .ak47-material-dialog--guide { width: calc(100% - 20px); }
    .ak47-landing .ak47-history-artwork { display: none; }
    .ak47-history-content { position: static; width: auto; height: auto; padding: 12px 4px 24px; margin: 0; overflow: visible; clip-path: none; white-space: normal; font-size: 16px; line-height: 1.45; }
    .ak47-history-content h2 { color: #753bbd; font-size: 28px; line-height: 1.1; text-transform: uppercase; padding-right: 56px; }
    .ak47-history-portrait { width: min(100%, 320px); height: auto; margin: 0 auto 24px; border-radius: 12px; }
    .ak47-history-content p { margin-bottom: 24px !important; }
    .ak47-history-timeline { margin: 0 0 24px; border-left: 2px solid #753bbd; padding-left: 16px; }
    .ak47-history-timeline dt { font-size: 22px; color: #b68be9; margin-bottom: 8px; }
    .ak47-history-timeline dd { margin: 0 0 24px; }
    .ak47-history-mark { width: 220px; height: auto; margin: 0 0 20px; }
    .ak47-history-content .ak47-history-principles { list-style: none; padding: 0; margin-bottom: 24px; }
    .ak47-history-principles li { list-style: none; border-left: 2px solid #753bbd; padding-left: 14px; margin-bottom: 22px; }
    /* The site template adds red rings through ul li::before; this artwork uses rules only. */
    .ak47-landing .ak47-history-principles > li::before { content: none; display: none; }
    .ak47-history-content .ak47-history-ending { font-weight: 600; font-size: 25px; line-height: 1.15; color: #753bbd; text-transform: uppercase; }
}
