/* RPESH 2026 post-conference home page. Scoped to preserve internal pages. */
.home-recap { --recap-ink:#123b42; --recap-green:#075c57; --recap-mint:#bfedca; --recap-paper:#f5f5ef; background:#fff; }
.home-recap .wrap { max-width:1280px; }
.home-recap h1,.home-recap h2,.home-recap h3 { font-family:var(--font-body),sans-serif; letter-spacing:-.035em; }
.home-recap .site-header { position:relative; }
.home-recap .nav__cta { background:#075c57; }
.home-recap .topbar { background:#103a40; }
.recap-hero { background:#103a40; padding:4.5rem 0 3.5rem; color:#e5f0ee; }
.recap-hero__grid { display:grid; grid-template-columns:1fr 1fr; gap:3.2rem; align-items:center; }
.recap-label { font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#c9e7df; display:flex; align-items:center; gap:.6rem; }
.recap-label span { width:8px; height:8px; border-radius:50%; background:#b9efb7; flex-shrink:0; }
.recap-date { font-size:.9rem; color:#cee0db; margin-top:1.5rem; }
.recap-date span { margin:0 .35rem; }
.home-recap .recap-hero h1 { color:#fff; font-size:clamp(2.8rem,4.3vw,4.6rem); font-weight:600; line-height:1.06; margin:1rem 0 1.7rem; }
.recap-hero h1 em { font-style:normal; color:#bfedca; }
.recap-hero__lead { font-size:1.1rem; line-height:1.7; max-width:560px; color:#dce8e4; }
.recap-actions { display:flex; flex-wrap:wrap; align-items:center; gap:1.1rem 1.5rem; margin-top:2rem; }
.recap-button { display:inline-flex; justify-content:center; align-items:center; gap:1.5rem; padding:1rem 1.3rem; border:1px solid transparent; border-radius:5px; background:#075c57; color:#fff; font-size:.95rem; font-weight:600; line-height:1.4; text-decoration:none; transition:background .2s; }
.recap-button:hover { background:#103a40; color:#fff; text-decoration:none; }
.recap-button--light { background:#bfedca; color:#103a40; }
.recap-button--light:hover { background:#dbf6df; color:#103a40; }
.recap-text-link { color:#fff; text-decoration:underline; text-underline-offset:5px; font-weight:500; }
.recap-text-link:hover { color:#bfedca; }
.recap-thanks { color:#aecbc3; font-size:.8rem; margin:1.5rem 0 0; }
.recap-hero__photo { margin:0; position:relative; }
.recap-hero__photo img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; border-radius:8px 8px 0 0; }
.recap-hero__photo figcaption { padding:1.2rem 1.4rem; font-size:.8rem; background:#1b494f; color:#dce8e4; border-radius:0 0 8px 8px; }
.recap-hero__photo figcaption span { display:block; color:#bfedca; font-weight:600; letter-spacing:.13em; font-size:.7rem; margin-bottom:.4rem; }
.recap-announcement { background:#eaf2ea; border-bottom:1px solid #dbe5d9; }
.recap-announcement__grid { display:grid; grid-template-columns:1fr 1fr; }
.recap-announcement a { display:flex; flex-direction:column; color:#123b42; padding:1.65rem 0; text-decoration:none; }
.recap-announcement a+a { border-left:1px solid #cfded0; padding-left:3rem; }
.recap-status { font-size:.68rem; font-weight:600; letter-spacing:.12em; color:#386d61; }
.recap-announcement strong { font-size:1.25rem; margin:.25rem 0; }
.recap-announcement a>span:last-child { font-size:.85rem; }
.recap-announcement b { margin-left:.5rem; }
.recap-announcement a:hover strong { text-decoration:underline; text-underline-offset:4px; }
.recap-section { padding:5.5rem 0; }
.recap-eyebrow { font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.15em; color:#427367; margin-bottom:1.1rem; }
.home-recap h2 { font-size:clamp(2rem,3vw,3.1rem); line-height:1.15; color:#123b42; margin-bottom:1.4rem; }
.home-recap h3 { font-size:1.8rem; line-height:1.2; color:#123b42; }
.recap-story { display:grid; grid-template-columns:.9fr 1.1fr; gap:5rem; }
.recap-intro { font-size:1.18rem; color:#4b686a; line-height:1.65; }
.recap-story__text { line-height:1.85; color:#40575c; }
.recap-story__text p:last-child { margin-bottom:0; }
.recap-inline-link { color:#075c57; font-weight:600; border-bottom:1px solid #9ab8a8; padding-bottom:4px; }
.recap-opening { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin-top:4rem; padding-top:4rem; border-top:1px solid #e1e7e2; align-items:start; }
.recap-opening figure { margin:0; }
.recap-opening img { width:100%; border-radius:7px; }
.recap-opening figcaption { color:#637475; font-size:.8rem; margin-top:.7rem; }
.recap-people { list-style:none; padding:0; margin:1.5rem 0; }
.recap-people li { padding:.85rem 0; border-top:1px solid #e1e7e2; }
.recap-people strong,.recap-people span { display:block; }
.recap-people strong { color:#123b42; }
.recap-people span { font-size:.9rem; color:#597074; margin-top:.25rem; }
.recap-plenary { background:#f0f5ef; border-left:3px solid #77a78b; padding:1.2rem 1.4rem; }
.recap-plenary>span { font-size:.7rem; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:#427367; }
.recap-plenary p { margin:.5rem 0 0; font-size:.95rem; }
.recap-publication { background:#f4f3eb; border-top:1px solid #e7e5d9; border-bottom:1px solid #e7e5d9; }
.recap-book-grid { display:grid; grid-template-columns:.72fr 1.28fr; gap:5.5rem; align-items:center; }
.recap-book-cover { text-align:center; }
.recap-book-cover img { width:245px; max-width:90%; margin:0 auto; box-shadow:12px 16px 30px #15373624; transform:rotate(-3deg); }
.recap-book-cover>span { display:block; font-size:.65rem; letter-spacing:.12em; color:#65716b; margin-top:2rem; }
.recap-small { font-size:.8rem; color:#597074; line-height:1.6; margin-top:1.5rem; }
.recap-submission__grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:5rem; }
.recap-submission__intro>p:not(.recap-eyebrow):not(.recap-small) { font-size:1.18rem; color:#597074; margin-bottom:2rem; }
.recap-submission__body { color:#40575c; line-height:1.8; }
.recap-salutation { font-size:1.15rem; font-weight:600; color:#123b42; }
.recap-journal-url { display:block; padding:.8rem 1rem; border:1px solid #dce6dd; border-radius:4px; background:#f7faf6; font-weight:600; color:#075c57; overflow-wrap:anywhere; }
.recap-review-note { margin:1.5rem 0; padding:1.3rem 1.5rem; background:#edf4e9; border-left:3px solid #80a26b; }
.recap-review-note>strong { display:block; color:#284d36; margin-bottom:.5rem; }
.recap-review-note p { margin:0; }
.recap-gallery-section { background:#f7f9f6; }
.recap-gallery-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.recap-gallery-heading h2 { margin-bottom:0; }
.recap-gallery-heading>p { font-size:.9rem; color:#597074; margin-bottom:0; }
.recap-gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.recap-gallery figure { margin:0; }
.recap-gallery img { width:100%; aspect-ratio:1.5; object-fit:cover; border-radius:5px; }
.recap-gallery figcaption { font-size:.85rem; color:#486060; padding-top:.7rem; }
.recap-contact { padding:3.5rem 0; background:#e7f0e6; }
.recap-contact>.wrap:first-child { display:flex; justify-content:space-between; align-items:center; gap:2rem; }
.recap-contact h2 { font-size:2rem; margin-bottom:.7rem; }
.recap-contact__links { display:flex; flex-direction:column; gap:.5rem; }
.recap-contact__links a { font-size:1.1rem; font-weight:600; color:#075c57; }
#book-of-abstracts,#full-paper-submission { scroll-margin-top:1rem; }
@media(max-width:1100px) { .recap-hero__grid,.recap-story,.recap-opening,.recap-book-grid,.recap-submission__grid { gap:2.5rem; } .recap-hero h1 { font-size:3.3rem; } }
@media(max-width:820px) {
 .recap-hero { padding:3rem 0; }
 .recap-hero__grid,.recap-story,.recap-opening,.recap-book-grid,.recap-submission__grid { grid-template-columns:1fr; }
 .recap-hero__photo img { aspect-ratio:auto; }
 .recap-section { padding:3.5rem 0; }
 .recap-opening { margin-top:2.5rem; padding-top:2.5rem; }
 .recap-book-grid { gap:3rem; }
 .recap-book-cover img { width:200px; }
 .recap-gallery-heading,.recap-contact>.wrap:first-child { flex-direction:column; align-items:start; }
 .recap-announcement a+a { padding-left:1.5rem; }
}
@media(max-width:520px) {
 .home-recap .recap-hero h1 { font-size:2.65rem; }
 .recap-label { font-size:.65rem; letter-spacing:.08em; }
 .recap-date { font-size:.8rem; }
 .recap-announcement__grid,.recap-gallery { grid-template-columns:1fr; }
 .recap-announcement a+a { padding-left:0; border-left:0; border-top:1px solid #cfded0; }
 .recap-button { width:100%; font-size:.9rem; }
 .recap-hero__photo figcaption { padding:1rem; }
 .recap-contact__links a { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .home-recap * { scroll-behavior:auto!important; transition:none!important; } }
