/* ─────────────────────────────────────────────────────────────────
   Russian River Senior Center — page styles
   Scoped to body.russian-river-senior-center and .rrsc-page
───────────────────────────────────────────────────────────────── */

/* Neutralise default page chrome (so sections can go edge-to-edge) */
body.russian-river-senior-center .page-header { display: none; }
body.russian-river-senior-center .entry-hero { display: none; }
body.russian-river-senior-center .entry-body { padding: 0; }
body.russian-river-senior-center .site-main > .section { padding: 0; }
body.russian-river-senior-center .site-main .container { max-width: none; padding: 0; }
body.russian-river-senior-center .entry-content { max-width: none; margin: 0; font-size: 1rem; line-height: 1.6; }
body.russian-river-senior-center .entry-content img { margin: 0; border-radius: 0; }

.rrsc-page { color: #1c1c1c; }
.rrsc-page .rrsc-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 clamp(1rem, 4vw, 2.5rem);
}

/* ── Hero ─────────────────────────────────────────────────────── */
.rrsc-hero {
    background: var(--color-brand, #014750);
    color: var(--color-cream, #FDFFF1);
    padding: clamp(3rem, 7vw, 5rem) 0 clamp(3rem, 6vw, 4.5rem);
    position: relative;
    overflow: hidden;
}
.rrsc-hero__art {
    position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.rrsc-hero__art svg { width: 100%; height: 100%; display: block; }
.rrsc-hero .rrsc-inner { position: relative; z-index: 1; }
.rrsc-hero__ribbon {
    display: inline-block;
    background: var(--color-gold, #FFC333);
    color: var(--color-brand, #014750);
    font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 800;
    padding: .35rem .7rem; border-radius: 2px;
}
.rrsc-hero h1 {
    font-family: var(--font-title, Lora, Georgia, serif);
    font-size: clamp(2.2rem, 4.5vw, 3.4rem);
    line-height: 1.08; letter-spacing: -.01em;
    max-width: 18ch;
    margin: 1rem 0 .9rem;
    color: var(--color-cream, #FDFFF1);
}
.rrsc-hero__tag {
    font-size: 1.1rem; opacity: .95; max-width: 46ch; margin: 0 0 1.75rem;
}
.rrsc-hero__meta {
    display: flex; flex-wrap: wrap; gap: 1.5rem; font-size: .95rem; opacity: .95;
}
.rrsc-hero__meta span { display: inline-flex; align-items: center; gap: .45rem; }
.rrsc-hero__meta span::before {
    content: ""; width: .5rem; height: .5rem;
    background: var(--color-gold, #FFC333); border-radius: 50%;
}
.rrsc-hero__meta a { color: inherit; text-decoration: none; border-bottom: 1px dotted rgba(253,255,241,.4); }
.rrsc-wave { display: block; width: 100%; height: 56px; }

/* ── Section chrome ───────────────────────────────────────────── */
.rrsc-section { padding: clamp(2.5rem, 5vw, 4rem) 0; }
.rrsc-section--cream { background: var(--color-cream, #FDFFF1); }
.rrsc-section--white { background: #fff; }
.rrsc-eyebrow {
    font-size: .75rem; letter-spacing: .2em; text-transform: uppercase;
    color: var(--color-brand, #014750); font-weight: 800;
    margin: 0;
}
.rrsc-h2 {
    font-family: var(--font-title, Lora, Georgia, serif);
    font-size: clamp(1.6rem, 3vw, 2.15rem);
    color: var(--color-brand, #014750);
    margin: .3rem 0 .2rem; line-height: 1.2; letter-spacing: -.01em;
}
.rrsc-rule {
    display: block; width: 52px; height: 4px;
    background: var(--color-gold, #FFC333); border-radius: 2px;
    margin: .6rem 0 1.5rem;
}

/* ── About ────────────────────────────────────────────────────── */
.rrsc-about p { max-width: 62ch; }
.rrsc-pullquote {
    border-left: 4px solid var(--color-pink, #EB3DA0);
    padding: .5rem 0 .5rem 1.4rem; margin: 1.75rem 0;
    font-family: var(--font-title, Lora, Georgia, serif);
    font-style: italic; font-size: 1.3rem; line-height: 1.45;
    color: var(--color-brand, #014750); max-width: 58ch;
}

/* ── Participate cards ────────────────────────────────────────── */
.rrsc-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
@media (max-width: 820px) { .rrsc-cards { grid-template-columns: 1fr; } }
.rrsc-card {
    background: var(--color-cream, #FDFFF1);
    border: 1px solid #e8e2cc; border-radius: 14px;
    padding: 1.75rem; display: flex; flex-direction: column; gap: .75rem;
    transition: transform .2s ease, box-shadow .2s ease;
}
.rrsc-card:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(1,71,80,.1); }
.rrsc-card__icon {
    width: 52px; height: 52px; border-radius: 50%;
    background: var(--color-gold, #FFC333);
    color: var(--color-brand, #014750);
    display: grid; place-items: center;
    box-shadow: inset 0 0 0 4px var(--color-cream, #FDFFF1), 0 0 0 1px #e8e2cc;
}
.rrsc-card__icon svg { width: 26px; height: 26px; }
.rrsc-card h3 {
    font-family: var(--font-title, Lora, Georgia, serif);
    color: var(--color-brand, #014750);
    font-size: 1.25rem; margin: .3rem 0 0;
}
.rrsc-card p { font-size: .97rem; margin: 0; }
.rrsc-card__actions {
    margin-top: auto; padding-top: .9rem; border-top: 1px dashed #e8e2cc;
    display: flex; flex-wrap: wrap; gap: .5rem;
}
.rrsc-card__actions a {
    color: var(--color-brand, #014750); font-weight: 600;
    border-bottom: 2px solid var(--color-gold, #FFC333);
    text-decoration: none; padding-bottom: 2px; font-size: .92rem;
}
.rrsc-card__actions a::after { content: " →"; margin-left: .15rem; }

/* ── Team cards ───────────────────────────────────────────────── */
.rrsc-staff { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
@media (max-width: 820px) { .rrsc-staff { grid-template-columns: 1fr; } }
.rrsc-person {
    background: #fff; border: 1px solid #e8e2cc; border-radius: 14px;
    padding: 1.5rem; display: flex; gap: 1.3rem; align-items: center;
}
.rrsc-person__avatar {
    width: 84px; height: 84px; border-radius: 50%;
    background: var(--color-brand, #014750);
    color: var(--color-cream, #FDFFF1);
    display: grid; place-items: center; flex-shrink: 0;
    font-family: var(--font-title, Lora, Georgia, serif);
    font-size: 2rem; font-weight: 700;
    box-shadow: 0 0 0 4px var(--color-gold, #FFC333), 0 0 0 5px rgba(0,0,0,.04);
}
.rrsc-person h4 {
    font-family: var(--font-title, Lora, Georgia, serif);
    color: var(--color-brand, #014750);
    font-size: 1.18rem; margin: 0 0 .15rem;
}
.rrsc-person__role { font-size: .85rem; color: #5a6164; margin-bottom: .5rem; }
.rrsc-person p { margin: .15rem 0; font-size: .92rem; }
.rrsc-person a { color: var(--color-brand, #014750); text-decoration: none; border-bottom: 1px dotted var(--color-gold, #FFC333); }

/* ── Sponsors ─────────────────────────────────────────────────── */
.rrsc-sponsors__cta { margin-top: 1rem; font-size: .98rem; }
.rrsc-sponsors__cta a {
    font-weight: 700; border-bottom: 2px solid var(--color-gold, #FFC333);
    text-decoration: none; color: var(--color-brand, #014750);
}
.rrsc-sponsors img { max-width: 100%; height: auto; border-radius: 8px; }
