/* Restore Coral — News index and post template
   Built on the shared design system: Poppins display, Funnel Sans body,
   Abyss Ink / Tide Paper surfaces, --ease-card motion values. */

/* ---------- 1. News hero ---------- */
.rc-nhero{
  background:var(--rc-ink);color:var(--rc-paper);
  padding:clamp(130px,16vh,190px) 0 clamp(44px,6vw,72px);
  position:relative;overflow:hidden;
}
.rc-nhero__eyebrow{color:var(--rc-cyan)}
.rc-nhero__title{
  font-size:clamp(40px,7vw,108px);color:var(--rc-white);
  margin:16px 0 0;max-width:14ch;
}
.rc-nhero__text{
  margin:24px 0 0;max-width:58ch;
  font-size:clamp(15px,1.25vw,19px);line-height:1.6;color:rgba(244,246,242,.84);
}

/* ---------- 2. Lead story ---------- */
.rc-nlead{background:var(--rc-ink);padding:0 0 clamp(56px,7vw,92px)}
.rc-nlead__card{
  display:grid;gap:0;border-radius:28px;overflow:hidden;
  background:rgba(244,246,242,.05);border:1px solid rgba(175,207,213,.16);
  transition:transform var(--dur-card) var(--ease-card),box-shadow var(--dur-card) var(--ease-card);
}
@media(min-width:900px){
  .rc-nlead__card{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch}
}
.rc-nlead__card:hover{transform:translateY(-4px);box-shadow:0 2rem 4rem -1.6rem rgba(0,0,0,.6)}
.rc-nlead__frame{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--rc-ink)}
@media(min-width:900px){.rc-nlead__frame{aspect-ratio:auto;height:100%;min-height:380px}}
.rc-nlead__frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--dur-media) var(--ease-card);
}
.rc-nlead__card:hover .rc-nlead__frame img{transform:scale(1.04)}
.rc-nlead__body{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(26px,3.4vw,52px);
}
.rc-nlead__title{
  display:block;margin:14px 0 0;
  font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  letter-spacing:-.05em;line-height:1.0;
  font-size:clamp(25px,3.2vw,50px);color:var(--rc-white);
}
.rc-nlead__text{
  display:block;margin:16px 0 0;max-width:48ch;
  font-size:clamp(15px,1.1vw,17px);line-height:1.6;color:rgba(244,246,242,.78);
}

/* ---------- 3. Shared card meta ---------- */
.rc-ncard__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:10px;
  font-family:var(--font-ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,246,242,.6);
}
.rc-ncard__cat{
  display:inline-block;padding:5px 10px;border-radius:999px;
  background:rgba(23,207,245,.14);color:var(--rc-cyan);letter-spacing:.14em;
}
.rc-ncard__cta{
  display:inline-flex;align-items:center;gap:7px;margin-top:18px;
  font-family:var(--font-ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--rc-cyan);
}

/* ---------- 4. Filters ---------- */
.rc-nfilter{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}
.rc-nfilter__btn{
  padding:9px 16px;border-radius:999px;
  border:1px solid rgba(7,21,43,.16);background:var(--rc-white);
  font-family:var(--font-ui);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rc-subdued);
  transition:background var(--dur-card) var(--ease-card),color var(--dur-card) var(--ease-card),border-color var(--dur-card) var(--ease-card);
}
.rc-nfilter__btn:hover{border-color:var(--rc-blue);color:var(--rc-blue)}
.rc-nfilter__btn.is-active{background:var(--rc-blue);border-color:var(--rc-blue);color:var(--rc-white)}

/* ---------- 5. Article cards ---------- */
.rc-ngrid{display:grid;gap:20px}
@media(min-width:680px){.rc-ngrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.rc-ngrid{grid-template-columns:repeat(3,1fr)}}
.rc-ncard[hidden]{display:none}
.rc-ncard__link{
  display:flex;flex-direction:column;height:100%;
  background:var(--rc-white);border:1px solid rgba(7,21,43,.09);
  border-radius:24px;overflow:hidden;
  transition:transform var(--dur-card) var(--ease-card),box-shadow var(--dur-card) var(--ease-card);
}
.rc-ncard__link:hover{transform:translateY(-6px);box-shadow:0 1.8rem 3.4rem -1.5rem rgba(0,2,145,.4)}
.rc-ncard__frame{display:block;overflow:hidden;aspect-ratio:16/10;background:var(--rc-mist)}
.rc-ncard__frame img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform var(--dur-media) var(--ease-card);
}
.rc-ncard__link:hover .rc-ncard__frame img{transform:scale(1.05)}
.rc-ncard__body{
  display:flex;flex-direction:column;flex:1 1 auto;
  padding:22px 22px 24px;
}
/* On the light card the meta row has to invert from its dark-surface default. */
.rc-ncard__body .rc-ncard__meta{color:var(--rc-subdued)}
.rc-ncard__body .rc-ncard__cat{background:rgba(0,2,145,.08);color:var(--rc-blue)}
.rc-ncard__body .rc-ncard__cta{color:var(--rc-blue);margin-top:auto;padding-top:18px}
.rc-ncard__title{
  display:block;margin:13px 0 0;
  font-family:var(--font-display);font-weight:800;text-transform:uppercase;
  letter-spacing:-.045em;line-height:1.04;
  font-size:clamp(18px,1.5vw,24px);color:var(--rc-ink);
}
.rc-ncard__text{
  display:block;margin:11px 0 0;
  font-size:14px;line-height:1.56;color:var(--rc-subdued);
}
.rc-nempty{
  margin:30px 0 0;text-align:center;
  font-size:15px;color:var(--rc-subdued);
}
.rc-nempty[hidden]{display:none}

