/* Homepage (2026): Cornell ILR system. Restyles the existing homepage components. Loaded after home-legacy.css */
body.home {
  --accent: #b31b1b; --accent-2: #8c1414; --accent-gold: #d4746b;
  --text-main: #2c2a28; --heading-color: #222; --muted: #55524d;
  --card-bg: #fff; --card-border: #b31b1b; --card-shadow: none;
  --background-top: #fff; --background-bottom: #fff;
  margin: 0 !important; background: #fff !important; color: #2c2a28; font-family: 'Roboto', Arial, sans-serif;
}
body.home main { max-width: none !important; margin: 0 !important; padding: 0 !important; }
body.home main > .section, body.home main > .research-jump { width: min(1240px, calc(100% - 48px)); margin-inline: auto !important; }
body.home main > .section { background: transparent !important; box-shadow: none !important; border: 0 !important; border-top: 1.5px solid #e3e0da !important; padding: clamp(48px, 7vw, 96px) 0 !important; margin-block: 0 !important; overflow: visible; }
body.home main > .section:first-of-type { border-top: 0 !important; }
body.home main > .section h2, body.home .section h2 { font: 800 clamp(2rem, 4.6vw, 3.5rem)/1.05 'Open Sans', Arial, sans-serif !important; text-transform: uppercase; text-align: left !important; letter-spacing: -.005em; color: #222 !important; margin: 0 0 22px !important; text-wrap: balance; }
body.home .section h3, body.home .section h4 { font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 800 !important; color: #222; }
body.home .field-kicker, body.home .archive-kicker, body.home .cp-label { color: #b31b1b; font-family: 'Open Sans', Arial, sans-serif; font-weight: 800; letter-spacing: .14em; }
body.home .field-kicker::before { background: #b31b1b; }
body.home a { color: #b31b1b; }
body.home a:hover { color: #7a1212; }
body.home .activity-heading, body.home .archive-header, body.home .recognition-heading { padding-inline: 0 !important; }
body.home .activity-heading h2, body.home .archive-header h2, body.home .recognition-heading h2 { font-size: clamp(2rem, 4.6vw, 3.5rem) !important; line-height: 1.05 !important; letter-spacing: -.005em !important; }
body.home .activity-heading p, body.home .archive-header p, body.home .recognition-heading p, body.home .lead { font-size: 1.1rem !important; line-height: 1.7 !important; color: #444 !important; }

/* Hero extras */
.home-hero-id { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; }
.home-hero-id img { width: 104px; height: 104px; border-radius: 50% !important; object-fit: cover; object-position: 50% 22%; border: 4px solid #fff; box-shadow: 0 8px 28px rgba(0,0,0,.35); flex: none; }
body.home .page-story__tags a { }

/* Jump chips */
body.home .research-jump { margin-top: 34px !important; padding: 0 !important; display: flex !important; flex-wrap: wrap; justify-content: flex-start !important; gap: 10px !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
body.home .research-jump a { padding: 12px 20px !important; background: #fff !important; border: 1.5px solid #222 !important; border-radius: 999px !important; color: #222 !important; font: 700 .98rem 'Roboto', Arial, sans-serif !important; min-height: 0 !important; }
body.home .research-jump a::after { color: #b31b1b; }
body.home .research-jump a:hover { background: #b31b1b !important; border-color: #b31b1b !important; color: #fff !important; }
body.home .research-jump a:hover::after { color: #fff; }

/* Impact */
body.home #impact { background: transparent !important; padding-inline: 0 !important; }
body.home #impact .wrap { max-width: none; }
body.home #impact h2 { text-align: left !important; }
body.home #impact .underline { display: none; }
body.home #impact .lead { text-align: left; margin-bottom: 28px; }
body.home #impact .grid { gap: 18px; }
body.home #impact .card { background: #fff; border: 1.5px solid #e3e0da; border-top: 5px solid #b31b1b; border-radius: 18px; box-shadow: none; padding: 24px 24px 26px; transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .25s; }
body.home #impact .card::before { display: none; }
body.home #impact .card:hover { transform: translateY(-4px); border-color: #b31b1b; }
body.home #impact .card:nth-child(-n+3) { grid-column: span 4; }
body.home #impact .card:nth-child(n+4) { grid-column: span 6; }
body.home #impact .value { color: #b31b1b; font: 800 clamp(2.6rem, 5vw, 3.9rem)/1 'Open Sans', Arial, sans-serif; }
body.home #impact .label { font: 800 .92rem 'Open Sans', Arial, sans-serif; letter-spacing: .08em; color: #222; margin-top: 10px; }
body.home #impact .sub { color: #444; font-size: 1rem; line-height: 1.6; margin-top: 8px; }
body.home #impact .note { text-align: left; margin: 20px 0 0; color: #666; font-size: .95rem; }
@media (max-width: 980px) { body.home #impact .card:nth-child(n) { grid-column: span 6; } }
@media (max-width: 620px) { body.home #impact .card:nth-child(n) { grid-column: span 12; } }

/* About */
body.home .about-container { gap: clamp(28px, 5vw, 64px); align-items: flex-start; justify-content: flex-start; flex-wrap: nowrap; }
body.home .about-text { flex: 1.6; max-width: none; font-size: 1.14rem; line-height: 1.8; color: #2c2a28; }
body.home .about-text p { margin-bottom: 1.2rem; }
body.home .about-image { flex: .9; max-width: 400px; position: sticky; top: 110px; }
body.home .about-image img { width: 100%; border-radius: 20px; box-shadow: none; border: 1.5px solid #e3e0da; }
body.home .ethical { margin-top: 28px; padding: 20px 24px; background: #fbf3f3; border-left: 5px solid #b31b1b; font-size: 1.06rem; line-height: 1.7; border-radius: 0 !important; }
@media (max-width: 820px) { body.home .about-container { flex-direction: column; text-align: left; } body.home .about-image { position: static; max-width: 340px; } }

/* Contact */
body.home .contact-modern { padding: 0; margin: 48px 0 0 !important; max-width: none; }
body.home .contact-modern h3 { font: 800 1.1rem 'Open Sans', Arial, sans-serif !important; letter-spacing: .12em; text-transform: uppercase; color: #b31b1b !important; margin: 0 0 16px !important; }
body.home .contact-card { background: #fff; border: 1.5px solid #e3e0da; border-radius: 16px; box-shadow: none; transition: border-color .25s, transform .3s; }
body.home .contact-card:hover { border-color: #b31b1b; transform: translateY(-2px); }
body.home .contact-icon-wrap { background: #b31b1b; border-radius: 14px; box-shadow: none; }
body.home .contact-label-sm { font: 700 .74rem 'Roboto', Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; opacity: 1; color: #666; }
body.home .contact-link-lg { font-size: 1.02rem; }
body.home .contact-link-lg a { color: #222; }
body.home .btn-ghost { border: 1.5px solid #bdb8ae; color: #222; }
body.home .btn-ghost:hover { border-color: #b31b1b; color: #b31b1b; }
body.home .btn-ghost svg { width: 18px; height: 18px; }

/* Activity */
body.home .activity-section { padding-inline: 0 !important; overflow: visible !important; }
body.home .activity-heading { gap: clamp(20px, 4vw, 56px); }
body.home .convening { margin: 0 0 28px !important; padding: clamp(22px, 3.6vw, 40px); background: #fff !important; border: 1.5px solid #e3e0da !important; border-top: 5px solid #b31b1b !important; border-radius: 22px; }
body.home .convening-head h3 { font-size: clamp(1.7rem, 3.2vw, 2.6rem) !important; text-transform: uppercase; line-height: 1.08; letter-spacing: 0 !important; }
body.home .convening-lead p, body.home .convening-note { font-size: 1.06rem; line-height: 1.75; color: #2c2a28; }
body.home .convening-program section { border-radius: 16px; border: 1.5px solid #e3e0da; background: #fff; }
body.home .convening-program .cp-keynote { border-top: 4px solid #b31b1b !important; }
body.home .convening-program p { font-size: .98rem; color: #444; }
body.home .convening-gallery figure { border-radius: 16px; background: #3a1d1a; }
body.home .convening-gallery figcaption { background: linear-gradient(transparent, rgba(40,14,12,.85)); font-size: .8rem; }
body.home .activity-actions .activity-cta, body.home .convening-actions .activity-cta { background: #b31b1b; border-radius: 14px; color: #fff !important; box-shadow: none; font: 800 .85rem 'Open Sans', Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; padding: 12px 18px; }
body.home .activity-actions .activity-cta:hover { background: #222; }
body.home .news-rail { margin-top: 44px; }
body.home .news-rail-head { padding-inline: 0 !important; }
body.home .news-index { background: #b31b1b; font-family: 'Open Sans', Arial, sans-serif; }
body.home .news-rail h3 { font-size: clamp(1.5rem, 2.6vw, 2.1rem) !important; text-transform: uppercase; }
body.home .news-rail-subtitle { font-size: .98rem; color: #555; }
body.home .news-control { border-color: #222; color: #222; background: #fff; }
body.home .news-control:hover, body.home .news-control:focus-visible { background: #b31b1b; border-color: #b31b1b; color: #fff; }
body.home .news-track { padding: 6px 2px 18px; scrollbar-color: #b31b1b transparent; }
body.home .news-hint { padding-inline: 0 !important; color: #555; font-size: .9rem; }
body.home .activity-card { background: #fff !important; border: 1.5px solid #e3e0da !important; border-radius: 20px; box-shadow: none; transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .25s; }
body.home .activity-card:hover { border-color: #b31b1b !important; box-shadow: none; transform: translateY(-4px); }
body.home .activity-card--calendar { background: #fff !important; }
body.home .activity-card--featured { border-color: #b31b1b !important; box-shadow: none; }
body.home .activity-card--featured::before { background: #fff; color: #b31b1b; font-family: 'Open Sans', Arial, sans-serif; }
body.home .activity-card h4 { font-size: 1.28rem !important; line-height: 1.2 !important; }
body.home .activity-card p { font-size: 1rem; color: #444; line-height: 1.65; }
body.home .activity-card .takeaway { border-left-color: #b31b1b; color: #2c2a28; font-size: .95rem; }
body.home .activity-card a, body.home .activity-more { color: #b31b1b; font-size: .95rem; }
body.home .calendar-art { background: linear-gradient(125deg, #7a1212, #b31b1b); }
body.home .calendar-day { font-family: 'Open Sans', Arial, sans-serif !important; font-weight: 800; }
body.home .activity-media, body.home .activity-media figcaption { background: #3a1d1a; }
body.home .activity-role { color: #b31b1b; border-color: rgba(179,27,27,.35); background: #fbf3f3; font-size: .72rem; }
body.home .activity-date { background: #f4efe8; color: #2c2a28; font-size: .72rem; }
body.home .activity-status { background: #1f6f4d; font-size: .72rem; }
body.home .activity-status.is-complete { background: #6b655e; }

/* Thesis archive */
body.home .thesis-showcase { padding-inline: 0 !important; }
body.home .archive-card { border-radius: 18px; background: #3a1d1a; box-shadow: none; }
body.home .archive-card img { filter: none; }
body.home .archive-card::after { background: linear-gradient(transparent, rgba(40,14,12,.92)); }
body.home .archive-card figcaption strong { font-family: 'Open Sans', Arial, sans-serif; font-weight: 800; }
body.home .archive-question { background: #fbf3f3; border-left: 5px solid #b31b1b; border-radius: 0 !important; font-size: 1.08rem; }
body.home .activity-more { margin-right: 28px; font-weight: 800; }

/* Honors */
body.home .recognition-section { padding-inline: 0 !important; }
body.home .recognition-heading a { font: 800 .9rem 'Open Sans', Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; }
body.home .recognition-card { background: #fff; border: 1.5px solid #e3e0da; border-top: 5px solid #b31b1b; border-radius: 16px; transition: transform .35s cubic-bezier(.2,.7,.2,1), border-color .25s; }
body.home .recognition-card:hover { transform: translateY(-4px); border-color: #b31b1b; }
body.home .recognition-card::after { border-color: rgba(179,27,27,.35); background: none; }
body.home .recognition-card time { color: #b31b1b; font-family: 'Open Sans', Arial, sans-serif; }
body.home .recognition-card h3 { font-size: 1.15rem; text-transform: uppercase; line-height: 1.2; }
body.home .recognition-card p { color: #444; font-size: .95rem; }
body.home .recognition-note { color: #666; font-size: .92rem; }

/* Selected media */
body.home .quotes-section { margin-top: 0 !important; }
body.home .quote-media { background: #fff; border: 1.5px solid #e3e0da; box-shadow: none; border-radius: 18px; }
body.home .quote-slide { background: #fff !important; border-left: 5px solid #b31b1b; color: #222; font-size: 1.2rem; }
body.home .quote-slide cite { font-style: normal; font-weight: 700; color: #555; }
body.home .carousel-controls { justify-content: flex-start; }
body.home .carousel-controls button { background: #fff; color: #222; border: 1.5px solid #222; border-radius: 14px; }
body.home .carousel-controls button:hover, body.home .carousel-controls button:focus { background: #b31b1b; border-color: #b31b1b; color: #fff; box-shadow: none; }

/* Credits */
body.home .site-credits { width: min(1240px, calc(100% - 48px)); margin: 0 auto 56px; padding: 0; }
body.home .site-credits details { background: #fff; border: 1.5px solid #e3e0da; border-radius: 14px; font-size: .9rem; }
body.home .site-credits summary { font-family: 'Open Sans', Arial, sans-serif; font-weight: 800; color: #222; }

/* Keep the legacy gold/blue radii where they matter but obey the system's rounding */
body.tv4.home main :is(.section, .activity-section, .thesis-showcase, .recognition-section):not(#x) { border-radius: 0 !important; }
body.tv4.home main :is(.convening, .activity-card, .recognition-card, .contact-card, #impact .card, .archive-card, .quote-media, .about-image img, .convening-gallery figure):not(#x) { border-radius: 18px !important; }
body.tv4.home main :is(.ethical, .archive-question):not(#x) { border-radius: 0 !important; }
body.tv4.home main .research-jump a:not(#x) { border-radius: 999px !important; }
@media (max-width: 620px) { body.home main > .section, body.home main > .research-jump, body.home .site-credits { width: calc(100% - 32px); } .home-hero-id img { width: 80px; height: 80px; } }
.skip-link { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.skip-link:focus { position: fixed; left: 16px; top: 16px; width: auto; height: auto; padding: 10px 16px; background: #fff; color: #222; border-radius: 10px; z-index: 99999; box-shadow: 0 4px 12px rgba(0,0,0,.25); }
body.home main > .research-jump { width: min(1240px, calc(100% - 48px)) !important; max-width: none !important; }
body.home .contact-grid2 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 980px) { body.home .contact-grid2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { body.home .contact-grid2 { grid-template-columns: minmax(0, 1fr); } }
body.home .recognition-card::after { display: none; }
body.home .recognition-heading { align-items: end; }
