/* Homepage composition. Shared Observatory tokens remain in workspace_theme.css.
   Loaded only by index.html; no changes to other public layouts. */
.home-page {
  --elora-heading-solid:var(--elora-link);
  --elora-heading-spectrum:linear-gradient(105deg,#14766f 0%,#16758b 30%,#3157b7 64%,#7354a5 100%);
}
.home-page .elora-heading-gradient { color:var(--elora-heading-solid); }
@supports ((background-clip:text) or (-webkit-background-clip:text)) {
  .home-page .elora-heading-gradient { background-image:var(--elora-heading-spectrum); background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
}
.home-page.public-site #home.top-stage,
.home-page.public-site #home .shell { min-height:0; }
.home-page.public-site #home.top-stage::before { display:none; }
.home-page.public-site #home .shell { max-width:1440px; padding:0 40px; }
.home-page #main-content { display:grid; gap:44px; }
.home-page.public-site #home .home-hero { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); gap:20px; min-height:500px; align-items:center; align-content:center; padding:28px 0 12px; }
.home-page .home-introduction { position:relative; z-index:1; }
.home-page.public-site .home-eyebrow { font-size:10px; font-weight:650; letter-spacing:.12em; text-transform:uppercase; color:var(--elora-muted); margin:0 0 12px; }
.home-page.public-site.elora-workspace-theme .home-hero h1 { font-size:clamp(32px,3.2vw,46px); line-height:1.12; letter-spacing:-.045em; margin:0 0 20px; }
.home-page.public-site .home-hero .home-description { max-width:530px; font-size:15px; line-height:1.8; margin:0 0 24px; }
.home-page .home-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; }
.home-page.public-site.elora-workspace-theme .home-primary { background:var(--elora-heading); border-color:var(--elora-heading); color:white; }
.home-page.public-site.elora-workspace-theme .home-primary:hover { background:var(--elora-link); }
.home-page .home-text-link { display:inline-flex; align-items:center; gap:8px; font-size:12px; line-height:1.6; color:var(--elora-link); font-weight:600; text-decoration:none; text-underline-offset:4px; }
.home-page .home-text-link:hover { text-decoration:underline; }
.home-page.public-site .home-hero .home-scope { max-width:490px; margin:18px 0 0; font-size:11px; line-height:1.7; color:var(--elora-muted); }
.home-page .home-portrait { position:relative; align-self:stretch; display:flex; align-items:center; justify-content:center; margin:0 -20px 0 0; min-width:0; }
.home-page .home-portrait img { display:block; width:100%; height:440px; object-fit:cover; object-position:right top; border-radius:24px; mask-image:linear-gradient(#000 72%,transparent 100%); -webkit-mask-image:linear-gradient(#000 72%,transparent 100%); }
.home-page .home-portrait figcaption { position:absolute; bottom:22px; left:24px; right:24px; color:var(--elora-heading); font-size:12px; font-weight:650; }
.home-page .home-portrait figcaption span { display:block; font-size:11px; color:var(--elora-muted); font-weight:400; margin-top:3px; }
.home-page .home-research-focus { display:grid; grid-template-columns:minmax(140px,.48fr) minmax(0,1.5fr); gap:28px; align-items:start; padding:24px; border:1px solid var(--elora-line); border-radius:16px; background:var(--elora-feature); box-shadow:var(--elora-shadow); }
.home-page .home-research-focus .home-focus-label h2 { font-size:23px; line-height:1.3; letter-spacing:-.03em; margin:0; }
.home-page.public-site .home-research-focus .hero-slider { min-height:0; }
.home-page .home-slide-window { display:grid; }
.home-page .home-slide-window .hero-slide { grid-area:1/1; display:block; visibility:hidden; opacity:0; transform:none; transition:none; }
.home-page .home-slide-window .hero-slide.is-active { visibility:visible; opacity:1; }
.home-page .home-slide-window h3 { font-size:19px; line-height:1.4; margin:0 0 10px; font-weight:650; letter-spacing:-.02em; }
.home-page .home-slide-window p { font-size:13px; line-height:1.8; color:var(--elora-text); margin:0; }
.home-page.public-site .hero-slider-controls { margin-top:16px; gap:10px; flex-wrap:wrap; }
.home-page.public-site .hero-slider-btn { min-width:34px; min-height:34px; padding:5px 9px; }
.home-page .hero-slider-dot { width:24px; height:24px; background:none; position:relative; }
.home-page .hero-slider-dot::before { content:""; position:absolute; inset:8px; border-radius:50%; background:var(--elora-line); }
.home-page .hero-slider-dot.is-active::before { background:var(--elora-link); }
.home-page .hero-slider-dots { gap:0; }
.home-page .home-slide-pause { font-size:11px; margin-left:auto; }
.home-page .home-discover { margin:0; }
.home-page .home-discover>h2 { font-size:27px; margin:0 0 22px; line-height:1.25; }
.home-page .home-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.home-page .home-card-grid>.card { display:flex; flex-direction:column; align-items:start; padding:22px; min-width:0; }
.home-page .home-card-grid h3 { font-size:17px; line-height:1.4; margin:0 0 12px; letter-spacing:-.02em; }
.home-page .home-card-grid p:not(.home-eyebrow) { margin:0 0 18px; }
.home-page .home-card-grid .home-text-link { margin-top:auto; }
.home-page .home-card-number { color:var(--elora-muted); font-size:10px; letter-spacing:.06em; margin-bottom:18px; }
.home-page .home-secondary-link { color:var(--elora-link); font-size:11px; margin-top:10px; text-underline-offset:4px; }
.home-page .home-evidence-note { border-top:1px solid var(--elora-line); padding:22px 0 0; display:grid; grid-template-columns:180px minmax(0,1fr); gap:20px; font-size:12px; color:var(--elora-muted); }
.home-page .home-evidence-note strong { color:var(--elora-heading); }
.home-page .home-evidence-note p { margin:0; line-height:1.8; max-width:760px; }
.home-page.public-site .site-footer { margin:28px 0 0; padding:22px 0 28px; border-top:1px solid var(--elora-line); }
.home-page.public-site .footer-inner { width:100%; }
.home-page .home-discover>h2 { scroll-margin-top:24px; }
@media(min-width:761px) and (max-width:1100px) {
  .home-page.public-site #home .shell { padding:0 24px; }
  .home-page.public-site #home .home-hero { grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr); min-height:460px; gap:12px; }
  .home-page.public-site.elora-workspace-theme .home-hero h1 { font-size:32px; }
  .home-page .home-portrait img { height:360px; }
  .home-page .home-portrait figcaption { left:10px; right:0; bottom:20px; }
  .home-page .home-research-focus { grid-template-columns:1fr; gap:16px; }
  .home-page .home-research-focus .home-focus-label h2 { font-size:21px; }
  .home-page .home-card-grid { grid-template-columns:1fr; gap:12px; }
  .home-page .home-card-grid>.card { padding:20px; }
  .home-page .home-card-number { margin-bottom:10px; }
}
@media(max-width:760px) {
  .home-page.public-site #home .shell { padding:0 20px; }
  .home-page #main-content { gap:32px; }
  .home-page.public-site #home .home-hero { grid-template-columns:1fr; padding:32px 0 0; min-height:0; gap:12px; }
  .home-page.public-site.elora-workspace-theme .home-hero h1 { font-size:34px; }
  .home-page .home-portrait { margin:0; max-width:440px; width:100%; justify-self:center; }
  .home-page .home-portrait img { height:280px; object-position:right top; }
  .home-page .home-portrait figcaption { bottom:12px; left:14px; }
  .home-page .home-research-focus { grid-template-columns:1fr; gap:18px; padding:20px; }
  .home-page .home-research-focus h3 { font-size:18px; }
  .home-page .home-card-grid { grid-template-columns:1fr; gap:12px; }
  .home-page .home-discover>h2 { font-size:25px; }
  .home-page .home-evidence-note { grid-template-columns:1fr; gap:8px; }
  .home-page .home-actions .home-text-link { flex-basis:100%; }
}
@media(forced-colors:active) {
  .home-page .elora-heading-gradient { background:none; color:CanvasText; -webkit-text-fill-color:CanvasText; }
  .home-page .hero-slider-dot::before { background:ButtonText; }
  .home-page .hero-slider-dot.is-active { outline:2px solid Highlight; }
}
@media print {
  .home-page .elora-heading-gradient { background:none; color:var(--elora-heading); -webkit-text-fill-color:currentColor; }
}
