/* Centered scroll panel with a shared dot-logo / word reveal clock. */
.manifesto {
  --manifesto-ink: var(--umbra-gray-6);
  position: relative;
  isolation: isolate;
  width: 100%;
}
[data-theme="dark"] .manifesto { --manifesto-ink: var(--umbra-gray-0); }
.manifesto-copy { position: relative; z-index: 1; padding-block: 48px; }
.manifesto-paragraphs { grid-column: 3 / 11; display: flex; flex-direction: column; gap: 48px; }
.manifesto p {
  margin: 0;
  color: var(--manifesto-ink);
  font-size: var(--type-h4);
  line-height: 44px;
  font-weight: var(--weight-regular);
  letter-spacing: -.02em;
  text-align: center;
  text-wrap: balance;
}
.manifesto-word { display: inline; }
.manifesto-logo { display: inline-block; width: auto; height: .75em; vertical-align: baseline; filter: brightness(0); }
[data-theme="dark"] .manifesto-logo { filter: brightness(0) invert(1); }
@media (max-width: 900px) { .manifesto-paragraphs { grid-column: 2 / 12; } }
@media (max-width: 620px) {
  .manifesto-copy { padding-block: 32px; }
  .manifesto-paragraphs { grid-column: 1 / -1; }
  .manifesto p { font-size: var(--type-h6); line-height: 28px; }
}
@media (prefers-reduced-motion: reduce) { .manifesto-word { opacity: 1 !important; } }
.manifesto-accessible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

.manifesto-panel { position: relative; display: flex; align-items: center; min-height: calc(100svh - 64px); }
.manifesto.is-scroll-ready { height: calc(var(--panel-height) + var(--scroll-distance, 160vh)); }
.is-scroll-ready .manifesto-panel { position: sticky; top: 64px; height: var(--panel-height); }
.manifesto-dot-logo { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: min(90vw, 780px); height: min(90vw, 780px); pointer-events: none; z-index: 0; }
@media(max-width:620px) {
  .manifesto-panel { min-height: calc(100svh - 112px); }
  .is-scroll-ready .manifesto-panel { top: 112px; }
}
@media(prefers-reduced-motion:reduce) {
  .manifesto.is-scroll-ready { height: auto; }
  .is-scroll-ready .manifesto-panel { position: relative; top: auto; }
}

/* One enlarged rotating logo, clipped by the desktop canvas. */
@media(min-width:901px){
 .manifesto-dot-logo{width:100%;height:1200px}
}

/* A single restrained highlight passes through the final inline wordmark. */
@media(min-width:901px){
 .manifesto-logo-word{--shimmer-dur:500ms;--shimmer-ease:linear;--shimmer-highlight:rgba(255,255,255,.5);--shimmer-shoulder:rgba(255,255,255,.12);display:inline-block;position:relative;vertical-align:baseline}
 .manifesto-logo-word .manifesto-logo{display:block}
 .manifesto-logo-sheen{position:absolute;left:0;bottom:0;width:100%;height:.75em;pointer-events:none;overflow:hidden;mask:url('assets/umbra-logo.svg') center / 100% 100% no-repeat;-webkit-mask:url('assets/umbra-logo.svg') center / 100% 100% no-repeat}
 .manifesto-logo-sheen::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 25%,var(--shimmer-shoulder) 40%,var(--shimmer-highlight) 50%,var(--shimmer-shoulder) 60%,transparent 75%);opacity:0;transform:translateX(-110%)}
 [data-theme="dark"] .manifesto-logo-word{--shimmer-highlight:rgba(165,165,165,.45);--shimmer-shoulder:rgba(165,165,165,.1)}
 .is-logo-shimmering .manifesto-logo-sheen::after{animation:manifesto-logo-shimmer var(--shimmer-dur) var(--shimmer-ease) both}
}
@keyframes manifesto-logo-shimmer{
 0%{transform:translateX(-110%);opacity:0}
 15%,80%{opacity:1}
 100%{transform:translateX(110%);opacity:0}
}
@media(prefers-reduced-motion:reduce){
 .is-logo-shimmering .manifesto-logo-sheen::after{animation:none}
}

/* Desktop reading cue reuses the hero glass pill, without the New badge. */
.manifesto-pill{display:none}
@media(min-width:901px){
 .manifesto-copy{row-gap:32px}
 .manifesto-pill{display:flex;grid-column:3/11;justify-self:center;padding-left:16px;background:rgba(255,255,255,.2);color:#000724;box-shadow:inset 0 0 0 1px #0000000d;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
 .manifesto-pill .hero-pill-icon{background:#f0f0f0}
 [data-theme="dark"] .manifesto-pill{background:rgba(26,26,26,.8);color:#fff;box-shadow:inset 0 0 0 1px #ffffff14}
 [data-theme="dark"] .manifesto-pill .hero-pill-icon{background:#ffffff0a}
}

/* Keep the oversized dot canvas out of the following section’s 80px inset.
 * overflow:clip preserves the viewport as the sticky panel’s scroll container. */
@media(min-width:901px){
 .manifesto{overflow:clip}
}
