/* A mathematical sculpture in the institute's mineral palette. */
body[data-rpi-page="home"] { --rpi-wash-height:101rem; }
body[data-rpi-page="home"] .rpi-hero.linked-hero { padding-block:3.2rem 2rem; }
body[data-rpi-page="home"] .linked-hero .rpi-hero-grid { grid-template-columns: .95fr 1.2fr; gap:0; min-height:33rem; }
body[data-rpi-page="home"] .linked-hero h1 { font-size:clamp(3.5rem,6.3vw,6rem); max-width:8.5ch; }
body[data-rpi-page="home"] .linked-hero .lead { max-width:25rem; }
.linked-hero .hero-copy { position:relative; z-index:1; padding-bottom:2rem; }
.linked-hero .hero-start { display:inline-flex; gap:2.5rem; align-items:center; margin-top:1.2rem; padding:.9rem 1.3rem; border:1px solid #9ab5a7; background:#e3f6e4; color:#182623; text-decoration:none; font:500 .95rem/1.4 var(--rpi-sans); }
.linked-hero .hero-start:hover { background:#d6eddd; }
.linked-field { position:relative; margin:0 -2rem 0 -1rem; min-width:0; }
.linked-field .field-stage { position:relative; aspect-ratio:1.08; isolation:isolate; }
.linked-field .field-stage::after { content:""; position:absolute; z-index:-1; bottom:3%; left:22%; width:56%; height:5%; border-radius:50%; background:#8a9e92; opacity:.14; filter:blur(15px); }
.linked-field canvas,.linked-field .field-poster { display:block; width:100%; height:100%; position:absolute; inset:0; object-fit:contain; }
.linked-field canvas { opacity:0; }
.linked-field.is-rendered canvas { opacity:1; }
.linked-field.is-rendered .field-poster { visibility:hidden; }
.linked-field figcaption { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; margin:0 2rem; padding-top:.8rem; border-top:1px solid #bdd3c8; color:#4e625d; font:.7rem/1.5 var(--rpi-mono); text-transform:uppercase; letter-spacing:.06em; }
.linked-field .field-toggle { border:0; border-bottom:1px solid #9db9ab; padding:.7rem 0; background:none; color:#355b4e; font:inherit; letter-spacing:inherit; cursor:pointer; text-transform:uppercase; min-height:44px; }
.linked-field .field-toggle[hidden] { display:none; }
body[data-rpi-page="home"] .rpi-explore-strip { margin:0 0 5rem; }
body[data-rpi-page="home"] .rpi-explore-strip .rpi-home-links { display:grid; grid-template-columns:repeat(4,1fr); column-gap:2rem; }
body[data-rpi-page="home"] .rpi-explore-strip .rpi-home-links a { grid-template-columns:1.5rem 1fr; gap:.5rem; height:100%; padding:1.2rem 0; }
body[data-rpi-page="home"] .rpi-explore-strip .rpi-home-links strong { font-size:1rem; }
body[data-rpi-page="home"] .rpi-explore-strip .rpi-home-links small { font-size:.84rem; }
@media(max-width:1000px) and (min-width:761px) {
  body[data-rpi-page="home"] .linked-hero h1 { font-size:4rem; }
  body[data-rpi-page="home"] .linked-hero .rpi-hero-grid { min-height:27rem; }
}
@media(max-width:760px) {
  body[data-rpi-page="home"] { --rpi-wash-height:122rem; }
  body[data-rpi-page="home"] .rpi-hero.linked-hero { padding-top:2rem; }
  body[data-rpi-page="home"] .linked-hero .rpi-hero-grid { grid-template-columns:1fr; min-height:0; }
  body[data-rpi-page="home"] .linked-hero h1 { font-size:clamp(3.2rem,12vw,4.8rem); max-width:10ch; }
  .linked-hero .hero-copy { padding:0; }
  .linked-field { margin:1.5rem -.8rem 0; }
  .linked-field figcaption { margin:0 .8rem; font-size:.63rem; }
  body[data-rpi-page="home"] .rpi-explore-strip .rpi-home-links { grid-template-columns:1fr 1fr; gap:.5rem 1.5rem; }
  body[data-rpi-page="home"] .rpi-explore-strip { margin-bottom:3rem; }
}
@media print { .linked-field canvas,.field-toggle { display:none!important; } .linked-field .field-poster { visibility:visible!important; } }

/* A short caption connects the moving artwork to its geometry. */
.field-explanation { display:grid; grid-template-columns:11rem minmax(0,1fr); gap:3rem; align-items:start; margin:1.5rem 0 .5rem; padding-top:1.4rem; border-top:1px solid #bdd3c8; }
.field-explanation .field-eyebrow { margin:.3rem 0 0; font:.7rem/1.6 var(--rpi-mono); text-transform:uppercase; letter-spacing:.1em; color:#355b4e; }
.field-explanation-copy { max-width:49rem; min-width:0; }
body[data-rpi-page="home"] .field-explanation h2 { margin:0 0 .85rem; padding:0; border:0; font:500 clamp(1.4rem,2.2vw,1.8rem)/1.3 var(--rpi-sans); letter-spacing:-.025em; text-transform:none; color:#182e26; text-wrap:balance; }
.field-explanation-copy > p { margin:0; font:1rem/1.7 var(--rpi-sans); color:#344e44; }
.field-explanation-copy > p.field-note { margin:.9rem 0 0; font-size:.82rem; line-height:1.7; color:#4e625d; }
.field-note a { color:#275f50; text-underline-offset:4px; }
@media(max-width:760px) { .field-explanation { grid-template-columns:1fr; gap:.85rem; margin:1.75rem 0 .5rem; padding-top:1.4rem; } .field-explanation .field-eyebrow { margin:0; } }

/* Explore the same exact fibres without changing their linking. */
.linked-field.is-rendered canvas{cursor:grab;touch-action:pan-y}
.linked-field.is-dragging canvas{cursor:grabbing}
.field-controls{margin:1rem 2rem 0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem 1.3rem;color:#344e44}
.field-controls[hidden]{display:none}
.field-views{display:flex;align-items:center;gap:.4rem}
.field-views button{min-height:44px;padding:.6rem .8rem;border:1px solid #9ab5a7;color:#244f40;background:transparent;font:500 .77rem/1.4 var(--rpi-sans);cursor:pointer;white-space:nowrap}
.field-views button[aria-pressed="true"]{background:#295b45;color:#fff;border-color:#295b45}
.field-rotation{min-width:0}
.field-rotation label{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.3rem;font:.73rem/1.5 var(--rpi-sans)}
.field-rotation label span{color:#4e625d;font-size:.65rem}
.field-rotation input{display:block;width:100%;height:36px;margin:0;accent-color:#295b45;cursor:pointer}
.field-controls>p{grid-column:1/-1;margin:0;min-height:3em;font:.8rem/1.5 var(--rpi-sans)}
.field-controls :focus-visible,.field-toggle:focus-visible{outline:2px solid #244f40;outline-offset:4px}
@media(max-width:1100px){.field-controls{grid-template-columns:1fr;gap:.7rem}.field-rotation label{justify-content:flex-start;gap:1rem}}
@media(max-width:760px){.field-controls{margin-inline:.8rem}.field-rotation input{height:44px}.field-controls>p{font-size:.78rem}}
@media print{.field-controls{display:none!important}}
