/* Shared scientific atlas theme. Loaded after page-specific styles on lab pages. */
:root { --red:#c20838; --offwhite:#eeede2; --text:#000; --gray:#222; --surface:#f2f1e8; --line:#b7b5aa; color-scheme:light; }
body { color:var(--text); }
a { color:#a0062c; text-underline-offset:4px; }
a:hover { color:#000; }
:focus-visible { outline:2px solid #000; outline-offset:5px; }
header { max-width:1280px; margin:auto; padding:clamp(60px,8vw,110px) 32px 45px; text-align:left; border-bottom:4px solid #b30838; }
header h1 { color:#000; font-weight:700; letter-spacing:-.045em; line-height:1.08; font-size:clamp(2.5rem,6vw,5rem); }
header p { color:var(--gray); max-width:750px; margin-top:24px; }
section, .about-container, .contact-info, .people-container { max-width:1180px; margin:55px auto; padding-inline:32px; }
h2 { color:#000; font-weight:700; letter-spacing:-.025em; margin-bottom:24px; }
.card, .person-card, details, .about-card, .pub-item, .abs-item, .significance-blurb, .poster-thumb, .header-box { background:var(--surface); border:1px solid var(--line); border-radius:2px; box-shadow:none; backdrop-filter:none; }
.card:hover, .person-card:hover, details:hover, .pub-item:hover, .abs-item:hover { transform:none; box-shadow:none; border-color:#777; }
.about-card p, .about-card li, .person-card p, .significance-blurb, ul.people-list span.major, ul.people-list span.role { color:var(--gray); }
ul.people-list strong, .person-card h3, .pub-item h3, .abs-item h3, .about-card h2, .highlight-slide h3, summary, .contact-info h2 { color:#000; }
summary { padding-block:8px; }
.header-box { max-width:none; margin-top:30px; }
.person-card img { max-width:100%; border:1px solid var(--line); }
button:not(.menu-toggle), a.button { border-radius:2px; min-height:44px; }
a.button { display:inline-flex; align-items:center; text-decoration:none; }
button:not(.menu-toggle):hover, a.button:hover { transform:none; background:#9d062e; }
.lab-hero { display:grid; grid-template-columns:minmax(0, 1.65fr) minmax(260px, 1fr); align-items:center; column-gap:40px; row-gap:24px; padding-top:20px; padding-bottom:55px; }
.lab-hero .hero-copy { min-width:0; text-align:left; }
.lab-hero h1 { font-size:clamp(2.5rem,4.7vw,4.5rem); line-height:1.12; margin:0; }
.lab-hero h1 span { display:block; }
.lab-hero .hero-copy p { max-width:36rem; margin-top:24px; }
.lab-hero .eyebrow { margin-bottom:18px; }
.lab-hero .homepage-logo { display:block; grid-column:1 / -1; justify-self:center; width:min(100%, 680px); height:auto; margin:-30px 0 -35px; mix-blend-mode:normal; opacity:1; }
.lab-hero figure { margin:0; position:relative; }
.lab-hero .brain-crop { width:100%; max-width:360px; margin-inline:auto; aspect-ratio:1017 / 1210; overflow:hidden; }
.lab-hero .brain-crop img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 70%; }
.homepage-abstract { grid-column:1 / -1; width:100%; display:flex; justify-content:center; margin-bottom:15px; }
.homepage-abstract img { display:block; width:min(100%, 700px); height:auto; max-height:320px; object-fit:contain; }
.lab-hero figcaption { color:var(--gray); font-size:.65rem; text-transform:uppercase; letter-spacing:.17em; margin-top:12px; text-align:center; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; margin-top:32px; }
a.button.button-outline { background:transparent; border:1px solid #888; color:#000; }
a.button.button-outline:hover { border-color:#000; }
.eyebrow { font-size:.7rem; letter-spacing:.2em; text-transform:uppercase; color:var(--gray); margin-bottom:22px; }
.research-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.research-tile { border-top:4px solid #b30838; padding-top:24px; }
.research-tile h3 { font-size:1.35rem; font-weight:700; margin-bottom:14px; }
.research-tile p { color:var(--gray); margin-bottom:20px; }
@media(max-width:768px) { header, section, .about-container, .contact-info, .people-container { padding-inline:20px; } .lab-hero { grid-template-columns:1fr; gap:32px; padding-top:16px; } .lab-hero figure img { max-height:360px; } .homepage-abstract { margin-bottom:0; } .homepage-abstract img { max-height:220px; } .research-grid { grid-template-columns:1fr; } .card, .about-card, .pub-item, .abs-item, details { padding:24px; } }
@media(prefers-reduced-motion:reduce) { *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; } }

/* Complete the supplied theme where page-specific styles use light colors. */
.about-card a, .contact-info a { color: #a0062c; }
.about-card a:hover, .contact-info a:hover { color: #000; }
.significance-blurb { border-left: 3px solid var(--red); }
.poster-thumb { color: #a0062c; }
.collaboration-form iframe { border-radius: 2px; color-scheme: light; }
#posterModalContent { color-scheme: light; }
#closePoster { color: #333; background: transparent; min-height: 44px; }
.carousel-dot, .carousel-dot[aria-current="true"] { width: 44px; height: 44px; background: transparent !important; display: grid; place-items: center; }
.carousel-dot::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: #bbb; }
.carousel-dot[aria-current="true"]::before { background: var(--red); }

/* Filled action buttons retain readable text on Sacred Heart red. */
a.button:not(.button-outline), a.button:hover { color:#fff; }

@media (min-width: 769px) { .lab-hero h1 span { white-space:nowrap; } }
@media (max-width: 768px) { .lab-hero h1 { font-size:clamp(2rem, 7.5vw, 3.6rem); } .lab-hero .hero-copy { width:100%; } }
