/* One luminous particle family, with space for the message and the motion. */
.home-hero,.page-hero,.case-particle-hero,.legal-masthead { --hero-shade:#fafafa; }
html[data-theme="dark"] :is(.home-hero,.page-hero,.case-particle-hero,.legal-masthead) { --hero-shade:#10101c; }
html[data-theme="dark"] .home-hero { --hero-edge:linear-gradient(0deg,var(--hero-shade),transparent 20%); }
.page-hero--dark,html[data-theme="dark"] .page-hero--dark { --hero-shade:#010113; }
.home-hero::after,.page-hero::after,.case-particle-hero::after,.legal-masthead::after,
html[data-theme="dark"] .home-hero::after,html[data-theme="dark"] .page-hero:not(.page-hero--dark)::after {
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:var(--hero-edge,linear-gradient(transparent,transparent)),linear-gradient(90deg,var(--hero-shade) 4%,var(--hero-shade) 29%,color-mix(in srgb,var(--hero-shade) 90%,transparent) 43%,transparent 69%);
}
.case-particle-hero .case-hero {position:relative;z-index:1;min-height:35rem;}
.case-particle-hero :is(h1,.case-deck) {max-width: min(65%,55rem);}
.case-particle-hero .case-status {max-width:60%;}
.case-particle-hero + .case-cover {margin-top:2rem;}
/* Preserve the sculpture's colour; shade only the corner carrying the caption. */
.project-motion::after {background:radial-gradient(ellipse at 0% 100%,#010113e8 0%,#0101139c 25%,transparent 64%),linear-gradient(180deg,#01011330,transparent 20%);}
.project-motion-copy > p {text-shadow:0 2px 18px #010113c9;}
.legal-masthead {min-height:27rem;padding-block:11rem 4rem;}
.legal-masthead > .home-container {position:relative;z-index:1;}
.legal-masthead h1 {font:500 clamp(2.5rem,5vw,4.5rem)/1.08 var(--av-heading);letter-spacing:-.05em;margin:1.5rem 0;max-width:65%;}
.legal-masthead .legal-intro {max-width:50%;}
.legal-masthead + .legal-page {padding-top:var(--site-section-space);}

/* The invitation is a single navy surface; no blue/black panel join. */
.v9-invitation {
 background:#07091e;
 border:1px solid #5052b740;
 box-shadow:inset 0 1px 0 #ffffff08;
}
.v9-invitation::before {
 content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;
 background:radial-gradient(ellipse at 78% 75%,#3546db4d,transparent 64%),radial-gradient(ellipse at 15% 0%,#3936b42b,transparent 65%);
}
.v9-cta-art {
 inset:0;background:transparent;mask-image:none;-webkit-mask-image:none;
 mix-blend-mode:screen;
}
.v9-cta-art::after {display:none;}
.v9-invitation-content {width:58%;}
.v9-invitation-content > .home-eyebrow {color:#c5c9ff;}
.v9-invitation-bottom {border-top-color:#b9c3ff40;}
.v9-process-art {background:#010113;}
.v9-process-art::after {background:linear-gradient(90deg,#010113,transparent 38%);}
.process-stage-art:is([data-av-entropy^="particle-"],[data-av-entropy^="dots-"]) {min-height:32rem;}
.process-stage-art .process-art-caption {background:linear-gradient(transparent,#010113e8);padding:2.5rem 1.5rem 1.5rem;left:0;right:0;bottom:0;}

@media(max-width:48rem){
 .home-hero::after,.page-hero::after,.case-particle-hero::after,.legal-masthead::after,
 html[data-theme="dark"] .home-hero::after,html[data-theme="dark"] .page-hero:not(.page-hero--dark)::after {
  background:var(--hero-edge,linear-gradient(transparent,transparent)),linear-gradient(var(--hero-shade) 8%,var(--hero-shade) 40%,color-mix(in srgb,var(--hero-shade) 92%,transparent) 53%,transparent 78%);
 }
 .home-hero-copy {padding-bottom:20rem;}
 .page-hero {padding-bottom:17rem;}
 .case-particle-hero .case-hero {padding-bottom:16rem;}
 .case-particle-hero :is(h1,.case-deck,.case-status) {max-width:100%;}
 .legal-masthead {padding-block:9rem 12rem;}
 .legal-masthead h1,.legal-masthead .legal-intro {max-width:100%;}
 .v9-invitation-content {width:100%;padding-bottom:20rem;}
 .v9-cta-art {inset:0;}
 .v9-invitation::before {background:radial-gradient(ellipse at 50% 90%,#3546db55,transparent 75%);}
 .v9-process-art {inset:38% 0 6rem;}
 .v9-process-art::after {background:linear-gradient(#010113,transparent 24%,transparent 76%,#010113);}
 .process-stage-art:is([data-av-entropy^="particle-"],[data-av-entropy^="dots-"]) {min-height:22rem;}
}
