.sdm__reveal,
.sdm__reveal-stage {
    width: 100%;
}

.sdm {
    --sdm-vh: 100vh;
    --sdm-bg: #0b0709;
    --sdm-panel: #16101a;
    --sdm-ink: rgb(255, 234, 235);
    --sdm-ink-soft: rgb(255, 214, 216);
    --sdm-red: rgb(248, 63, 64);
    --sdm-red-deep: rgb(178, 24, 16);
    --sdm-orange: rgb(255, 122, 26);
    --sdm-line: rgba(255, 234, 235, .08);
    --sdm-max: 1232px;

    position: relative;
    background: var(--sdm-bg);
    color: var(--sdm-ink);
    font-family: Satoshi, 'Helvetica Neue', Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.sdm *,
.sdm *::before,
.sdm *::after {
    box-sizing: border-box;
}

.sdm img {
    max-width: 100%;
}

.sdm img.sdm__reveal-pattern,
.sdm img.sdm__hero-pattern,
.sdm img.sdm__promo-pattern,
.sdm img.sdm__panel-pattern,
.sdm .sdm__cta-bg img {
    max-width: none;
    width: 130%;
}

.sdm h1,
.sdm h2 {
    margin: 0;
    letter-spacing: -.5px;
    color: #fff;
    text-wrap: pretty;
}

.sdm__section {
    max-width: var(--sdm-max);
    margin: 0 auto;
    padding: 56px 40px;
}

.sdm__kicker {
    display: block;
    font-size: 11px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--sdm-red);
}

.sdm__h2 {
    font-size: clamp(28px, 3.4vw, 36px);
    line-height: 1.15;
    font-weight: 900;
}

.sdm__p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    color: var(--sdm-ink-soft);
}

.sdm__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    padding: 0 30px;
    border-radius: 999px;
    background: var(--sdm-red);
    color: #fff;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    border: 0;
    cursor: pointer;
    font-family: inherit;
    box-shadow: 0 10px 30px rgba(248, 63, 64, .35);
    transition: background .2s;
}

.sdm__btn:hover,
.sdm__btn:focus-visible {
    background: rgb(227, 55, 60);
    color: #fff;
}

.sdm__btn--ghost {
    background: none;
    border: 1px solid rgba(255, 234, 235, .4);
    box-shadow: none;
    padding: 0 24px;
}

.sdm__btn--ghost:hover,
.sdm__btn--ghost:focus-visible {
    background: none;
    border-color: #fff;
}

.sdm__reveal {
    position: relative;
    height: 280vh;
    background: var(--sdm-bg);
}

.sdm__reveal-stage {
    position: sticky;
    top: 0;
    height: var(--sdm-vh);
    overflow: hidden;
    background: var(--sdm-bg);
    transition: opacity .2s linear;
}

@supports (height: 100svh) {
    .sdm {
        --sdm-vh: 100svh;
    }
}

.sdm--reveal-on .sdm__hero {
    margin-top: calc(var(--sdm-vh) * -1);
    opacity: 0;
}

.sdm__reveal-pattern {
    position: absolute;
    left: -10%;
    top: -20%;
    width: 130%;
    height: 150%;
    object-fit: cover;
    opacity: .35;
    pointer-events: none;
}

.sdm__reveal-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(60% 50% at 50% 55%, rgba(178, 24, 16, .75), rgba(11, 7, 9, 0) 70%);
    pointer-events: none;
}

.sdm__reveal-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.sdm__reveal-skip {
    position: absolute;
    top: 24px;
    right: 28px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border-radius: 999px;
    border: 1px solid rgba(255, 234, 235, .28);
    background: rgba(11, 7, 9, .55);
    color: rgb(255, 229, 230);
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .4px;
    cursor: pointer;
    backdrop-filter: blur(6px);
    transition: opacity .3s, background .2s;
    z-index: 3;
}

.sdm__reveal-skip:hover,
.sdm__reveal-skip:focus-visible {
    background: var(--sdm-red);
    border-color: var(--sdm-red);
    color: #fff;
}

.sdm__reveal-hint {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 36px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    pointer-events: none;
    transition: opacity .4s;
}

.sdm__reveal-hint span:first-child {
    font-family: Creepster, Satoshi, sans-serif;
    font-size: 22px;
    letter-spacing: 2px;
    color: var(--sdm-ink-soft);
    text-shadow: 0 2px 12px rgba(0, 0, 0, .8);
}

.sdm__reveal-hint span:last-child {
    width: 1px;
    height: 38px;
    background: linear-gradient(180deg, var(--sdm-red), transparent);
}

.sdm__loader {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    background: var(--sdm-bg);
    z-index: 4;
    transition: opacity .5s;
}

.sdm__loader.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.sdm__crate {
    position: relative;
    width: 150px;
    height: 116px;
    margin-bottom: 6px;
}

