/* Candidate B is the visual source of truth. Reuse its preserved design and assets. */
@import url("./original/style.css");

.halo-footer-links{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}
.halo-footer-links a{text-decoration:underline;text-underline-offset:4px}
@media(max-width:800px){.halo-footer-links{gap:12px}}

/* One stationary mineral-paper grain, composited behind section content.
   Keep it on the sticky stage, never on the full scroll-length journey. */
.support-hero,.section-heading,.collection,.app-section,.year-case,.yearly-collection {
  position:relative; isolation:isolate;
}
.support-hero::before,.section-heading::before,.collection::before,
.app-section::before,.year-case::before,.yearly-collection::before,.journey-stage::after {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:url("./assets/halo-grain.svg") repeat; background-size:192px 192px;
  mix-blend-mode:soft-light; opacity:.22;
}
.support-hero::before { z-index:-2; }
.journey-stage::after { z-index:0; opacity:.24; }
.journey[data-story="module"] .journey-stage::after { opacity:.30; }
.year-case::before,
:root:not([data-theme="dark"]) .section-heading::before,
:root:not([data-theme="dark"]) .collection::before {
  mix-blend-mode:multiply; opacity:.04;
}
@media print {
  .support-hero::before,.section-heading::before,.collection::before,
  .app-section::before,.year-case::before,.yearly-collection::before,.journey-stage::after { display:none; }
}

@media(min-width:701px) and (max-width:900px){.nav{padding-inline:24px}.nav nav{gap:12px;font-size:12px}.nav .brand-lockup{width:124px}.nav-actions{gap:8px}.nav-cta{padding:12px 16px;font-size:11px}}