/* The fixed Adopt card sits bottom-right and would otherwise cover whichever
   copy happens to be at the bottom of the screen. Reserve the gutter on every
   text run that can land there, in the lead card as well as the grid cards. */
@media(max-width:679px){
  .rc-ncard__body{padding-bottom:24px}
  .rc-ncard__title,
  .rc-ncard__text,
  .rc-ncard__meta,
  .rc-ncard__body .rc-ncard__cta,
  .rc-nlead__title,
  .rc-nlead__text,
  .rc-nlead__body .rc-ncard__meta,
  .rc-nlead__body .rc-ncard__cta{padding-right:120px}
}
@media(max-width:520px){
  .rc-ncard__title,
  .rc-ncard__text,
  .rc-ncard__meta,
  .rc-ncard__body .rc-ncard__cta,
  .rc-nlead__title,
  .rc-nlead__text,
  .rc-nlead__body .rc-ncard__meta,
  .rc-nlead__body .rc-ncard__cta{padding-right:108px}
}

/* ---------- 6. Post template ---------- */
.rc-post__hero{
  position:relative;min-height:clamp(440px,66svh,640px);
  display:grid;align-items:end;background:var(--rc-ink);overflow:hidden;
}
.rc-post__media{position:absolute;inset:0;z-index:0}
.rc-post__media img{width:100%;height:100%;object-fit:cover}
.rc-post__scrim{
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(7,21,43,.66) 0%,rgba(7,21,43,.42) 40%,rgba(7,21,43,.93) 100%);
}
.rc-post__head{position:relative;z-index:2;padding-top:150px;padding-bottom:clamp(36px,5vw,64px)}
.rc-post__meta{
  display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 16px;
  font-family:var(--font-ui);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,246,242,.7);
}
.rc-post__back{color:var(--rc-cyan);border-bottom:1px solid currentColor;padding-bottom:2px}
.rc-post__title{
  font-size:clamp(30px,5.2vw,74px);color:var(--rc-white);
  margin:0;max-width:20ch;
}
.rc-post__wrap{background:var(--rc-paper);color:var(--rc-ink)}
.rc-post__body{
  padding-top:clamp(48px,6vw,84px);padding-bottom:clamp(48px,6vw,84px);
  max-width:760px;
}
/* The shared container centres with auto margins at full width; a narrow
   measure needs them restated or the column pins to the left edge. */
@media(min-width:768px){.rc-post__body{margin-inline:auto}}
.rc-post__lede{
  margin:0 0 26px;
  font-size:clamp(18px,1.7vw,24px);line-height:1.5;
  color:var(--rc-ink);font-weight:500;
}
.rc-post__body p{
  margin:0 0 20px;
  font-size:clamp(15px,1.15vw,18px);line-height:1.72;color:var(--rc-subdued);
}
.rc-post__source{
  margin:34px 0 0;padding-top:20px;border-top:1px solid rgba(7,21,43,.12);
  font-family:var(--font-ui);font-size:11px;letter-spacing:.06em;
  color:var(--rc-subdued);
}
.rc-post__source a{color:var(--rc-blue);border-bottom:1px solid currentColor}
.rc-post__more{padding-top:clamp(56px,7vw,92px)}
.rc-ngrid--more{grid-template-columns:1fr}
@media(min-width:680px){.rc-ngrid--more{grid-template-columns:repeat(2,1fr)}}
.rc-post__all{margin-top:34px;text-align:center}

/* ---------- 7. Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  .rc-nlead__card:hover,.rc-ncard__link:hover{transform:none}
  .rc-nlead__card:hover .rc-nlead__frame img,
  .rc-ncard__link:hover .rc-ncard__frame img{transform:none}
}