.sdm__crate-base {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 74px;
    border-radius: 4px 4px 8px 8px;
    background: linear-gradient(180deg, #2a1016 0%, #170a0e 60%, #0f0609 100%);
    box-shadow: inset 0 2px 0 rgba(255, 234, 235, .08), 0 18px 30px rgba(0, 0, 0, .6);
    overflow: hidden;
}

.sdm__crate-lid {
    position: absolute;
    left: -5px;
    right: -5px;
    top: 26px;
    height: 26px;
    border-radius: 6px;
    background: linear-gradient(180deg, #3a161d 0%, #200c12 100%);
    box-shadow: inset 0 2px 0 rgba(255, 234, 235, .12), 0 10px 20px rgba(0, 0, 0, .55);
    transform-origin: 12% 100%;
    transform:
        translateY(calc(var(--p, 0) * -46px))
        rotate(calc(var(--p, 0) * -11deg));
    transition: transform .3s ease-out;
    z-index: 3;
}

.sdm__crate-lid-face {
    position: absolute;
    inset: 0;
    border-radius: 6px;
    background: linear-gradient(90deg, rgba(248, 63, 64, .16), transparent 55%);
}

.sdm__crate-band {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 16px;
    margin-left: -8px;
    background: linear-gradient(180deg, rgba(248, 63, 64, .9), rgba(178, 24, 16, .9));
    box-shadow: 0 0 10px rgba(248, 63, 64, .5);
}

.sdm__crate-seal {
    position: absolute;
    left: 50%;
    top: 12px;
    width: 26px;
    height: 26px;
    margin-left: -13px;
    border-radius: 50%;
    background: radial-gradient(circle at 38% 32%, #ff8a6a, var(--sdm-red-deep) 70%);
    box-shadow: 0 0 14px rgba(248, 63, 64, .6), inset 0 -2px 4px rgba(0, 0, 0, .45);
    opacity: calc(1 - var(--p, 0) * 1.6);
    transform: scale(calc(1 - var(--p, 0) * .3));
    transition: opacity .3s ease-out, transform .3s ease-out;
    z-index: 4;
}

.sdm__crate-glow {
    position: absolute;
    left: 6%;
    right: 6%;
    top: 26px;
    height: 58px;
    border-radius: 50%;
    background: radial-gradient(ellipse at 50% 60%, #ffd9a0, var(--sdm-red) 45%, rgba(178, 24, 16, 0) 72%);
    filter: blur(9px);
    opacity: var(--p, 0);
    transform: scaleY(calc(.5 + var(--p, 0) * .9));
    transition: opacity .3s ease-out, transform .3s ease-out;
    z-index: 2;
}

.sdm__crate-sparks {
    position: absolute;
    left: 10%;
    right: 10%;
    top: 22px;
    height: 60px;
    pointer-events: none;
    opacity: var(--p, 0);
    transition: opacity .4s ease-out;
    z-index: 5;
}

.sdm__crate-sparks i {
    position: absolute;
    bottom: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: var(--sdm-orange);
    box-shadow: 0 0 8px rgba(255, 170, 90, .9);
    animation: sdm-spark 2s linear infinite;
}

@keyframes sdm-spark {
    0% { transform: translateY(0) scale(1); opacity: 0; }
    20% { opacity: 1; }
    100% { transform: translateY(-46px) scale(.3); opacity: 0; }
}

.sdm__loader-label {
    font-family: Creepster, Satoshi, sans-serif;
    font-size: 26px;
    letter-spacing: 2px;
    color: var(--sdm-ink-soft);
}

.sdm__loader-pct {
    font-size: 12px;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 234, 235, .55);
}

.sdm__hero {
    position: relative;
    overflow: hidden;
    background: var(--sdm-bg);
    z-index: 2;
}

.sdm__hero-pattern {
    position: absolute;
    left: -10%;
    top: -20%;
    width: 130%;
    height: 150%;
    object-fit: cover;
    opacity: .55;
    pointer-events: none;
}

.sdm__hero-wash {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(900px 560px at 72% 45%, rgba(178, 24, 16, .9) 0%, rgba(120, 10, 14, .6) 35%, rgba(11, 7, 9, 0) 72%),
        linear-gradient(180deg, rgba(11, 7, 9, .2), rgba(11, 7, 9, .85));
    pointer-events: none;
}

.sdm__hero-inner {
    position: relative;
    max-width: var(--sdm-max);
    margin: 0 auto;
    padding: 72px 40px 80px;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    gap: 48px;
    row-gap: 28px;
    align-items: center;
}

.sdm__hero-copy {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.sdm__badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    align-self: flex-start;
    border-radius: 999px;
    background: var(--sdm-red);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    padding: 7px 12px;
}

.sdm__hero h1 {
    font-size: clamp(32px, 4.6vw, 62px);
    line-height: 1.02;
    font-weight: 900;
    letter-spacing: -1px;
}

.sdm__hero-lede {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: var(--sdm-ink-soft);
    max-width: 520px;
}

.sdm__bullets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 24px;
    max-width: 600px;
}

.sdm__bullet {
    display: flex;
    gap: 10px;
    font-size: 14px;
    line-height: 1.45;
    color: var(--sdm-ink);
}

.sdm__bullet::before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: var(--sdm-red);
    flex-shrink: 0;
    margin-top: 6px;
    transform: rotate(45deg);
}

.sdm__hero-cta {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.sdm__hero-price {
    font-size: 36px;
    font-weight: 900;
    color: #fff;
}

.sdm__hero-art {
    position: relative;
    min-width: 0;
    display: grid;
    place-items: center;
    justify-items: end;
}

.sdm__hero-stage {
    position: relative;
    width: 100%;
    max-width: 520px;
    aspect-ratio: 1;
    margin-right: -6%;
}

.sdm__hero-stage::before {
    content: '';
    position: absolute;
    inset: 12% 8% 4% 8%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 64, 65, .55), rgba(255, 64, 65, 0) 70%);
    filter: blur(34px);
    pointer-events: none;
}

.sdm__hero-figure {
    position: absolute;
    inset: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 40px 60px rgba(0, 0, 0, .7));
}

.sdm__hero-card {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 6%;
    height: 78%;
    width: auto;
    object-fit: contain;
    border-radius: 12px;
    filter: drop-shadow(0 30px 60px rgba(0, 0, 0, .7));
    transform: rotate(-8deg);
    transform-origin: bottom left;
}

