@font-face {
    font-family: 'HelveticaNeueBoldExt';
    src: url('../fonts/Helvetica Neue LT Std 73 Bold Extended/Helvetica Neue LT Std 73 Bold Extended/Helvetica Neue LT Std 73 Bold Extended.otf') format('opentype');
    font-weight: bold;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

:root { --red: #e0201f; }

body {
    font-family: 'HelveticaNeueBoldExt', -apple-system, sans-serif;
    background: #ffffff;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* ── Header ── */
.header {
    padding: 52px 24px 12px;
    text-align: center;
}

.header-logo {
    height: 150px;
    width: auto;
}

/* ── Main ── */
.main {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 52px 24px;
}

.button-group {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
    max-width: 400px;
}

/* Per-button rotation via CSS var so hover preserves it */
.paper-wrapper:nth-child(1) { --rot: -0.5deg; }
.paper-wrapper:nth-child(2) { --rot:  0.8deg; }
.paper-wrapper:nth-child(3) { --rot: -0.3deg; }
.paper-wrapper:nth-child(4) { --rot:  0.6deg; }
.paper-wrapper.hidden { display: none; }

.paper-wrapper {
    filter: drop-shadow(0 6px 14px rgba(224, 32, 31, 0.28));
    transform: rotate(var(--rot, 0deg));
    transition: filter 0.2s ease, transform 0.2s ease;
    will-change: transform;
}

.paper-wrapper:hover {
    filter: drop-shadow(0 12px 24px rgba(224, 32, 31, 0.45));
    transform: rotate(var(--rot, 0deg)) translateY(-5px);
}

.paper-wrapper:active {
    filter: drop-shadow(0 3px 8px rgba(224, 32, 31, 0.2));
    transform: rotate(var(--rot, 0deg)) translateY(1px);
    transition-duration: 0.08s;
}

.paper-btn {
    background: var(--red);
    color: #ffffff;
    padding: 22px 40px;
    font-family: 'HelveticaNeueBoldExt', sans-serif;
    font-size: 1.1rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;

    -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,12 L5,11 L10,13 L18,10 L25,12 L35,11 L42,14 L50,11 L65,12 L75,10 L82,13 L95,11 L110,12 L125,10 L138,14 L150,11 L165,13 L180,10 L195,12 L210,11 L225,14 L240,11 L255,12 L270,10 L285,13 L305,11 L320,12 L335,10 L350,14 L365,11 L385,13 L400,11 L398,72 L385,71 L370,74 L355,70 L340,73 L325,71 L310,74 L290,70 L275,73 L260,71 L245,74 L230,70 L215,73 L195,71 L180,75 L165,71 L150,74 L135,70 L120,73 L105,71 L90,75 L75,71 L60,74 L45,70 L30,73 L15,71 L5,74 L0,70 Z' fill='black'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 80' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0,12 L5,11 L10,13 L18,10 L25,12 L35,11 L42,14 L50,11 L65,12 L75,10 L82,13 L95,11 L110,12 L125,10 L138,14 L150,11 L165,13 L180,10 L195,12 L210,11 L225,14 L240,11 L255,12 L270,10 L285,13 L305,11 L320,12 L335,10 L350,14 L365,11 L385,13 L400,11 L398,72 L385,71 L370,74 L355,70 L340,73 L325,71 L310,74 L290,70 L275,73 L260,71 L245,74 L230,70 L215,73 L195,71 L180,75 L165,71 L150,74 L135,70 L120,73 L105,71 L90,75 L75,71 L60,74 L45,70 L30,73 L15,71 L5,74 L0,70 Z' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.icon {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

.paper-wrapper:nth-child(1) .icon img {
    transform: scale(1.5);
}

.icon svg {
    width: 100%;
    height: 100%;
}

/* ── Footer ── */
.footer {
    position: relative;
    background-color: var(--red);
    background-image: url('../patterns/Pattern 1.svg');
    background-size: 1000px auto;
    background-repeat: repeat;
    min-height: 200px;
}

/* ── Responsive ── */
@media (max-width: 600px) {
    .header-logo { height: 100px; }
    .header { padding: 24px 20px 12px; }
    .header-logo { height: 140px; }
    .footer { min-height: 130px; background-size: 500px auto; }
    .main { padding: 16px 20px; justify-content: flex-start; }
    .paper-btn { padding: 18px 28px; font-size: 1rem; }
}
