@import url('media-phase8.css');
/* Phase 7: resources, participation and contact system. */
.resources-hero{background:var(--aurum-teal);color:#fff;position:relative;overflow:hidden}.resources-hero::after{content:"R";position:absolute;right:3vw;bottom:-.25em;font-size:45vw;line-height:.7;color:rgba(182,226,233,.2);font-weight:700}.resources-hero>*{position:relative;z-index:1}.resources-hero h1 em{color:var(--aurum-light-blue)}.resources-hero .lead{color:rgba(255,255,255,.82);margin-top:30px;max-width:680px}.resource-lead{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.resource-feature{padding:34px;min-height:350px;background:var(--aurum-red);color:#fff;border-radius:var(--radius-card);display:flex;flex-direction:column;justify-content:flex-end}.resource-feature .kicker{color:var(--aurum-gold)}.resource-feature h2{font-size:clamp(38px,5vw,76px);margin:20px 0 0}.resource-aside{padding:34px;background:var(--aurum-gold);border-radius:var(--radius-card);display:flex;flex-direction:column;justify-content:space-between}.resource-aside h3{font-size:42px;line-height:.9;letter-spacing:-.06em;margin:0}.resource-aside p{font-size:16px;line-height:1.5;margin:0}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin:34px 0}.filter-chip{border:1px solid var(--aurum-line);background:transparent;padding:10px 14px;border-radius:var(--radius-control);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--aurum-ink)}.filter-chip[aria-pressed="true"],.filter-chip:hover{background:var(--aurum-red);border-color:var(--aurum-red);color:#fff}.empty-state{padding:48px;border:1px dashed var(--aurum-slate);border-radius:var(--radius-card);color:var(--aurum-slate);text-align:center;background:rgba(255,255,255,.38)}.empty-state strong{display:block;color:var(--aurum-red);font-size:23px;letter-spacing:-.04em;margin-bottom:10px}.involve-hero{background:var(--aurum-gold);color:var(--aurum-ink)}.involve-hero h1 em{color:var(--aurum-red)}.involve-hero .lead{max-width:650px;margin-top:30px}.invite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.invite-card{min-height:330px;padding:28px;border-radius:var(--radius-card);display:flex;flex-direction:column;justify-content:space-between;background:var(--aurum-red);color:#fff}.invite-card:nth-child(2){background:var(--aurum-teal)}.invite-card:nth-child(3){background:#fff;color:var(--aurum-ink);border:1px solid var(--aurum-line)}.invite-card b{font-size:10px;letter-spacing:.14em;color:var(--aurum-gold)}.invite-card:nth-child(3) b{color:var(--aurum-red)}.invite-card h3{font-size:clamp(34px,4vw,58px);line-height:.88;letter-spacing:-.07em;margin:0}.invite-card p{font-size:15px;line-height:1.5;margin:0;opacity:.84}.rfp-table-wrap{overflow-x:auto}.rfp-table{width:100%;min-width:720px;border-collapse:collapse;border-top:2px solid var(--aurum-gold);background:#fff}.rfp-table th,.rfp-table td{padding:17px;border-bottom:1px solid var(--aurum-line);text-align:left;vertical-align:top}.rfp-table th{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--aurum-red)}.rfp-empty{padding:36px;text-align:center;color:var(--aurum-slate);border:1px dashed var(--aurum-slate)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.process-card{padding:27px;border:1px solid var(--aurum-line);border-top:3px solid var(--aurum-red);border-radius:var(--radius-card);background:#fff}.process-card b{font-size:10px;color:var(--aurum-red);letter-spacing:.14em}.process-card h3{font-size:31px;line-height:.92;letter-spacing:-.06em;margin:55px 0 12px}.process-card p{font-size:14px;line-height:1.5;color:#665f57;margin:0}.faq-list details{border-bottom:1px solid var(--aurum-line);padding:20px 0}.faq-list summary{cursor:pointer;list-style:none;font-size:21px;letter-spacing:-.03em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";float:right;color:var(--aurum-red);font-size:24px}.faq-list details[open] summary::after{content:"–"}.faq-list p{max-width:720px;color:#665f57;line-height:1.55}.contact-hero{background:var(--aurum-red);color:#fff}.contact-hero h1 em{color:var(--aurum-gold)}.contact-hero .lead{color:rgba(255,255,255,.84);max-width:630px;margin-top:30px}.contact-highlight{display:grid;grid-template-columns:1.1fr .9fr;gap:14px}.contact-main{padding:36px;background:var(--aurum-ink);color:#fff;border-radius:var(--radius-card)}.contact-main h2{font-size:clamp(39px,5vw,76px);margin:0 0 28px}.contact-main p{font-size:17px;line-height:1.55;color:rgba(255,255,255,.82);margin:0}.contact-main a{color:var(--aurum-gold)}.contact-route{padding:36px;background:var(--aurum-gold);border-radius:var(--radius-card);display:flex;flex-direction:column}.contact-route h3{font-size:38px;line-height:.9;letter-spacing:-.06em;margin:0 0 35px}.contact-route .button{margin-top:12px;align-self:flex-start}.contact-route .button:first-of-type{margin-top:0}.office-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.office-card{padding:24px;border:1px solid var(--aurum-line);border-top:3px solid var(--aurum-gold);border-radius:var(--radius-card);background:#fff;min-height:220px}.office-card h3{font-size:33px;line-height:.9;letter-spacing:-.06em;margin:45px 0 14px}.office-card p{font-size:14px;line-height:1.5;color:#665f57;white-space:pre-line;margin:0}.office-card a{color:var(--aurum-red)}
@media(max-width:850px){.resource-lead,.contact-highlight{grid-template-columns:1fr}.invite-grid,.process-grid,.office-grid{grid-template-columns:1fr}}

/* 2026-08-16: repeatable card grid for every News Story + Resource not
   currently in the featured spot above — the featured block only ever had
   room for one item, so this was the missing piece keeping news/resources
   trapped on the homepage hero with nowhere else to browse them. */
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:34px 0}
.resource-card{display:flex;flex-direction:column;padding:28px;min-height:230px;border-radius:var(--radius-card);border-top:3px solid var(--aurum-gold);background:#fff}
.resource-card .kicker{margin:0 0 14px}
.resource-card h3{font-size:22px;line-height:1.05;letter-spacing:-.03em;margin:0 0 10px}
.resource-card p:not(.kicker){font-size:14px;line-height:1.5;color:#665f57;margin:0;flex:1}
.resource-card .resource-link{margin-top:16px}
@media(max-width:850px){.resource-grid{grid-template-columns:1fr}}

/* 2026-08-16: real photo hero for Contact, same pattern as .about-hero-image
   — full-bleed <img> behind the text. object-position is biased toward the
   top of the frame (his head sits in the upper third of the source photo)
   so a wide, short hero band crops the sides/bottom, never his head. */
.contact-hero{position:relative!important;isolation:isolate;overflow:hidden}
.contact-hero-image{position:absolute!important;z-index:0!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:64% 12%!important;filter:none!important}
.contact-hero::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(25,22,19,.82) 0%,rgba(25,22,19,.34) 55%,rgba(25,22,19,.12) 100%);pointer-events:none}
.contact-hero>*:not(.contact-hero-image){position:relative!important;z-index:2}