.sdm__promo {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(160deg, #150a1c 0%, #24101a 45%, #3b0b0f 100%);
    border: 1px solid rgba(255, 122, 26, .45);
    box-shadow: 0 0 0 6px rgba(255, 122, 26, .06), 0 40px 90px rgba(0, 0, 0, .6);
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.sdm__promo-pattern {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .22;
    pointer-events: none;
}

.sdm__promo-moon {
    position: absolute;
    right: 8%;
    top: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle at 35% 35%, #ffe9c4, #f4b86a 55%, #d98a3a 100%);
    box-shadow: inset -30px -20px 60px rgba(120, 60, 20, .35);
    animation: sdm-moon 5s ease-in-out infinite;
    pointer-events: none;
}

.sdm__promo-body {
    position: relative;
    padding: 48px 44px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.sdm__promo-kicker {
    font-size: 11px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--sdm-orange);
}

.sdm__promo-title {
    font-size: clamp(34px, 4.4vw, 56px);
    line-height: 1;
    font-weight: 400;
    font-family: Creepster, Satoshi, sans-serif;
    color: var(--sdm-orange);
    letter-spacing: 1px;
}

.sdm__promo-title span {
    color: #fff;
}

.sdm__promo-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    align-self: flex-start;
    height: 46px;
    padding: 0 8px 0 20px;
    border-radius: 999px;
    background: var(--sdm-orange);
    color: #0b0709;
    font-weight: 800;
    font-size: 14px;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(255, 122, 26, .35);
    transition: background .2s;
}

.sdm__promo-cta:hover,
.sdm__promo-cta:focus-visible {
    background: rgb(255, 150, 60);
    color: #0b0709;
}

.sdm__promo-cta span {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #0b0709;
    color: var(--sdm-orange);
    display: grid;
    place-items: center;
    font-size: 15px;
}

.sdm__countdown {
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
}

.sdm__countdown div {
    flex: 1 1 0;
    min-width: 0;
    padding: 12px 6px 8px;
    border-radius: 32px 32px 6px 6px;
    background: linear-gradient(180deg, #221a22, #0b0709);
    border: 1px solid rgba(255, 234, 235, .14);
    text-align: center;
    box-shadow: inset 0 6px 12px rgba(255, 255, 255, .04);
}

.sdm__countdown b {
    display: block;
    font-size: clamp(20px, 2.4vw, 26px);
    font-weight: 900;
    color: #fff;
    line-height: 1;
}

.sdm__countdown div:last-child b {
    color: var(--sdm-red);
}

.sdm__countdown small {
    display: block;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: rgba(255, 234, 235, .55);
    margin-top: 4px;
}

.sdm__promo-side {
    position: relative;
    display: grid;
    place-items: center;
    padding: 44px;
    background: rgba(0, 0, 0, .4);
    border-left: 1px solid var(--sdm-line);
    overflow: hidden;
}

.sdm__promo-chibi {
    position: absolute;
    right: -10px;
    bottom: -30px;
    width: 180px;
    opacity: .9;
    pointer-events: none;
    filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .6));
}

.sdm__pumpkin {
    position: relative;
    text-decoration: none;
    width: 100%;
    max-width: 320px;
    aspect-ratio: 4 / 3;
    border-radius: 20px;
    border: 1px dashed rgba(255, 122, 26, .7);
    background: radial-gradient(circle at 50% 35%, rgba(255, 122, 26, .35), rgba(178, 24, 16, .3) 40%, #0b0709 78%);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    animation: sdm-swing 4s ease-in-out infinite;
    transform-origin: 50% -40px;
}

.sdm__pumpkin:hover,
.sdm__pumpkin:focus-visible {
    border-style: solid;
    color: #fff;
}

.sdm__pumpkin-title {
    font-size: 18px;
    font-weight: 900;
    color: #fff;
}

.sdm__pumpkin-note {
    font-size: 12px;
    color: rgba(255, 234, 235, .6);
    text-align: center;
    padding: 0 12px;
}

.sdm__treat {
    position: relative;
    width: 100%;
    max-width: 320px;
    border-radius: 20px;
    background: #fff;
    color: rgb(17, 24, 39);
    padding: 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    animation: sdm-rise .5s ease-out;
    box-shadow: 0 30px 60px rgba(0, 0, 0, .6);
}

.sdm__treat-kicker {
    font-size: 11px;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--sdm-red-deep);
}

.sdm__treat-title {
    font-size: 30px;
    font-weight: 900;
    line-height: 1.05;
    letter-spacing: -.5px;
}

.sdm__treat-body {
    font-size: 14px;
    line-height: 1.5;
    color: rgb(75, 85, 99);
}

.sdm__code {
    margin-top: 6px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border-radius: 12px;
    background: rgb(255, 234, 235);
    padding: 12px 14px;
}

.sdm__code code {
    font-family: ui-monospace, Menlo, monospace;
    font-weight: 700;
    font-size: 16px;
    letter-spacing: 1px;
}

.sdm__code button {
    border: 0;
    border-radius: 999px;
    background: var(--sdm-red-deep);
    color: #fff;
    font: inherit;
    font-size: 12px;
    font-weight: 700;
    padding: 7px 14px;
    cursor: pointer;
}

.sdm__code button:hover {
    background: rgb(140, 16, 10);
}

.sdm__note {
    font-size: 12px;
    color: rgb(75, 85, 99);
}

.sdm__lead {
    margin: 0 0 32px;
    font-size: 22px;
    line-height: 1.4;
    font-weight: 500;
    color: #fff;
    max-width: 760px;
    text-wrap: pretty;
}

.sdm__grid3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.sdm__card {
    border-radius: 20px;
    background: var(--sdm-panel);
    border: 1px solid var(--sdm-line);
    padding: 26px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sdm__card img {
    width: 64px;
    height: 64px;
    object-fit: cover;
    object-position: top;
    border-radius: 50%;
    background: var(--sdm-ink);
}

.sdm__card b {
    font-size: 20px;
    font-weight: 900;
    color: #fff;
    margin-top: 6px;
}

.sdm__card span {
    font-size: 14px;
    line-height: 1.5;
    color: var(--sdm-ink-soft);
}

.sdm__split {
    max-width: var(--sdm-max);
    margin: 0 auto;
    padding: 40px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 56px;
    align-items: center;
}

.sdm__split-copy {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sdm__orb-wrap {
    position: relative;
    padding: 0 24px 24px 0;
}

.sdm__orb-wrap--flip {
    padding: 0 0 24px 24px;
}

.sdm__orb {
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    background: radial-gradient(circle at 50% 40%, var(--sdm-red-deep), #0b0709 75%);
    box-shadow: 0 0 0 1px rgba(255, 234, 235, .1), 0 40px 80px rgba(0, 0, 0, .6);
}

.sdm__orb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scaleX(-1);
}

.sdm__orb-chip {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 36%;
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #0b0709;
    background: var(--sdm-ink);
    box-shadow: 0 20px 40px rgba(0, 0, 0, .6);
    transform: rotate(-8deg);
}

.sdm__orb-wrap--flip .sdm__orb-chip {
    right: auto;
    left: 0;
    transform: rotate(8deg);
}

.sdm__orb-chip img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sdm__intro {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
    max-width: 640px;
}

.sdm__figs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: stretch;
}

.sdm__fig {
    margin: 0;
    position: relative;
    border-radius: 24px;
    overflow: hidden;
    background: var(--sdm-panel);
    box-shadow: 0 30px 70px rgba(0, 0, 0, .6), inset 0 0 0 1px rgba(255, 234, 235, .1);
    min-height: 520px;
}

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

.sdm__fig::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 55%, rgba(11, 7, 9, .9));
    pointer-events: none;
}

