* { box-sizing: border-box; }

body {
    margin: 0;
    padding: 0;
    background: #f0ede4;
    font-family: "Comic Sans MS", "Comic Sans", "Chalkboard SE", cursive, sans-serif;
    color: #333;
    min-height: 100vh;
}

header {
    text-align: center;
    padding: 50px 20px 20px;
}

h1 {
    font-size: clamp(1.8rem, 6vw, 3rem);
    margin: 0;
    color: #333;
    transform: rotate(-1deg);
}

.subtitle {
    font-size: 1rem;
    color: #777;
    margin-top: 10px;
}

.wall {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 28px;
    padding: 30px clamp(16px, 5vw, 60px) 60px;
    max-width: 1200px;
    margin: 0 auto;
}

.quote {
    background: #fff9c4;
    color: #222;
    padding: 26px 20px 16px;
    box-shadow: 3px 4px 8px rgba(0,0,0,.15);
    position: relative;
    transition: transform .15s ease;
}

.quote:nth-child(odd) { transform: rotate(-1.5deg); }
.quote:nth-child(even) { transform: rotate(1.2deg); }
.quote:nth-child(3n) { transform: rotate(2deg); }

.quote:hover {
    transform: rotate(0deg) scale(1.03);
    z-index: 2;
}

/* sticky note "tape" */
.quote::before {
    content: "";
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%) rotate(-3deg);
    width: 80px;
    height: 22px;
    background: rgba(255, 255, 255, .55);
    box-shadow: 0 1px 3px rgba(0,0,0,.15);
}

blockquote {
    margin: 0;
    font-size: 1.1rem;
    line-height: 1.4;
}

blockquote::before { content: "“"; font-size: 1.6rem; }
blockquote::after { content: "”"; font-size: 1.6rem; }

.who {
    margin-top: 14px;
    font-weight: bold;
    color: #555;
    font-size: .95rem;
    text-align: right;
}

.context {
    font-size: .8rem;
    color: #888;
    text-align: right;
    font-style: italic;
}

footer {
    text-align: center;
    padding: 30px 20px 50px;
    color: #999;
    font-size: .85rem;
}
