p, h1, h2, h3 {
    margin: 0;
}

/* ─── Hero top padding ───────────────────────────────────────────────────────── */
.inst-hero { padding-top: clamp(5rem, 10vw, 8rem); }

/* ─── Hero image gallery ─────────────────────────────────────────────────────── */
.inst-gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 3rem;
    min-height: 28rem;
}
@media (max-width: 640px) { .inst-gallery { grid-template-columns: 1fr; min-height: auto; } }

.inst-gallery-main {
    border-radius: 1.5rem;
    overflow: hidden;
    background: hsl(var(--secondary));
    grid-row: span 2;
}
.inst-gallery-main img { width: 100%; height: 100%; object-fit: cover; }

.inst-gallery-side { display: flex; flex-direction: column; gap: 1rem; }

.inst-gallery-top {
    border-radius: 1.5rem;
    overflow: hidden;
    background: hsl(var(--secondary));
    aspect-ratio: 16 / 9;
}
.inst-gallery-top img { width: 100%; height: 100%; object-fit: cover; }

.inst-gallery-bottom {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    flex: 1;
}

.inst-gallery-sq {
    border-radius: 1.5rem;
    overflow: hidden;
    background: hsl(var(--secondary));
    aspect-ratio: 1 / 1;
}
.inst-gallery-sq img { width: 100%; height: 100%; object-fit: cover; }

/* ─── Spaces grid ────────────────────────────────────────────────────────────── */
.inst-spaces-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
@media (min-width: 768px) { .inst-spaces-grid { grid-template-columns: repeat(3, 1fr); } }

/* ─── Space card ─────────────────────────────────────────────────────────────── */
.inst-space-card {
    background: hsl(var(--background));
    border-radius: 1.5rem;
    padding: 2rem;
    box-shadow: 0 2px 12px hsl(0 0% 0% / 0.08);
    transition: transform 0.4s ease;
}
.inst-space-card:hover { transform: scale(1.05); }

.inst-space-icon {
    width: 4rem;
    height: 4rem;
    background: hsl(var(--secondary) / 0.6);
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
}
.inst-space-icon img { width: 2.25rem; height: 2.25rem; object-fit: contain; }

.inst-space-card h3 {
    font-size: 1.125rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    font-family: var(--font-sans);
    margin-bottom: 0.75rem;
}
.inst-space-card p {
    font-size: 0.875rem;
    color: hsl(var(--muted-foreground));
    line-height: 1.65;
}

/* ─── CTA card ───────────────────────────────────────────────────────────────── */
.inst-cta-card {
    max-width: 56rem;
    margin-inline: auto;
    background: hsl(var(--background));
    border-radius: 1.5rem;
    padding: 2.5rem;
    box-shadow: 0 2px 16px hsl(0 0% 0% / 0.08);
    border: 2px solid hsl(var(--accent) / 0.2);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
}
.inst-cta-card p {
    font-size: 1rem;
    color: hsl(var(--muted-foreground));
    max-width: 36rem;
}