.sdm__fig figcaption {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 18px;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sdm__fig figcaption span:first-child {
    font-size: 11px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    font-weight: 800;
    color: var(--sdm-red);
}

.sdm__fig figcaption span:last-child {
    font-size: 15px;
    font-weight: 700;
    color: #fff;
}

.sdm__cad {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 24px;
    align-items: stretch;
}

.sdm__cad-art {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    background: #000;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .6), inset 0 0 0 1px rgba(255, 234, 235, .1);
    min-height: 560px;
}

.sdm__cad-art img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 60%;
}

.sdm__cad-copy {
    display: flex;
    flex-direction: column;
    gap: 22px;
    justify-content: center;
}

.sdm__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.sdm__step {
    border-radius: 18px;
    background: var(--sdm-panel);
    border: 1px solid var(--sdm-line);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sdm__step i {
    font-family: Creepster, sans-serif;
    font-style: normal;
    font-size: 26px;
    line-height: 1;
    color: var(--sdm-orange);
}

.sdm__step b {
    font-size: 14px;
    font-weight: 800;
    color: #fff;
}

.sdm__step span {
    font-size: 13px;
    line-height: 1.45;
    color: var(--sdm-ink-soft);
}

.sdm__renders {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.sdm__render {
    position: relative;
    border-radius: 14px;
    background: #fff;
    aspect-ratio: 1;
    overflow: hidden;
}

.sdm__render img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.sdm__render--wide img { width: 170%; height: auto; }

.sdm__render--tall img { height: 96%; width: auto; }

.sdm__panel {
    position: relative;
    border-radius: 28px;
    overflow: hidden;
    background: var(--sdm-panel);
    border: 1px solid var(--sdm-line);
}

.sdm__panel-pattern {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: .25;
    pointer-events: none;
}

.sdm__panel-glow {
    position: absolute;
    inset: 0;
    background: radial-gradient(700px 400px at 20% 100%, rgba(178, 24, 16, .6), transparent 70%);
    pointer-events: none;
}

.sdm__panel-glow--center {
    background: radial-gradient(700px 400px at 50% 100%, rgba(178, 24, 16, .7), transparent 70%);
}

.sdm__bones {
    position: relative;
    padding: 48px 44px;
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 40px;
    align-items: center;
}

.sdm__tabs {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.sdm__tab {
    border: 1px solid rgba(255, 234, 235, .25);
    background: transparent;
    color: #fff;
    border-radius: 999px;
    padding: 9px 14px;
    font: inherit;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: border-color .2s, background .2s;
}

.sdm__tab:hover,
.sdm__tab:focus-visible {
    border-color: var(--sdm-red);
}

.sdm__tab.is-active {
    border-color: var(--sdm-red);
    background: var(--sdm-red);
}

.sdm__bones-stage {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    aspect-ratio: 4 / 3;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .6);
}

.sdm__bones-stage img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity .3s;
}

.sdm__caption {
    font-size: 13px;
    color: rgba(255, 234, 235, .6);
}

.sdm__grid5 {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.sdm__clean {
    border-radius: 20px;
    background: var(--sdm-panel);
    border: 1px solid var(--sdm-line);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.sdm__clean-img {
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 1;
    background: var(--sdm-bg);
}

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

.sdm__clean-head {
    display: flex;
    align-items: center;
    gap: 10px;
}

.sdm__clean-head i {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: var(--sdm-red);
    color: #fff;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 900;
    font-style: normal;
    flex-shrink: 0;
}

.sdm__clean-head b {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
}

.sdm__clean span {
    font-size: 13px;
    line-height: 1.5;
    color: var(--sdm-ink-soft);
}

.sdm__tunnels {
    position: relative;
    padding: 48px 44px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.sdm__tunnel-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
    gap: 40px;
    align-items: end;
}

.sdm__tunnel-head h2 {
    font-size: clamp(28px, 3.6vw, 40px);
    line-height: 1.05;
    font-weight: 900;
}

.sdm__tunnel-grid {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.1fr) minmax(0, .8fr);
    gap: 32px;
    align-items: center;
}

.sdm__tunnel-col {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.sdm__tunnel-name {
    font-size: 24px;
    font-weight: 900;
    color: #fff;
    letter-spacing: -.3px;
}

.sdm__points {
    display: flex;
    flex-direction: column;
    border-top: 1px solid rgba(255, 234, 235, .12);
}

.sdm__point {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 11px 0;
    border-bottom: 1px solid rgba(255, 234, 235, .12);
    font-size: 15px;
    color: #fff;
}

.sdm__point i {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: #000;
    border: 1.5px solid #fff;
    display: grid;
    place-items: center;
    font-size: 12px;
    font-weight: 800;
    font-style: normal;
    flex-shrink: 0;
}

.sdm__point span {
    font-weight: 600;
}

.sdm__tunnel-img {
    position: relative;
    display: grid;
    place-items: center;
}

.sdm__tunnel-img::before {
    content: '';
    position: absolute;
    inset: 10% 5%;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 64, 65, .45), rgba(255, 64, 65, 0) 70%);
    filter: blur(30px);
    pointer-events: none;
}

.sdm__tunnel-img img {
    position: relative;
    width: 100%;
    max-width: 480px;
    object-fit: contain;
    filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .6));
}