/* 2026-08-17: moved from Contact (per direct instruction) to the Resources
   hero — same photo, same crop values, which the site's own hero-image
   audit already confirmed as the best-composed hero on the site (generous
   headroom, no cut-off at any width). .resources-hero::after (the giant
   faint "R" watermark, used only when this hero had no photo) is hidden
   now that there's a real image to show instead. */
/* 2026-08-17b: object-fit:cover (matching Contact's original crop) still
   cut off real content at this hero's much wider aspect ratio — direct
   feedback: "make this image full... I can't have cutoffs like that."
   object-fit:contain guarantees the entire photo is always visible (it
   letterboxes instead of cropping when the box and image ratios don't
   match) — background-color fills those letterbox bars with the same dark
   tone as the text-legibility gradient below so they read as intentional
   negative space, not an error. Height bumped ("even if it means we make
   the hero slightly bigger") specifically so there's less letterboxing to
   begin with. */
.resources-hero{position:relative!important;isolation:isolate;overflow:hidden;min-height:720px!important}
.resources-hero::after{display:none!important}
.resources-hero-image{position:absolute!important;z-index:0!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;background:#171412!important;filter:none!important}
.resources-hero::before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(0deg,rgba(25,22,19,.82) 0%,rgba(25,22,19,.34) 55%,rgba(25,22,19,.12) 100%);pointer-events:none}
@media(max-width:850px){.resources-hero{min-height:0!important}}
.resources-hero>*:not(.resources-hero-image){position:relative!important;z-index:2}