/* A quiet opening, drawn from the original About page. B continues below. */
.nav { transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease; }
.nav.over-intro {
  --ink:#f2f2ef; --wordmark-filter:none; --border:#ffffff24; --line:#ffffff4d;
  --surface:#202222; --cta-bg:#f1f2ee; --cta-ink:#111312; --cta-hover:#fff;
  color:var(--ink); background:#080909; border-bottom-color:transparent;
}
.support-hero {
  min-height:max(710px,calc(100svh - var(--nav-height)));
  position:relative; isolation:isolate; overflow:hidden;
  display:grid; place-items:center; padding:96px 24px 144px;
  color:#f5f5f2; background:#080909; --focus:#c8dfa8;
}
.hero-atmosphere {
  --light:211,222,157;
  position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none;
  contain:strict;
  background:radial-gradient(ellipse at 20% 72%,#71854820,transparent 52%),radial-gradient(ellipse at 83% 48%,#8b9f741a,transparent 43%);
  -webkit-mask-image:radial-gradient(ellipse 30% 42% at 50% 39%,transparent 40%,#0007 88%,#000 125%);
  mask-image:radial-gradient(ellipse 30% 42% at 50% 39%,transparent 40%,#0007 88%,#000 125%);
}
.hero-atmosphere[data-sky="starlight"] { --light:192,214,227; background:radial-gradient(ellipse at 20% 72%,#617f9420,transparent 52%),radial-gradient(ellipse at 83% 48%,#819e9b1a,transparent 43%); }
.hero-firefly {
  position:absolute; left:var(--x); top:var(--y); width:var(--size); height:var(--size);
  border-radius:50%; background:rgb(var(--light)); opacity:.35;
  box-shadow:0 0 8px 2px rgba(var(--light),.35),0 0 22px 6px rgba(var(--light),.09);
  animation:hero-light-drift var(--drift-time) var(--drift-delay) ease-in-out infinite alternate,
    hero-light-glow var(--glow-time) var(--glow-delay) ease-in-out infinite;
  animation-play-state:paused;
}
.hero-shooting-star {
  position:absolute; left:var(--star-x); top:var(--star-y); width:110px; height:1px;
  background:linear-gradient(90deg,transparent,#d8e7e788); border-radius:50%; opacity:0;
  transform:rotate(22deg); transform-origin:right center;
  animation:hero-star-trail var(--star-time) var(--star-delay) linear infinite;
  animation-play-state:paused;
}
.hero-shooting-star::after { content:""; position:absolute; right:0; top:-1px; width:3px; height:3px; border-radius:50%; background:#e7eeeb; box-shadow:0 0 7px #c1e2dbaa; }
.hero-atmosphere[data-running="true"] > span { animation-play-state:running; }
html.waitlist-open .hero-atmosphere > span { animation-play-state:paused; }
.hero-atmosphere-toggle {
  display:inline-grid; place-items:center; flex:none; width:32px; height:32px;
  position:relative;
  margin-left:auto; padding:0; border:1px solid #ffffff15; border-radius:50%;
  background:transparent; color:#8e958e; cursor:pointer;
}
.hero-atmosphere-toggle[hidden] { display:none; }
.hero-atmosphere-toggle::before { content:""; position:absolute; inset:-6px; border-radius:50%; }
@media(hover:hover) and (pointer:fine) {
  .hero-atmosphere-toggle:hover { color:#e0e8d8; border-color:#ffffff38; }
}
.hero-atmosphere-toggle:focus-visible { outline:2px solid var(--focus); outline-offset:4px; }
@keyframes hero-light-drift { from { transform:translate3d(0,0,0); } to { transform:translate3d(var(--drift-x),var(--drift-y),0); } }
@keyframes hero-light-glow { 0%,100% { opacity:.08; } 48% { opacity:var(--glow); } }
@keyframes hero-star-trail {
  0% { opacity:0; transform:translate3d(-110px,-44px,0) rotate(22deg) scaleX(.6); }
  1.2% { opacity:.48; }
  5.5% { opacity:0; transform:translate3d(150px,62px,0) rotate(22deg) scaleX(1); }
  100% { opacity:0; transform:translate3d(150px,62px,0) rotate(22deg) scaleX(1); }
}
@media(max-width:700px) {
  .hero-atmosphere { -webkit-mask-image:radial-gradient(ellipse 46% 40% at 50% 27%,transparent 48%,#000 115%); mask-image:radial-gradient(ellipse 46% 40% at 50% 27%,transparent 48%,#000 115%); }
  .hero-firefly { left:var(--mobile-x); top:var(--mobile-y); }
  .hero-firefly:nth-child(n+25) { display:none; }
  .hero-shooting-star { top:53%; left:12%; width:80px; }
  .hero-atmosphere-toggle { margin-left:0; }
}
@media(prefers-reduced-motion:reduce) {
  .hero-atmosphere .hero-firefly { animation:none; opacity:.3; }
  .hero-atmosphere .hero-shooting-star,.hero-atmosphere-toggle { display:none; }
}
@media print { .hero-atmosphere,.hero-atmosphere-toggle { display:none; } }
.support-art { position:absolute; inset:0; z-index:-1; pointer-events:none; }
.support-art::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg,#080909 0%,transparent 30%,transparent 86%,#08090999 100%);
}
.support-device { position:absolute; width:clamp(230px,22vw,342px); }
.support-device-progress { top:7%; left:-4%; }
.support-device-companion { top:25%; right:-2%; width:clamp(225px,20vw,310px); }
.support-phone {
  overflow:hidden; border:3px solid #424644; border-radius:42px; background:#101315;
  box-shadow:0 0 0 1px #b0b5aa33,0 30px 80px #0008;
}
.support-phone img { display:block; width:100%; height:auto; }
.support-device-progress .support-phone { transform:rotate(-14deg); }
.support-device-companion .support-phone { transform:rotate(13deg); }
.support-copy { position:relative; z-index:1; max-width:750px; text-align:center; }
.support-mark { position:relative; overflow:hidden; width:88px; height:76px; margin:0 auto 32px; }
.support-mark img { position:absolute; width:460px; height:auto; max-width:none; left:-33px; top:-53px; }
.support-copy h1 { font-size:clamp(52px,5.35vw,86px); font-weight:400; line-height:1.04; letter-spacing:-.058em; margin:0 0 25px; }
.support-copy h1 span { color:#949b94; }
.support-copy>p { font-size:16px; line-height:1.65; letter-spacing:-.015em; color:#b0b4b0; margin:0; }
.support-actions { display:flex; align-items:center; justify-content:center; gap:27px; margin-top:33px; }
.support-cta { background:#eff1ec; color:#151714; padding:15px 22px; border-radius:28px; font-size:13px; display:inline-flex; align-items:center; gap:24px; transition:background-color 160ms ease,transform 160ms ease; }
.support-explore { display:inline-flex; align-items:center; gap:14px; font-size:13px; padding:15px 0; color:#d7dad4; transition:color 160ms ease; }
.support-cta:active { transform:scale(.97); }
.support-foot { position:absolute; inset:auto 5.5vw 29px; display:flex; align-items:center; justify-content:space-between; gap:24px; color:#8e958e; font-size:11px; letter-spacing:.015em; }
.support-foot a { display:inline-flex; align-items:center; gap:18px; padding-block:12px; }
@media(hover:hover) and (pointer:fine) {
  .support-cta:hover { background:#dce5d3; }
  .support-explore:hover,.support-foot a:hover { color:#fff; }
}
@media(min-width:1700px) {
  .support-device-progress { left:calc(50% - 900px); }
  .support-device-companion { right:calc(50% - 850px); }
}
@media(max-width:1100px) and (min-width:701px) {
  .support-device-progress { left:-130px; top:12%; }
  .support-device-companion { right:-130px; top:30%; }
  .support-copy h1 { font-size:clamp(52px,6.3vw,70px); }
  .support-copy { max-width:590px; }
}
@media(max-width:700px) {
  .support-hero { min-height:max(760px,calc(100svh - var(--nav-height))); padding:60px 22px 320px; align-items:start; }
  .support-copy { width:100%; }
  .support-mark { width:64px; height:56px; margin-bottom:26px; }
  .support-mark img { width:335px; left:-24px; top:-39px; }
  .support-copy h1 { font-size:clamp(37px,9.8vw,62px); line-height:1.08; letter-spacing:-.054em; margin-bottom:20px; }
  .support-copy>p { font-size:14px; }
  .support-actions { gap:22px; margin-top:26px; }
  .support-cta { padding:14px 19px; font-size:12px; gap:16px; }
  .support-explore { font-size:12px; gap:9px; }
  .support-device-progress { top:auto; bottom:-80px; left:calc(50% - 222px); width:184px; }
  .support-device-companion { top:auto; bottom:-140px; right:calc(50% - 216px); width:174px; }
  .support-phone { border-radius:27px; border-width:2px; }
  .support-art::after { background:linear-gradient(0deg,#080909 0%,#08090900 35%,#08090900 100%); }
  .support-foot { inset:auto 24px 15px; justify-content:center; font-size:10px; }
  .support-foot>span { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .nav,.support-cta,.support-explore { transition:none; }
  .support-device,.support-copy { transform:none!important; opacity:1!important; }
  .support-cta:active { transform:none; }
}

/* Motion is progressive enhancement; only prepared off-screen content is concealed. */
:root { --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1); }
.support-copy:focus-within { opacity:1!important; }
[data-reveal] { transition:opacity 520ms var(--ease-out) var(--reveal-delay,0ms),transform 520ms var(--ease-out) var(--reveal-delay,0ms); }
[data-reveal="waiting"] { opacity:0; transform:translate3d(0,18px,0); }
[data-reveal="visible"] { opacity:1; transform:translate3d(0,0,0); }
[data-reveal-instant] { transition:none; }
img[data-media-state="loading"] { opacity:0; }
#timeline-fill { width:100%; transform:scaleX(0); transform-origin:left center; }
.nav-cta,.theme-toggle,.support-cta {
  transition:transform 150ms var(--ease-out),background-color 180ms ease,color 180ms ease,border-color 180ms ease;
}
.nav-cta:active,.theme-toggle:active,.support-cta:active { transform:scale(.97); }
.support-explore span,.support-foot a span { transition:transform 180ms var(--ease-out); }
.nav nav a { position:relative; padding-block:12px; }
.nav nav a::after {
  content:""; position:absolute; left:0; right:0; bottom:5px; height:1px; background:currentColor;
  opacity:0; transform:scaleX(.6); transform-origin:left;
  transition:transform 180ms var(--ease-out),opacity 180ms ease;
}
.mineral-window { transition:transform 220ms var(--ease-out); }
@media(hover:hover) and (pointer:fine) {
  .nav nav a:hover { opacity:1; }
  .nav nav a:hover::after { opacity:.65; transform:scaleX(1); }
  .support-explore:hover span,.support-foot a:hover span { transform:translateY(3px); }
  .mineral:hover .mineral-window { transform:translateY(-5px); }
  .mineral:active .mineral-window { transform:translateY(-2px) scale(.97); }
}
@media(hover:none),(pointer:coarse) {
  .mineral:hover .mineral-window,.text-link:hover span { transform:none; }
}
html[data-motion-input="keyboard"] { scroll-behavior:auto; }
[data-motion-input="keyboard"] *,[data-motion-input="keyboard"] *::before,[data-motion-input="keyboard"] *::after { transition:none!important; }
[data-motion-input="keyboard"] .support-copy,[data-motion-input="keyboard"] .support-device { opacity:1!important; transform:none!important; }
[data-motion-input="keyboard"] [data-reveal], [data-motion-input="keyboard"] [data-media-state] { opacity:1; transform:none; transition:none; }
[data-motion-input="keyboard"] .nav-cta,[data-motion-input="keyboard"] .theme-toggle,[data-motion-input="keyboard"] .support-cta { transform:none; transition:none; }
@media(prefers-reduced-motion:reduce) {
  [data-reveal],[data-media-state] { opacity:1!important; transform:none!important; transition:none!important; }
  .nav-cta:active,.theme-toggle:active,.support-cta:active,.support-explore:hover span,.support-foot a:hover span { transform:none; }
}
@media print {
  [data-reveal],[data-media-state] { opacity:1!important; transform:none!important; }
}

/* A dark mineral world inside either site theme. Only the two visible worlds
   composite while scrolling; the imagery and gradients remain stationary. */
.journey {
  --ink:#f4f3f7; --muted:#c0c1cc; --stage:#11121a;
  --border:#ffffff29; --line:#a9adbe85; --selected-ring:#e4e4ed;
  --product-shadow:#0008; --focus:#f3e6ff;
  color:var(--ink); color-scheme:dark;
}
.journey-stage {
  isolation:isolate;
  background:radial-gradient(ellipse at 52% 36%,#34444f,#0a1119 85%);
}
.journey-inner { position:relative; z-index:1; }
.journey-worlds { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.journey-world {
  position:absolute; inset:0; visibility:hidden; overflow:hidden; isolation:isolate;
  background:radial-gradient(ellipse at 49% 30%,var(--world-glow),transparent 72%),
    radial-gradient(ellipse at 88% 70%,var(--world-edge),transparent 66%),var(--world-base);
}
.journey-world::before {
  --landscape-blur:clamp(14px,1.6vw,32px);
  content:""; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  /* Extend the selected atlas cell by three blur radii on every edge. The
     world clips the softened image; foreground content stays unfiltered. */
  width:max(calc(100% + var(--landscape-blur) * 6),calc((100svh - var(--nav-height) + var(--landscape-blur) * 6) * 1.34)); aspect-ratio:1254 / 941;
  background-image:var(--landscape-image); background-size:400% 300%; background-position:var(--world-position);
  filter:blur(var(--landscape-blur));
  opacity:0; mix-blend-mode:luminosity; transition:opacity 500ms var(--ease-out);
}
.journey-worlds[data-landscapes="ready"] .journey-world::before { opacity:.19; }
.journey-world::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,#03050c66,transparent 38%,transparent 68%,#03050c45),
    linear-gradient(180deg,#03050c45 0%,transparent 27%,#03050c20 58%,#03050ca6 100%);
}
.journey .component-preview {
  border:1px solid #ffffff16;
  box-shadow:0 24px 60px -22px #0009;
}
.journey .timeline button[aria-pressed="true"] i {
  box-shadow:0 0 0 5px var(--stage),0 0 0 6px var(--selected-ring),0 0 20px 2px var(--accent);
}
@media(max-width:700px) {
  .journey-worlds[data-landscapes="ready"] .journey-world::before { opacity:.16; }
  .journey-world::after {
    background:linear-gradient(180deg,#03050c66,transparent 43%,#03050ca6),
      linear-gradient(90deg,#03050c38,transparent 65%);
  }
}

/* Transparent product cutouts sit directly on each theme's page surface. */
.year-case {
  --case-paper:#f5f5f7; --case-ink:#1d1d1f; --case-muted:#6e6e73; --case-line:#d2d2d7;
  background:var(--case-paper); color:var(--case-ink); color-scheme:light;
  padding:clamp(80px,8vw,132px) 5.5vw 76px;
  scroll-margin-top:var(--nav-height);
}
:root[data-theme="dark"] .year-case {
  --case-paper:#101114; --case-ink:#f5f5f7; --case-muted:#a1a1aa; --case-line:#303136;
  color-scheme:dark;
}
.year-case-inner { max-width:1440px; margin:auto; }
.year-case-story { text-align:center; }
.year-case-copy { max-width:1100px; margin-inline:auto; }
.year-case-copy .eyebrow {
  color:var(--case-muted); font-size:13px; letter-spacing:.1em; line-height:1.5;
  margin:0 0 28px;
}
.year-case-copy h2 {
  margin:0 0 30px; font-size:clamp(64px,7.6vw,116px);
  line-height:.98; letter-spacing:-.06em; font-weight:500;
}
.year-case-copy h2 span { color:var(--case-muted); }
.year-case-copy>p:not(.eyebrow) {
  max-width:620px; font-size:clamp(18px,1.7vw,24px); line-height:1.5;
  letter-spacing:-.02em; color:var(--case-muted); margin:0 auto;
}
.year-case-art { width:100%; max-width:1160px; margin:32px auto 0; }
.year-case-art img {
  display:block; width:100%; height:auto; aspect-ratio:3 / 2; object-fit:contain;
  filter:drop-shadow(0 16px 24px rgb(0 0 0 / .12));
}
.year-case-art .year-case-image-dark { display:none; }
:root[data-theme="dark"] .year-case-art .year-case-image-light { display:none; }
:root[data-theme="dark"] .year-case-art .year-case-image-dark { display:block; }
.year-case-art figcaption { color:var(--case-muted); font-size:12px; line-height:1.5; margin-top:8px; }
.year-case-collection { max-width:1040px; margin:48px auto 0; border-block:1px solid var(--case-line); }
.year-case-collection summary {
  position:relative; list-style:none; cursor:pointer; min-height:76px; padding:22px 32px 22px 4px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
  font-size:18px; font-weight:500; letter-spacing:-.02em;
}
.year-case-collection summary::-webkit-details-marker { display:none; }
.year-case-collection summary::before,.year-case-collection summary::after {
  content:""; position:absolute; right:4px; top:50%; width:14px; height:1px;
  background:var(--case-muted); transform:translateY(-50%);
}
.year-case-collection summary::after {
  transform:translateY(-50%) rotate(90deg);
  transition:transform 160ms var(--ease-out),opacity 160ms ease;
}
.year-case-collection[open] summary::after { transform:translateY(-50%); opacity:0; }
.year-case-collection summary:focus-visible { outline:2px solid var(--focus); outline-offset:6px; border-radius:2px; }
.year-case-stones { list-style:none; margin:4px 0 20px; padding:0; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); column-gap:24px; }
.year-case-stones li { min-width:0; padding:20px 0; }
.year-case-month { display:block; margin-bottom:8px; font-size:12px; color:var(--case-muted); }
.year-case-stone { display:block; font-size:15px; line-height:1.4; }
@media(min-width:1100px) {
  .year-case-copy h2 br { display:none; }
  .year-case-copy h2 span { margin-left:.12em; }
}
@media(max-width:1000px) {
  .year-case-stones { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media(max-width:700px) {
  .year-case { padding:76px 24px 48px; }
  .year-case-copy .eyebrow { font-size:11px; margin-bottom:24px; }
  .year-case-copy h2 { font-size:clamp(56px,14.5vw,84px); margin-bottom:24px; }
  .year-case-copy>p:not(.eyebrow) { font-size:18px; max-width:350px; }
  .year-case-art { width:calc(100% + 32px); margin:32px -16px 0; }
  .year-case-art figcaption { margin-top:14px; }
  .year-case-collection { margin-top:36px; }
  .year-case-collection summary { min-height:68px; padding-block:18px; font-size:16px; }
  .year-case-stones { grid-template-columns:repeat(3,minmax(0,1fr)); column-gap:16px; }
  .year-case-stone { font-size:14px; }
}

/* One quiet finale for the yearly collection. The artwork keeps its full frame. */
.closing.yearly-collection {
  --cta-bg:#edf0f4; --cta-ink:#111318; --cta-hover:#fff; --focus:#d3e5ff;
  display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.55fr);
  align-items:center; gap:30px; padding:72px max(5.5vw,calc((100vw - 1440px) / 2));
  text-align:left; background:#080b10; color:#f4f4f6;
  border-top:1px solid #ffffff0d; overflow:hidden;
}
.yearly-copy { position:relative; z-index:1; padding-block:16px; }
.yearly-app-icon {
  display:block; width:68px; height:68px; margin:0 0 27px;
  border:1px solid #ffffff27; border-radius:23%;
  box-shadow:0 12px 35px #0007,0 0 30px #c6d7ba13;
}
.yearly-collection .eyebrow { color:#a5b5c8; font-size:10px; margin-bottom:24px; }
.yearly-collection h2 {
  font-size:clamp(40px,4.2vw,68px); font-weight:400; letter-spacing:-.055em;
  line-height:1.05; margin-bottom:22px;
}
.yearly-intro { max-width:280px; margin:0 0 28px; color:#aab1be; font-size:15px; line-height:1.65; }
.yearly-note { color:#8f99a9; font-size:10px; margin:18px 0 0; }
.yearly-art { margin:0; min-width:0; }
.yearly-art img {
  width:100%; height:auto; display:block; aspect-ratio:3 / 2;
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 97%,transparent),
    linear-gradient(180deg,transparent,#000 8%,#000 87%,transparent);
  mask-composite:intersect;
}
.yearly-art figcaption {
  display:flex; justify-content:space-between; gap:20px; padding:8px 8% 0;
  color:#9ca6b6; font-size:10px; letter-spacing:.065em;
}
@media(max-width:1000px) and (min-width:701px) {
  .closing.yearly-collection { grid-template-columns:minmax(240px,.8fr) minmax(0,1.3fr); gap:10px; padding-block:64px; }
  .yearly-collection h2 { font-size:42px; }
}
@media(max-width:700px) {
  .closing.yearly-collection { grid-template-columns:1fr; gap:22px; padding:58px 24px 42px; }
  .yearly-copy { padding:0; }
  .yearly-app-icon { width:56px; height:56px; margin-bottom:23px; }
  .yearly-collection .eyebrow { margin-bottom:19px; font-size:9px; }
  .yearly-collection h2 { font-size:clamp(40px,10.8vw,60px); margin-bottom:18px; }
  .yearly-intro { max-width:310px; font-size:14px; margin-bottom:23px; }
  .yearly-note { margin-top:15px; }
  .yearly-art { margin-inline:-12px; }
  .yearly-art figcaption { font-size:9px; padding-top:10px; }
}

/* Continue the opening sky through the black closing scene and sign-off. */
.yearly-collection > .hero-atmosphere {
  z-index:0; background:none;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 28%,transparent 64%);
  mask-image:linear-gradient(90deg,#000 0%,#000 28%,transparent 64%);
}
footer.site-footer {
  --wordmark-filter:none; --muted:#a5aeb7;
  position:relative; isolation:isolate; overflow:hidden;
  background:#080909; border-top:1px solid #ffffff22;
}
.site-footer > .hero-atmosphere {
  z-index:0; background:none;
  -webkit-mask-image:none; mask-image:none;
}
.site-footer .hero-firefly:nth-child(n+25) { display:none; }
.site-footer > :not(.hero-atmosphere) { position:relative; z-index:1; }
.site-footer .halo-footer-links a { color:#c6cbd0; }
@media(max-width:800px) {
  .yearly-collection > .hero-atmosphere {
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 40%,transparent 72%);
    mask-image:linear-gradient(180deg,#000 0%,#000 40%,transparent 72%);
  }
}

/* A quiet company sign-off, aligned with the page's existing side margins. */
footer.site-footer { padding:36px 5.5vw; flex-wrap:nowrap; gap:24px; }
.site-footer .brand-lockup { width:136px; }
.site-footer .footer-copyright { margin:0; width:auto; min-width:0; order:0; font-size:12px; line-height:1.5; text-align:right; }
.site-footer .footer-copyright a { margin-left:8px; font-size:inherit; text-underline-offset:3px; }
@media(max-width:700px) {
  footer.site-footer { padding:28px 24px; flex-wrap:wrap; gap:20px; }
  .site-footer .brand-lockup { width:112px; }
  .site-footer .footer-copyright { width:100%; order:3; font-size:11px; text-align:left; }
}

/* The original simple email form, available without leaving the landing page. */
.waitlist-trigger { border:0; cursor:pointer; }
html.waitlist-open { overflow:hidden; }
.waitlist-dialog {
  --focus:#c8dfa8; color-scheme:dark;
  width:min(400px,calc(100% - 32px)); max-height:calc(100dvh - 32px);
  padding:40px 32px 24px; margin:auto; overflow:auto;
  background:#101112; color:#f4f4f5; border:1px solid #ffffff21;
  border-radius:20px; box-shadow:inset 0 1px 0 #ffffff08,0 32px 100px #0008; font-family:inherit;
}
.waitlist-dialog::backdrop { background:#030509b8; backdrop-filter:blur(6px); }
.waitlist-close {
  position:absolute; top:7px; right:7px; width:44px; height:44px;
  display:grid; place-items:center; padding:0; border:0; border-radius:50%;
  background:none; color:#a5a5ac; cursor:pointer;
}
.waitlist-dialog h2 { margin:0 28px 12px 0; font-size:28px; line-height:1.1; font-weight:400; letter-spacing:-.04em; }
#waitlist-description { color:#a5a5ac; font-size:14px; line-height:1.5; margin:0 0 25px; }
.waitlist-dialog input {
  width:100%; min-height:46px; padding:11px 16px; font-size:16px; line-height:1.4;
  background:#1a1a1a; border:1px solid #333; border-radius:10px; color:#fff;
  transition:border-color 160ms ease,box-shadow 160ms ease;
}
.waitlist-dialog input::placeholder { color:#929298; }
.waitlist-dialog input:focus-visible { outline:1px solid var(--focus); outline-offset:2px; border-color:#69745c; }
.waitlist-dialog input[aria-invalid="true"] { --focus:#efb0b0; border-color:#e4a1a1; }
.waitlist-dialog button[type="submit"] {
  width:100%; min-height:48px; margin-top:12px; padding:12px 16px;
  border:0; border-radius:999px; background:#eff1ec; color:#151714;
  font-size:14px; font-weight:500; cursor:pointer;
  transition:background-color 160ms ease,transform 150ms var(--ease-out);
}
.waitlist-dialog button[type="submit"]:not(:disabled):active { transform:scale(.98); }
[data-motion-input="keyboard"] .waitlist-dialog button[type="submit"]:not(:disabled):active { transform:none; }
.waitlist-dialog button[type="submit"]:disabled { cursor:default; opacity:.65; }
.waitlist-dialog form[data-state="success"] button[type="submit"] { opacity:1; }
.waitlist-dialog input:disabled { opacity:.7; }
#waitlist-status { min-height:20px; margin:15px 0 0; color:#b9c3b1; font-size:12px; line-height:1.5; }
.waitlist-dialog form[data-state="error"] #waitlist-status { color:#efb0b0; }
@media(hover:hover) and (pointer:fine) {
  .waitlist-dialog button[type="submit"]:not(:disabled):hover { background:#fff; }
  .waitlist-close:hover { color:#fff; background:#ffffff09; }
}
@media(max-width:400px) {
  .waitlist-dialog { padding:38px 24px 22px; }
  .waitlist-dialog h2 { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) {
  .waitlist-dialog button[type="submit"]:not(:disabled):active { transform:none; }
}

/* Camera-locked Blender renders preserve the original product staging. */
.bracelet-render,.bracelet-current,.bracelet-next { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.bracelet-render { filter:drop-shadow(0 26px 15px var(--product-shadow)); }
.bracelet-current,.bracelet-next { transform-origin:50% 23%; will-change:transform,opacity; }
@media(prefers-reduced-motion:reduce) { .bracelet-current,.bracelet-next { will-change:auto; } }
.bracelet-finish-dark { display:none; }
[data-theme="dark"] .bracelet-finish-light { display:none; }
[data-theme="dark"] .bracelet-finish-dark { display:inline; }
.bracelet-model-note { display:block; margin-top:5px; opacity:.8; }
/* One horizontal collection. Normalize visible stone width, not transparent
   canvas width: original art is 606/720 wide, Blender art is 514/900 wide. */
.collection .mineral-row {
  display:grid; grid-template-columns:none; grid-auto-flow:column;
  grid-auto-columns:minmax(82px,1fr); gap:12px;
  max-width:1440px; margin:56px auto 0; padding:12px 4px 22px;
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x proximity;
  scrollbar-width:thin; scrollbar-color:var(--line) transparent;
}
.collection .mineral {
  min-width:0; width:auto; grid-column:auto; justify-self:stretch;
  scroll-snap-align:center; position:relative; isolation:isolate;
  --stone-color:#cddae3;
}
/* An iridescent pool of light behind the stone. Only opacity and scale move;
   the original jewel pixels, their normalized size and label positions stay fixed. */
.collection .mineral::before {
  content:""; position:absolute; z-index:-1; pointer-events:none;
  width:118%; aspect-ratio:4 / 3; left:-9%; top:-6px; border-radius:50%;
  background:
    radial-gradient(ellipse at 50% 65%,var(--stone-color),transparent 64%),
    conic-gradient(from 210deg,var(--stone-color),
      color-mix(in oklch,var(--stone-color) 55%,#bddfff),
      color-mix(in oklch,var(--stone-color) 65%,#efbbff),var(--stone-color),
      color-mix(in oklch,var(--stone-color) 55%,#baffdf),var(--stone-color));
  mask-image:radial-gradient(ellipse,#000 15%,#0009 42%,transparent 70%);
  filter:blur(10px); opacity:0; transform:translateY(7px) scale(.78);
  transition:opacity 220ms ease,transform 280ms var(--ease-out);
}
.collection .mineral:focus-visible::before { opacity:.82; transform:translateY(4px) scale(1.06); }
@media(hover:hover) and (pointer:fine) {
  .collection .mineral:hover::before { opacity:.82; transform:translateY(4px) scale(1.06); }
  .collection .mineral:hover .mineral-window { transform:translateY(-5px); }
  .collection .mineral:active .mineral-window { transform:translateY(-2px); }
}
@media(prefers-reduced-motion:reduce) {
  .collection .mineral::before { transition:none; }
  .collection .mineral:hover::before,.collection .mineral:focus-visible::before { transform:none; }
  .collection .mineral:hover .mineral-window,.collection .mineral:active .mineral-window { transform:none; }
}
.collection .mineral-window {
  display:block; position:relative; width:100%; height:auto;
  aspect-ratio:4 / 3; overflow:hidden;
}
.collection .mineral-window img {
  position:absolute; display:block; left:50%; top:50%;
  width:99.802%; max-width:none; height:auto; object-fit:fill;
  transform:translate(-48.8889%,-54.0741%);
}
.collection .mineral-window-render img {
  width:147.082%; transform-origin:50% 47.5333%;
  transform:translate(-50%,-47.5333%) scaleY(1.18546);
}
.collection .mineral strong {
  display:block; width:100%; min-height:2.8em; margin-top:10px;
  font-size:11px; line-height:1.4; font-weight:500;
}
.collection .mineral>span:last-child {
  display:block; min-height:3em; margin-top:5px; font-size:9px; line-height:1.5;
}
@media(max-width:1000px) {
  .collection .mineral-row { grid-auto-columns:130px; gap:18px; margin-top:36px; }
  .collection .mineral strong { font-size:13px; }
  .collection .mineral>span:last-child { font-size:10px; }
}
.journey .timeline button { min-width:36px; min-height:44px; }
@media(max-width:700px) {
  .journey .timeline { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); row-gap:3px; }
  .journey .timeline button { min-width:0; min-height:44px; gap:6px; font-size:9px; }
  .journey .timeline-track { display:none; }
  .journey .timeline button i { width:10px; height:10px; }
  .journey .timeline button[aria-pressed=true] i { box-shadow:0 0 0 3px var(--stage),0 0 0 4px var(--selected-ring); }
  .journey .journey-note { font-size:7px; margin-top:8px; }
  .journey .control-label { margin-bottom:8px; }
  .mineral:last-child { grid-column:auto; width:auto; }
}
/* Keep the complete rigid silhouette clear of the material card on phones. */
@media(max-width:700px) {
  .journey .wearable-scene { width:78%; left:-8%; top:53%; transform:translateY(-28%); }
  .journey .phone-wrap { width:30%; bottom:30px; }
  .journey .component-preview #preview-day { font-size:18px; margin-inline:5px; }
  .journey .component-preview #preview-mineral { font-size:10px; margin-inline:5px; }
}
@media(max-width:700px) and (max-height:760px) {
  .journey .wearable-scene { top:58%; }
  .journey .phone-wrap { bottom:4px; }
  .journey .component-preview { padding:13px 0 16px; }
  .journey .component-preview .preview-label { font-size:6px; }
}
@media(max-width:700px) and (max-height:600px) {
  .journey .stage-copy>p:not(.eyebrow) { display:none; }
}

/* One quiet symbolic field shared by the chapter introduction and collection. */
#milestones > p, #milestones > h2 { position:relative; z-index:1; }
.collection-heading, .collection .mineral-row, .collection .mineral-carousel-controls { position:relative; z-index:1; }
.milestone-symbols { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; user-select:none; color:var(--ink); }
.collection > .milestone-symbols { bottom:170px; }
.milestone-symbol { position:absolute; left:var(--x); top:var(--y); width:var(--size); height:var(--size); transform:translate(-50%,-50%) rotate(var(--angle)); opacity:var(--alpha); fill:none; stroke:currentColor; stroke-width:1.15; stroke-linecap:round; stroke-linejoin:round; }
@media(max-width:700px) {
  .collection > .milestone-symbols { bottom:200px; }
  .milestone-symbol { width:calc(var(--size)*.72); height:calc(var(--size)*.72); }
  .milestone-symbols .symbol-aries { left:12%; top:8%; }
  .milestone-symbols .symbol-taurus { left:88%; top:12%; }
  .milestone-symbols .symbol-moon { left:62%; top:5%; }
  .milestone-symbols .symbol-gemini { left:3%; top:43%; }
  .milestone-symbols .symbol-leo { left:97%; top:64%; }
  .milestone-symbols .symbol-libra { left:17%; top:89%; }
  .milestone-symbols .symbol-aquarius { left:81%; top:92%; }
  .milestone-symbols .symbol-sun { left:51%; top:96%; }
  .milestone-symbols .symbol-pisces, .milestone-symbols .symbol-sagittarius, .milestone-symbols .symbol-star, .milestone-symbols .symbol-orbit { display:none; }
}
@media print { .milestone-symbols { display:none; } }