.sdm__specs {
    position: relative;
    overflow: hidden;
    border-radius: 28px;
    background: linear-gradient(180deg, #1a1220 0%, #140d18 55%, #0f0912 100%);
    border: 1px solid var(--sdm-line);
    box-shadow: 0 30px 70px rgba(0, 0, 0, .55), inset 0 1px 0 rgba(255, 255, 255, .05);
    color: var(--sdm-ink);
    padding: 48px;
    display: flex;
    flex-direction: column;
    gap: 34px;
}

.sdm__specs::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(760px 360px at 88% 0%, rgba(178, 24, 16, .4), transparent 68%);
    pointer-events: none;
}

.sdm__specs > * {
    position: relative;
}

.sdm__specs-head {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sdm__specs h2 {
    color: #fff;
    font-size: clamp(26px, 3.2vw, 36px);
    line-height: 1.15;
    font-weight: 900;
}

.sdm__specs-detail {
    display: grid;
    grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
    gap: 40px;
    align-items: center;
}

.sdm__specs-measure {
    width: 100%;
    display: block;
    object-fit: contain;
    border-radius: 20px;
    background: rgb(255, 234, 235);
    padding: 22px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .45);
}

.sdm__spec-table {
    display: flex;
    flex-direction: column;
}

.sdm__spec-row {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    align-items: baseline;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 234, 235, .1);
    font-size: 15px;
    line-height: 1.45;
}

.sdm__spec-row:first-child {
    border-top: 1px solid rgba(255, 234, 235, .1);
}

.sdm__spec-row span:first-child {
    color: rgba(255, 234, 235, .5);
    flex-shrink: 0;
    font-size: 13px;
    letter-spacing: .6px;
    text-transform: uppercase;
    font-weight: 700;
}

.sdm__spec-row span:last-child {
    font-weight: 700;
    text-align: right;
    color: #fff;
}

.sdm__applied {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    border-radius: 14px;
    border: 1px dashed rgba(255, 122, 26, .6);
    background: rgba(255, 122, 26, .1);
    padding: 14px 18px;
    font-size: 14px;
    color: var(--sdm-ink);
}

.sdm__applied code {
    font-family: ui-monospace, Menlo, monospace;
    font-weight: 700;
    color: #fff;
}

.sdm__reassure {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 30px;
    font-size: 14px;
    color: rgba(255, 234, 235, .62);
    border-top: 1px solid rgba(255, 234, 235, .1);
    padding-top: 22px;
}

.sdm__reassure span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
}

.sdm__reassure span::before {
    content: '';
    width: 16px;
    height: 16px;
    border-radius: 50%;
    flex-shrink: 0;
    background: rgba(34, 197, 94, .18);
    box-shadow: inset 0 0 0 1px rgba(34, 197, 94, .5);
}

.sdm__cta {
    position: relative;
    overflow: hidden;
    background: var(--sdm-bg);
}

.sdm__cta-bg {
    position: absolute;
    inset: 0;
    overflow: hidden;
    background: var(--sdm-bg);
}

.sdm__cta-bg img {
    position: absolute;
    left: -10%;
    top: -40%;
    width: 130%;
    height: 180%;
    object-fit: cover;
    opacity: .7;
}

.sdm__cta-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(83deg, rgba(255, 64, 65, 0) 4%, rgba(227, 55, 60, .75) 70%, rgba(227, 55, 60, 0) 112%);
}

.sdm__cta-inner {
    position: relative;
    max-width: var(--sdm-max);
    margin: 0 auto;
    padding: 0 40px;
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1fr);
    gap: 24px;
    align-items: end;
    height: 530px;
}

.sdm__cta-copy {
    display: flex;
    flex-direction: column;
    gap: 22px;
    align-self: center;
}

.sdm__cta-copy h2 {
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: -.8px;
}

.sdm__cta-copy p {
    margin: 0;
    font-size: 18px;
    line-height: 1.5;
    color: #fff;
    max-width: 520px;
}

.sdm__cta-art {
    position: relative;
    height: 610px;
    overflow: visible;
    margin-right: -40px;
}

.sdm__cta-art img {
    position: absolute;
    right: 0;
    bottom: -330px;
    height: 1100px;
    width: auto;
    max-width: none;
    display: block;
    transform: scaleX(-1);
    clip-path: inset(0 0 330px 0);
    filter: drop-shadow(0 30px 40px rgba(0, 0, 0, .5));
}

.sdm__replay {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: none;
    padding: 0;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    color: rgba(255, 234, 235, .6);
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color .2s;
}

.sdm__replay:hover,
.sdm__replay:focus-visible {
    color: #fff;
}

.sdm__replay[hidden] {
    display: none;
}

@keyframes sdm-moon {
    0%, 100% { filter: drop-shadow(0 0 30px rgba(255, 180, 90, .45)); }
    50% { filter: drop-shadow(0 0 70px rgba(255, 180, 90, .85)); }
}

@keyframes sdm-swing {
    0%, 100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}

@keyframes sdm-rise {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes sdm-ember {
    0% { transform: translateY(0) scale(1); opacity: 0; }
    15% { opacity: .9; }
    100% { transform: translateY(-140px) scale(.4); opacity: 0; }
}

.sdm__embers {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.sdm__ember {
    position: absolute;
    border-radius: 50%;
    box-shadow: 0 0 12px rgba(255, 122, 26, .8);
    animation: sdm-ember 5s linear infinite;
}

.sdm__web {
    position: absolute;
    width: 150px;
    height: 150px;
    pointer-events: none;
    z-index: 1;
}

.sdm__web--tl {
    left: 0;
    top: 0;
    opacity: .35;
    background:
        repeating-radial-gradient(circle at 0 0, transparent 0 18px, rgba(255, 234, 235, .7) 18px 19px),
        repeating-conic-gradient(from 0deg at 0 0, rgba(255, 234, 235, .7) 0deg .6deg, transparent .6deg 15deg);
    -webkit-mask: radial-gradient(circle at 0 0, #000 0, #000 130px, transparent 150px);
    mask: radial-gradient(circle at 0 0, #000 0, #000 130px, transparent 150px);
}

.sdm__web--br {
    right: 0;
    bottom: 0;
    opacity: .3;
    background:
        repeating-radial-gradient(circle at 100% 100%, transparent 0 18px, rgba(255, 234, 235, .7) 18px 19px),
        repeating-conic-gradient(from 180deg at 100% 100%, rgba(255, 234, 235, .7) 0deg .6deg, transparent .6deg 15deg);
    -webkit-mask: radial-gradient(circle at 100% 100%, #000 0, #000 130px, transparent 150px);
    mask: radial-gradient(circle at 100% 100%, #000 0, #000 130px, transparent 150px);
}

.sdm__spider {
    position: absolute;
    left: 38%;
    top: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
    transform-origin: top center;
    animation: sdm-spider-sway 5s ease-in-out infinite;
    z-index: 2;
}

.sdm__spider-thread {
    width: 1px;
    height: 70px;
    background: rgba(255, 234, 235, .5);
    animation: sdm-spider-drop 6s ease-in-out infinite;
}

.sdm__spider-body {
    position: relative;
    width: 18px;
    height: 16px;
    display: block;
}

.sdm__spider-body span {
    position: absolute;
}

.sdm__spider-leg {
    width: 12px;
    height: 2px;
    border-radius: 2px;
    background: #1a1a1a;
}

.sdm__spider-leg--l1 { left: -9px; top: 3px; transform: rotate(-35deg); }

.sdm__spider-leg--l2 { left: -10px; top: 8px; transform: rotate(-10deg); }

.sdm__spider-leg--l3 { left: -9px; top: 12px; transform: rotate(20deg); }

.sdm__spider-leg--r1 { right: -9px; top: 3px; transform: rotate(35deg); }

.sdm__spider-leg--r2 { right: -10px; top: 8px; transform: rotate(10deg); }

.sdm__spider-leg--r3 { right: -9px; top: 12px; transform: rotate(-20deg); }

.sdm__spider-head {
    left: 5px;
    top: -4px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1a1a1a;
}

.sdm__spider-abdomen {
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle at 40% 35%, #333, #0a0a0a 70%);
}

.sdm__spider-eye {
    top: -3px;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: var(--sdm-red);
    z-index: 1;
}

.sdm__spider-eye--l { left: 6px; }

.sdm__spider-eye--r { left: 10px; }

.sdm__promo-bats {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
    z-index: 1;
}

.sdm__bat {
    position: absolute;
    width: 26px;
    height: 12px;
    opacity: .85;
    animation: sdm-bat 12s linear infinite;
}

.sdm__bat span {
    position: absolute;
    background: #000;
}

.sdm__bat-wing-l {
    left: 0;
    top: 3px;
    width: 12px;
    height: 8px;
    border-radius: 100% 40% 0 100% / 100% 60% 0 100%;
    transform-origin: right center;
    animation: sdm-flap .55s ease-in-out infinite;
}

.sdm__bat-body {
    left: 11px;
    top: 2px;
    width: 4px;
    height: 7px;
    border-radius: 2px;
}

.sdm__bat-wing-r {
    right: 0;
    top: 3px;
    width: 12px;
    height: 8px;
    border-radius: 40% 100% 100% 0 / 60% 100% 100% 0;
    transform-origin: left center;
    animation: sdm-flap .55s ease-in-out infinite;
}

.sdm__pumpkin-art {
    position: relative;
    width: 84px;
    height: 70px;
    display: block;
}

.sdm__pumpkin-art span {
    position: absolute;
}

.sdm__pumpkin-stem {
    left: 38px;
    top: -8px;
    width: 10px;
    height: 16px;
    border-radius: 3px;
    background: #2f5a2a;
    transform: rotate(-8deg);
}

.sdm__pumpkin-body {
    inset: 0;
    border-radius: 50% 50% 46% 46% / 55% 55% 45% 45%;
    background: radial-gradient(circle at 40% 30%, #ffb15e, #f0741b 55%, #b8480c);
    box-shadow: inset -10px -8px 20px rgba(120, 40, 0, .45);
    animation: sdm-pulse-glow 2.2s ease-in-out infinite;
}

.sdm__pumpkin-ridge {
    top: 6px;
    width: 1px;
    height: 58px;
    background: rgba(120, 40, 0, .3);
    border-radius: 50%;
}

.sdm__pumpkin-ridge--l { left: 8px; }

.sdm__pumpkin-ridge--r { right: 8px; }

.sdm__pumpkin-eye {
    top: 22px;
    width: 0;
    height: 0;
    border-left: 9px solid transparent;
    border-right: 9px solid transparent;
    border-bottom: 14px solid #1a0a00;
    transform-origin: bottom;
    animation: sdm-eyes 5s infinite;
}

.sdm__pumpkin-eye--l { left: 18px; }

.sdm__pumpkin-eye--r { right: 18px; animation-delay: .2s; }

.sdm__pumpkin-mouth {
    left: 20px;
    right: 20px;
    bottom: 14px;
    height: 14px;
    border-radius: 0 0 22px 22px;
    background: #1a0a00;
}

.sdm__pumpkin-tooth {
    bottom: 22px;
    width: 7px;
    height: 7px;
    background: #f0741b;
}

.sdm__pumpkin-tooth--l { left: 30px; }

.sdm__pumpkin-tooth--r { right: 30px; }

@keyframes sdm-spider-sway {
    0%, 100% { transform: rotate(-3deg); }
    50% { transform: rotate(3deg); }
}

@keyframes sdm-spider-drop {
    0%, 100% { height: 40px; }
    50% { height: 110px; }
}

@keyframes sdm-pulse-glow {
    0%, 100% { box-shadow: inset -10px -8px 20px rgba(120, 40, 0, .45), 0 0 24px rgba(255, 122, 26, .45); }
    50% { box-shadow: inset -10px -8px 20px rgba(120, 40, 0, .45), 0 0 44px rgba(255, 122, 26, .85); }
}

@keyframes sdm-eyes {
    0%, 92%, 100% { transform: scaleY(1); }
    96% { transform: scaleY(.15); }
}

@keyframes sdm-bat {
    0% { transform: translate(0, 0) rotate(-6deg); }
    25% { transform: translate(60px, -40px) rotate(6deg); }
    50% { transform: translate(140px, -10px) rotate(-4deg); }
    75% { transform: translate(220px, -60px) rotate(5deg); }
    100% { transform: translate(320px, -20px) rotate(-6deg); }
}

@keyframes sdm-flap {
    0%, 100% { transform: scaleY(1); }
    50% { transform: scaleY(.35); }
}

.sdm__bar {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    z-index: 60;
    background: rgba(11, 7, 9, .92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(248, 63, 64, .4);
    transform: translateY(-100%);
    transition: transform .3s ease-out;
}

.sdm__bar.is-visible {
    transform: translateY(0);
}

.sdm__bar-inner {
    max-width: var(--sdm-max);
    margin: 0 auto;
    padding: 10px 40px;
    display: flex;
    align-items: center;
    gap: 16px;
}

.sdm__bar-thumb {
    width: 44px;
    height: 44px;
    border-radius: 10px;
    object-fit: contain;
    background: rgba(255, 234, 235, .06);
    flex-shrink: 0;
}

.sdm__bar-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.sdm__bar-name {
    font-size: 15px;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sdm__bar-sub {
    font-size: 11px;
    letter-spacing: 1.1px;
    text-transform: uppercase;
    font-weight: 700;
    color: rgba(255, 234, 235, .5);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sdm__bar-price {
    margin-left: auto;
    font-size: 22px;
    font-weight: 900;
    color: #fff;
    white-space: nowrap;
}

.sdm__bar-form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.sdm__qty {
    display: flex;
    align-items: center;
    border: 1px solid rgba(255, 234, 235, .3);
    border-radius: 999px;
    height: 44px;
    flex-shrink: 0;
}

.sdm__qty button {
    width: 38px;
    height: 42px;
    border: 0;
    background: none;
    font-size: 18px;
    cursor: pointer;
    color: var(--sdm-ink);
    font-family: inherit;
}

.sdm__qty input {
    width: 32px;
    text-align: center;
    font-weight: 700;
    border: 0;
    background: none;
    font-family: inherit;
    font-size: 15px;
    color: #fff;
    -moz-appearance: textfield;
}

.sdm__qty input::-webkit-outer-spin-button,
.sdm__qty input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.sdm__bar-submit {
    height: 44px;
    padding: 0 26px;
    border: 0;
    border-radius: 999px;
    background: var(--sdm-red);
    color: #fff;
    font-family: inherit;
    font-weight: 700;
    font-size: 15px;
    cursor: pointer;
    white-space: nowrap;
    transition: background .2s;
}

.sdm__bar-submit:hover {
    background: rgb(227, 55, 60);
}

.sdm__bar-wish {
    width: 44px;
    height: 44px;
    border: 1px solid rgba(255, 234, 235, .3);
    border-radius: 999px;
    display: grid;
    place-items: center;
    color: var(--sdm-ink);
    text-decoration: none;
    font-size: 16px;
    flex-shrink: 0;
}

.sdm__bar-wish:hover {
    border-color: var(--sdm-red);
    color: var(--sdm-red);
}

.sdm__awards {
    position: relative;
    background: linear-gradient(180deg, #0b0709 0%, #120c16 50%, #0b0709 100%);
    border-top: 1px solid var(--sdm-line);
    border-bottom: 1px solid var(--sdm-line);
}

.sdm__awards-inner {
    max-width: var(--sdm-max);
    margin: 0 auto;
    padding: 64px 40px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 14px;
}

.sdm__awards-kicker {
    font-size: 11px;
    letter-spacing: 3px;
    text-transform: uppercase;
    font-weight: 800;
    color: rgb(206, 198, 220);
}

.sdm__awards-row {
    margin-top: 18px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    max-width: 960px;
}

.sdm__award {
    margin: 0;
}

.sdm__award img {
    width: 100%;
    height: auto;
    display: block;
}

.sdm__awards-note {
    margin: 14px 0 0;
    max-width: 720px;
    font-size: 15px;
    line-height: 1.6;
    color: rgb(206, 198, 220);
    text-wrap: pretty;
}

.sdm__promo-kicker--dim {
    color: rgba(255, 234, 235, .6);
}

.sdm__p--sm {
    font-size: 14px;
}

.sdm__split-copy--tight {
    gap: 6px;
}

@media (max-width: 1100px) {
    .sdm__grid3,
    .sdm__steps { grid-template-columns: 1fr 1fr; }
    .sdm__grid5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .sdm__tunnel-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .sdm__tunnel-img { grid-column: 1 / -1; order: -1; }
    .sdm__tunnel-img img { max-width: 420px; }
}

@media (max-width: 1024px) {
    .sdm__bar-meta { display: none; }
}

@media (max-width: 900px) {
    .sdm__section { padding: 40px 20px; }
    .sdm__split { padding: 32px 20px; grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .sdm__hero-inner { grid-template-columns: minmax(0, 1fr); padding: 40px 20px; }
    .sdm__hero-art { order: -1; justify-items: center; }
    .sdm__hero-copy { display: contents; }

    .sdm__badge {
        order: -2;
        justify-self: center;
        align-self: center;
    }

    .sdm__hero-art { order: -1; justify-items: center; }

    .sdm__hero-stage {
        width: min(360px, 82vw);
        max-width: 100%;
        margin: 0 auto;
    }

    .sdm__hero-card {
        left: 12%;
        height: 66%;
    }
    .sdm__promo { grid-template-columns: minmax(0, 1fr); }
    .sdm__promo-body { padding: 32px 20px; }
    .sdm__promo-side { border-left: 0; border-top: 1px solid var(--sdm-line); padding: 32px 20px; }
    .sdm__promo-chibi { display: none; }
    .sdm__figs,
    .sdm__cad,
    .sdm__tunnel-head,
    .sdm__bones,
    .sdm__specs-detail { grid-template-columns: minmax(0, 1fr); }

    .sdm__specs-measure { max-width: 340px; margin: 0 auto; }

    .sdm__bones,
    .sdm__tunnels { padding: 32px 20px; }
    .sdm__split-copy { order: 2; }
    .sdm__specs { padding: 28px 20px; }
    .sdm__cad-art { min-height: 380px; }
    .sdm__fig { min-height: 460px; }
    .sdm__cta-inner {
        grid-template-columns: minmax(0, 1fr);
        height: auto;
        align-items: start;
        gap: 0;
        padding: 0 20px;
    }
    .sdm__cta-copy { padding: 48px 0 24px; align-self: start; }
    .sdm__cta-art {
        order: 2;
        height: 580px;
        margin-top: 0;
        margin-right: 0;
        overflow: hidden;
    }
    .sdm__cta-art img {
        height: 790px;
        right: 50%;
        bottom: -150px;
        transform: translateX(50%) scaleX(-1);
        clip-path: none;
    }
    .sdm__reveal { height: 220vh; }
}

@media (max-width: 900px) {
    .sdm__bar-inner { padding: 8px 16px; gap: 10px; }
    .sdm__bar-thumb { display: none; }
    .sdm__awards-inner { padding: 44px 20px; }
    .sdm__awards-row { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
    .sdm__specs { padding: 28px 20px; gap: 26px; }
    .sdm__specs-detail { gap: 26px; }
    .sdm__specs-measure { padding: 16px; }
}

@media (max-width: 600px) {
    .sdm__grid3,
    .sdm__bullets,
    .sdm__steps,
    .sdm__tunnel-grid { grid-template-columns: minmax(0, 1fr); }
    .sdm__grid5,
    .sdm__renders { grid-template-columns: 1fr 1fr; }
    .sdm__lead { font-size: 19px; }
    .sdm__hero-cta { gap: 12px; align-items: stretch; }
    .sdm__hero-cta > form { width: 100%; }
    .sdm__hero-cta .sdm__btn { width: 100%; }
    .sdm__countdown div { padding: 10px 4px 6px; }
    .sdm__cta-art { height: 520px; }
    .sdm__cta-art img { height: 720px; bottom: -130px; }
}

@media (max-width: 600px) {
    .sdm__promo-moon {
        width: 116px;
        height: 116px;
        top: -34px;
        right: -18px;
        opacity: .55;
    }

    .sdm__promo-title {
        font-size: 30px;
    }

    .sdm__promo-body {
        gap: 18px;
    }

    .sdm__spec-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 4px;
        padding: 12px 0;
    }

    .sdm__spec-row span:last-child {
        text-align: left;
    }

    .sdm__bar-price { font-size: 17px; }
    .sdm__bar-submit { padding: 0 16px; font-size: 14px; }
    .sdm__bar-wish { display: none; }
    .sdm__qty { height: 42px; }
    .sdm__qty button { width: 32px; height: 40px; font-size: 17px; }
    .sdm__qty input { width: 30px; font-size: 16px; font-weight: 800; }
    .sdm__awards-row { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 320px; }
    .sdm__awards-note { font-size: 14px; }
}

@media (prefers-reduced-motion: reduce) {
    .sdm *,
    .sdm *::before,
    .sdm *::after {
        animation: none !important;
        transition: none !important;
    }

    .sdm__reveal { height: auto; }
    .sdm__reveal-stage { position: static; height: auto; }
}

.sdm__b2b {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
    background: var(--sdm-panel);
    border: 1px solid var(--sdm-line);
    border-radius: 28px;
    padding: 44px;
}

.sdm__b2b-stock {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 7px 15px;
    border-radius: 999px;
    border: 1px solid rgba(248, 63, 64, .45);
    background: rgba(248, 63, 64, .12);
    color: var(--sdm-ink);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 18px;
}

.sdm__b2b-stock::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sdm-red);
}

.sdm__b2b-mail {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-top: 22px;
    color: var(--sdm-ink);
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 234, 235, .3);
    padding-bottom: 3px;
}

.sdm__b2b-mail:hover,
.sdm__b2b-mail:focus-visible {
    color: var(--sdm-red);
    border-bottom-color: var(--sdm-red);
}

.sdm__b2b-points {
    list-style: none;
    margin: 24px 0 0;
    padding: 0;
    display: grid;
    gap: 11px;
}

.sdm__b2b-points li {
    position: relative;
    padding-left: 24px;
    color: var(--sdm-ink-soft);
    font-size: 15px;
    line-height: 1.55;
}

.sdm__b2b-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 8px;
    width: 9px;
    height: 9px;
    background: var(--sdm-red);
    transform: rotate(45deg);
}

.sdm__b2b-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.sdm__b2b-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.sdm__b2b-field--full {
    grid-column: 1 / -1;
}

.sdm__b2b-field label {
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--sdm-ink-soft);
}

.sdm__b2b-field input,
.sdm__b2b-field textarea {
    width: 100%;
    background: rgba(0, 0, 0, .35);
    border: 1px solid var(--sdm-line);
    border-radius: 12px;
    padding: 13px 15px;
    color: var(--sdm-ink);
    font-family: inherit;
    font-size: 15px;
}

.sdm__b2b-field input:focus,
.sdm__b2b-field textarea:focus {
    outline: none;
    border-color: var(--sdm-red);
}

.sdm__b2b-field textarea {
    resize: vertical;
    min-height: 104px;
}

.sdm__b2b-hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.sdm__b2b-note {
    grid-column: 1 / -1;
    color: var(--sdm-ink-soft);
    font-size: 13px;
    opacity: .75;
    margin: 0;
}

.sdm__b2b-result {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--sdm-ink);
}

@media (max-width: 900px) {
    .sdm__b2b {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
        padding: 28px 20px;
        border-radius: 20px;
    }

    .sdm__b2b-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .sdm__b2b .sdm__btn {
        width: 100%;
    }
}

.sdm__b2b-captcha {
    min-height: 78px;
}

.sdm__b2b-captcha iframe {
    max-width: 100%;
}
