:root {
  --ds-ink: #f1e4ce;
  --ds-muted: #c8b59f;
  --ds-gold: #d5a65d;
  --ds-gold-soft: #b7884f;
  --ds-cacao: #160d0b;
  --ds-cacao-2: #24120f;
  --ds-aubergine: #21111d;
  --ds-purple: #261633;
  --ds-indigo: #141a36;
  --ds-blue: #182546;
  --ds-green: #14251c;
  --ds-line: rgba(216, 168, 92, .26);
  --ds-panel: rgba(13, 8, 8, .74);
  --ds-shadow: 0 34px 90px rgba(0, 0, 0, .42);
  --ds-serif: "EB Garamond", Georgia, serif;
  --ds-display: "Cinzel", Georgia, serif;
  --ds-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--ds-cacao); }
body { margin: 0; }
button, input, textarea, select { font: inherit; }
a { color: inherit; }
img, video { display: block; max-width: 100%; }
[hidden] { display: none !important; }

.ds-body {
  color: var(--ds-ink);
  background:
    radial-gradient(circle at 18% 8%, rgba(111, 48, 28, .22), transparent 30rem),
    radial-gradient(circle at 85% 42%, rgba(54, 42, 105, .18), transparent 34rem),
    linear-gradient(180deg, #120a08 0%, #170d0c 28%, #160d14 55%, #101426 78%, #0b0c13 100%);
  font-family: var(--ds-serif);
  font-size: 19px;
  line-height: 1.55;
  overflow-x: hidden;
}

.ds-body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 100;
  opacity: .18;
  mix-blend-mode: soft-light;
  background-image:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.14) 0 1px, transparent 1.2px),
    radial-gradient(circle at 70% 65%, rgba(255,255,255,.09) 0 1px, transparent 1.3px);
  background-size: 37px 41px, 61px 57px;
}


section[id] { scroll-margin-top: 86px; }
.ds-skip {
  position: fixed;
  left: 1rem;
  top: -8rem;
  z-index: 9999;
  padding: .75rem 1rem;
  background: #fff;
  color: #111;
}
.ds-skip:focus { top: 1rem; }

.ds-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 1000;
  min-height: 68px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 1rem;
  padding: 0 3.2vw;
  border-bottom: 1px solid rgba(214, 167, 93, .16);
  background: linear-gradient(180deg, rgba(15, 9, 8, .92), rgba(15, 9, 8, .62));
  backdrop-filter: blur(18px) saturate(120%);
  transition: background .35s ease, border-color .35s ease, transform .35s ease;
}
.ds-header.is-scrolled {
  background: rgba(12, 8, 10, .92);
  border-color: rgba(214, 167, 93, .32);
}

.ds-house,
.ds-brand,
.ds-nav a {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .15em;
  font-family: var(--ds-display);
}
.ds-house {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  font-size: .68rem;
  color: #d9b779;
}
.ds-house-mark {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(213,166,93,.4);
  border-radius: 50%;
  font-size: .72rem;
}
.ds-brand {
  justify-self: center;
  color: #e3bd7c;
  font-size: 1rem;
  letter-spacing: .24em;
}
.ds-nav {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: clamp(.7rem, 1.5vw, 1.55rem);
}
.ds-nav a {
  position: relative;
  color: rgba(238, 220, 194, .78);
  font-size: .58rem;
  transition: color .2s ease;
}
.ds-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: -.45rem;
  height: 1px;
  background: var(--ds-gold);
  transition: right .25s ease;
}
.ds-nav a:hover,
.ds-nav a:focus-visible { color: #fff0d1; }
.ds-nav a:hover::after,
.ds-nav a:focus-visible::after { right: 0; }
.ds-menu-toggle { display: none; }

.ds-hero {
  position: relative;
  min-height: min(920px, 100svh);
  display: flex;
  align-items: flex-end;
  isolation: isolate;
  overflow: hidden;
  border-bottom: 1px solid var(--ds-line);
}
.ds-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  z-index: -4;
  filter: saturate(.87) contrast(1.03) brightness(.84);
  transform: scale(1.02);
}
.ds-hero-wash {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(9,5,4,.84) 0%, rgba(15,7,5,.48) 34%, rgba(16,8,7,.08) 62%, rgba(10,5,6,.18) 100%),
    linear-gradient(180deg, rgba(14,7,6,.18) 0%, rgba(14,8,7,.04) 54%, rgba(10,7,8,.78) 100%);
}
.ds-grain {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .12;
  background: repeating-linear-gradient(115deg, transparent 0 5px, rgba(255,255,255,.05) 6px, transparent 7px 12px);
  mix-blend-mode: overlay;
}
.ds-orbit {
  position: absolute;
  border: 1px solid rgba(226, 179, 97, .18);
  border-radius: 50%;
  pointer-events: none;
}
.ds-orbit::before,
.ds-orbit::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(226, 179, 97, .12);
  border-radius: inherit;
}
.ds-orbit::before { inset: 8%; }
.ds-orbit::after { inset: 20%; }
.ds-orbit-one { width: 38vw; aspect-ratio: 1; right: -11vw; top: 10vh; }
.ds-orbit-two { width: 21vw; aspect-ratio: 1; left: 42vw; top: 11vh; opacity: .6; }

.ds-hero-copy {
  width: min(690px, 90vw);
  margin: 0 0 10vh clamp(1.5rem, 7vw, 7.5rem);
  padding: 2.1rem 2.2rem 2.2rem;
  background: linear-gradient(135deg, rgba(16,9,7,.68), rgba(25,12,18,.34));
  border-left: 1px solid rgba(225, 177, 97, .58);
  box-shadow: var(--ds-shadow);
  backdrop-filter: blur(5px);
}
.ds-kicker {
  margin: 0 0 .7rem;
  color: var(--ds-gold);
  font-family: var(--ds-display);
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: .68rem;
}
.ds-hero h1,
.ds-world h2,
.ds-product h2,
.ds-provenance h2,
.ds-craft h2,
.ds-rituals h2,
.ds-coming h2,
.ds-rite-dialog h2 {
  font-family: var(--ds-display);
  font-weight: 400;
  letter-spacing: .08em;
}
.ds-hero h1 {
  margin: 0;
  color: #efc47b;
  font-size: clamp(3.8rem, 9vw, 8.7rem);
  line-height: .95;
  text-shadow: 0 8px 32px rgba(0,0,0,.42);
}
.ds-hero-category {
  margin: .95rem 0 0;
  color: #dfb66f;
  font-family: var(--ds-display);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: clamp(.78rem, 1.2vw, 1rem);
}
.ds-hero-line {
  margin: 1.3rem 0 0;
  max-width: 620px;
  color: #f4e6cf;
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-style: italic;
}
.ds-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  margin-top: 1.5rem;
}
.ds-button {
  appearance: none;
  border: 1px solid rgba(218, 169, 91, .62);
  border-radius: 0;
  padding: .82rem 1.15rem .78rem;
  color: #f3ddbb;
  background: transparent;
  font-family: var(--ds-display);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  text-decoration: none;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease;
}
.ds-button:hover,
.ds-button:focus-visible { transform: translateY(-2px); border-color: #e2b66c; color: #fff0d2; }
.ds-button-solid { background: rgba(153, 89, 36, .28); box-shadow: inset 0 0 35px rgba(229, 174, 87, .06); }
.ds-button-solid:hover { background: rgba(170, 95, 36, .42); }
.ds-button-ghost { background: rgba(11, 8, 10, .28); }
.ds-hero-note {
  position: absolute;
  right: 4vw;
  bottom: 1.4rem;
  display: flex;
  gap: 1.1rem;
  font-family: var(--ds-display);
  text-transform: uppercase;
  letter-spacing: .15em;
  font-size: .55rem;
  color: rgba(236, 208, 164, .62);
}
.ds-hero-note span + span::before { content: "·"; margin-right: 1.1rem; color: var(--ds-gold); }

.ds-world {
  position: relative;
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 5vw;
  align-items: center;
  max-width: var(--ds-max);
  margin: 0 auto;
  padding: 7.5rem 6vw;
}
.ds-world::before {
  content: "";
  position: absolute;
  inset: 0 50% auto 50%;
  width: min(900px, 90vw);
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(214,167,93,.32), transparent);
}
.ds-world h2 { margin: 0 0 1.1rem; color: #e1bb7b; font-size: clamp(2rem, 4vw, 3.9rem); }
.ds-world p { max-width: 750px; color: #d7c5af; }
.ds-world-law {
  margin-top: 1.8rem;
  color: #ead3ad !important;
  font-style: italic;
  font-size: 1.22rem;
}
.ds-world-compass {
  position: relative;
  justify-self: center;
  width: min(360px, 72vw);
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(220,171,93,.22);
  background:
    radial-gradient(circle, rgba(225,178,92,.12), transparent 14%),
    conic-gradient(from 10deg, rgba(223,173,86,.04), rgba(91,75,148,.10), rgba(223,173,86,.04), rgba(55,105,105,.08), rgba(223,173,86,.04));
  box-shadow: inset 0 0 80px rgba(16, 10, 16, .7), 0 0 90px rgba(74,54,113,.12);
}
.ds-world-ring { position: absolute; inset: 13%; border: 1px solid rgba(220,171,93,.18); border-radius: 50%; }
.ds-world-ring::before,
.ds-world-ring::after { content:""; position:absolute; inset:18%; border:1px solid rgba(220,171,93,.14); border-radius:50%; }
.ds-world-ring::after { inset:38%; background: radial-gradient(circle, #e3b66d 0 2px, transparent 3px); }
.ds-world-dot { position: absolute; width: 12px; height: 12px; border-radius: 50%; box-shadow: 0 0 24px currentColor; }
.ds-world-dot-a { left: 15%; top: 52%; color: #9ec285; background: currentColor; }
.ds-world-dot-e { right: 20%; top: 28%; color: #d78353; background: currentColor; }
.ds-world-dot-m { right: 24%; bottom: 17%; color: #7b86d6; background: currentColor; }

.ds-product {
  position: relative;
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr);
  align-items: stretch;
  border-top: 1px solid var(--ds-line);
  border-bottom: 1px solid rgba(214,167,93,.12);
  isolation: isolate;
  overflow: hidden;
}
.ds-product-media { min-height: 610px; overflow: hidden; position: relative; }
.ds-product-media::after {
  content:"";
  position:absolute;
  inset:0;
  box-shadow: inset 0 0 110px rgba(8,5,7,.48);
  pointer-events:none;
}
.ds-product-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.94) contrast(1.03); transition: transform 9s ease; }
.ds-product:hover .ds-product-media img { transform: scale(1.035); }
.ds-product-copy {
  align-self: center;
  padding: clamp(4rem, 7vw, 8rem);
  position: relative;
  z-index: 2;
}
.ds-product h2 { margin: 0 0 .15rem; font-size: clamp(3.5rem, 8vw, 7.2rem); line-height: .95; font-weight: 400; }
.ds-subtitle { margin: .65rem 0 1.15rem; color: #dfbd84; font-family: var(--ds-display); text-transform: uppercase; letter-spacing: .14em; font-size: .76rem; }
.ds-sense { margin: 1rem 0; color: #e5cfac; font-style: italic; font-size: 1.22rem; }
.ds-flavour { margin: 1.2rem 0; color: #edc989; font-family: var(--ds-display); letter-spacing: .07em; font-size: .82rem; text-transform: uppercase; }
.ds-active { margin: -.35rem 0 1.35rem; color: #d7b883; font-size: .94rem; }
.ds-product-copy > p:not(.ds-kicker):not(.ds-subtitle):not(.ds-sense):not(.ds-flavour):not(.ds-active) { max-width: 670px; color: #d6c4b2; }
.ds-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.8rem;
}
.ds-product-meta span {
  padding: .45rem .65rem;
  border: 1px solid rgba(221,170,91,.23);
  background: rgba(0,0,0,.16);
  color: rgba(236,217,189,.7);
  font-family: var(--ds-display);
  font-size: .55rem;
  text-transform: uppercase;
  letter-spacing: .11em;
}
.ds-product-glow { position:absolute; inset:auto; width: 34vw; aspect-ratio:1; border-radius:50%; filter: blur(80px); opacity:.16; z-index:-1; pointer-events:none; }
.ds-product-awaken { background: linear-gradient(105deg, #111c14 0%, #17100b 60%, #23150c 100%); }
.ds-product-awaken h2 { color: #d9b970; }
.ds-product-awaken .ds-product-glow { background:#85a95d; right:8vw; top:20%; }
.ds-product-eve { background: linear-gradient(105deg, #26110d 0%, #1b0e0c 46%, #2b1623 100%); }
.ds-product-eve h2 { color: #d98853; }
.ds-product-eve .ds-product-glow { background:#b35d35; left:12vw; bottom:10%; }
.ds-product-moon { background: linear-gradient(105deg, #10162a 0%, #18122b 48%, #271331 100%); }
.ds-product-moon h2 { color: #b5b4ec; text-shadow: 0 0 38px rgba(120,117,206,.18); }
.ds-product-moon .ds-product-glow { background:#5f64c7; right:10vw; bottom:8%; }
.ds-moon-orb {
  position:absolute;
  right:7vw;
  top:6rem;
  width:190px;
  aspect-ratio:1;
  border-radius:50%;
  background: radial-gradient(circle at 35% 32%, #fff8df 0 4%, #e7d8aa 21%, #b9a677 44%, #7b6f60 61%, #251d2f 71%, transparent 72%);
  opacity:.28;
  filter: drop-shadow(0 0 36px rgba(219,207,166,.22));
  z-index:0;
}
.ds-text-button {
  margin-top: 1rem;
  padding: 0 0 .25rem;
  border: 0;
  border-bottom: 1px solid rgba(221,170,91,.44);
  color: #e4c18c;
  background: transparent;
  cursor: pointer;
  font-family: var(--ds-display);
  font-size: .68rem;
  text-transform: uppercase;
  letter-spacing: .12em;
}
.ds-text-button:hover { color:#fff0d2; border-color:#e2b56d; }

.ds-provenance {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .88fr);
  max-width: var(--ds-max);
  margin: 0 auto;
  padding: 8rem 6vw;
  gap: 6vw;
  align-items: center;
}
.ds-provenance h2,
.ds-craft h2,
.ds-rituals h2,
.ds-coming h2 { margin: 0 0 1.2rem; color: #e0b875; font-size: clamp(2.5rem, 5vw, 4.9rem); line-height: 1.03; }
.ds-provenance p,
.ds-craft p,
.ds-rituals-heading p,
.ds-coming p { color: #d3c1ae; }
.ds-provenance-line { margin-top: 2rem; color:#e6c68f !important; font-family:var(--ds-display); text-transform:uppercase; letter-spacing:.13em; font-size:.72rem; }
.ds-provenance-image { margin:0; position:relative; min-height:480px; overflow:hidden; border:1px solid rgba(218,169,91,.25); box-shadow:var(--ds-shadow); }
.ds-provenance-image img { width:100%; height:100%; min-height:480px; object-fit:cover; }
.ds-provenance-image::after { content:""; position:absolute; inset:0; box-shadow:inset 0 0 80px rgba(16,9,8,.52); }

.ds-craft {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:5vw;
  align-items:center;
  padding:7rem max(6vw, calc((100vw - var(--ds-max))/2 + 6vw));
  background:
    radial-gradient(circle at 80% 30%, rgba(87,63,139,.15), transparent 26rem),
    linear-gradient(115deg, rgba(36,17,13,.96), rgba(17,14,25,.96));
  border-block:1px solid var(--ds-line);
}
.ds-craft-facts { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid rgba(218,169,91,.22); }
.ds-craft-facts article { min-height:170px; padding:1.2rem; display:flex; flex-direction:column; justify-content:center; border-right:1px solid rgba(218,169,91,.16); background:rgba(0,0,0,.12); }
.ds-craft-facts article:last-child { border-right:0; }
.ds-craft-facts b { color:#e4bd79; font-family:var(--ds-display); font-weight:400; font-size:1.55rem; }
.ds-craft-facts span { margin-top:.45rem; color:#bfae9d; font-size:.84rem; }


.ds-rituals {
  position:relative;
  padding:8rem 5vw 9rem;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,#140d18 0%,#111427 78%,#0e0d16 100%);
}
.ds-rituals-bg {
  position:absolute;
  inset:auto 0 0;
  height:46%;
  background:
    linear-gradient(180deg, rgba(17,16,29,1) 0%, rgba(17,16,29,.18) 48%, rgba(10,10,16,.72) 100%),
    url('/assets/dreamscape/img/rituals-strip.webp') center bottom/cover no-repeat;
  opacity:.20;
  z-index:-2;
}
.ds-rituals::before { content:""; position:absolute; left:50%; top:8rem; width:520px; max-width:72vw; aspect-ratio:1; transform:translateX(-50%); border-radius:50%; border:1px solid rgba(197,160,102,.12); box-shadow:0 0 140px rgba(76,59,136,.14), inset 0 0 90px rgba(76,59,136,.08); z-index:-1; }
.ds-rituals-heading { max-width:760px; margin:0 auto 3rem; text-align:center; }
.ds-ritual-strip-stage {
  position:relative;
  max-width:var(--ds-max);
  margin:0 auto;
  border:1px solid rgba(218,169,91,.28);
  background:#0a0910;
  box-shadow:var(--ds-shadow);
  overflow:hidden;
}
.ds-ritual-strip-image {
  display:block;
  width:100%;
  height:auto;
}
.ds-ritual-hotspots {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(5,1fr);
}
.ds-ritual-hotspot {
  appearance:none;
  border:0;
  border-right:1px solid rgba(218,169,91,.12);
  background:transparent;
  cursor:pointer;
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:1rem .6rem 1.15rem;
  transition:transform .28s ease, background .28s ease;
}
.ds-ritual-hotspot:last-child { border-right:0; }
.ds-ritual-hotspot::before {
  content:"";
  position:absolute;
  inset:4.5% 8%;
  border:1px solid rgba(232,187,108,.18);
  background:linear-gradient(180deg,rgba(28,18,34,.02),rgba(18,10,20,.18));
  opacity:0;
  box-shadow:inset 0 0 34px rgba(230,181,99,.08),0 0 34px rgba(92,60,141,.12);
  transition:opacity .28s ease, border-color .28s ease, box-shadow .28s ease;
}
.ds-ritual-hotspot::after {
  content:"✦";
  position:absolute;
  top:7.5%;
  right:12%;
  color:rgba(232,187,108,.0);
  text-shadow:0 0 18px rgba(224,174,91,.55);
  transition:color .28s ease, transform .28s ease;
}
.ds-ritual-hotspot:hover,
.ds-ritual-hotspot:focus-visible {
  outline:none;
  background:linear-gradient(180deg,rgba(224,174,91,.03),rgba(99,63,133,.10));
}
.ds-ritual-hotspot:hover::before,
.ds-ritual-hotspot:focus-visible::before {
  opacity:1;
  border-color:rgba(231,184,104,.52);
  box-shadow:inset 0 0 44px rgba(230,181,99,.10),0 0 48px rgba(118,72,155,.18);
}
.ds-ritual-hotspot:hover::after,
.ds-ritual-hotspot:focus-visible::after {
  color:rgba(232,187,108,.92);
  transform:scale(1.08);
}
.ds-ritual-hotspot-chip {
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  gap:.35rem;
  padding:.45rem .7rem;
  border:1px solid rgba(231,184,104,.18);
  background:rgba(11,10,18,.56);
  color:rgba(239,214,171,.0);
  font-family:var(--ds-display);
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  transform:translateY(12px);
  opacity:0;
  transition:opacity .28s ease, transform .28s ease, color .28s ease, border-color .28s ease, background .28s ease;
}
.ds-ritual-hotspot:hover .ds-ritual-hotspot-chip,
.ds-ritual-hotspot:focus-visible .ds-ritual-hotspot-chip {
  opacity:1;
  transform:translateY(0);
  color:#efcf97;
  border-color:rgba(231,184,104,.42);
  background:rgba(17,12,24,.76);
}
.ds-mr-portal {
  position:relative;
  max-width:1000px;
  margin:5rem auto 0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:2rem;
  align-items:center;
  padding:2.6rem 2.6rem;
  border:1px solid rgba(218,169,91,.32);
  background:linear-gradient(110deg,rgba(34,18,37,.88),rgba(16,17,35,.84));
  box-shadow:var(--ds-shadow);
  overflow:hidden;
  isolation:isolate;
}
.ds-mr-portal::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(10,8,16,.82) 0%, rgba(10,8,16,.34) 42%, rgba(10,8,16,.58) 100%),
    url('/assets/dreamscape/img/receive-rite-banner.webp?v=20260818-9') center/cover no-repeat;
  opacity:.52;
  z-index:-2;
}
.ds-mr-portal::after {
  content:"";
  position:absolute;
  inset:14px;
  border:1px solid rgba(218,169,91,.16);
  pointer-events:none;
  z-index:-1;
}
.ds-mr-portal-atmosphere {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18% 52%,rgba(186,133,221,.16),transparent 18%), radial-gradient(circle at 80% 50%,rgba(227,178,89,.10),transparent 16%);
  z-index:-1;
}
.ds-mr-portal h3 { margin:0 0 .5rem; color:#e3bd7b; font-family:var(--ds-display); font-weight:400; font-size:clamp(2rem,4vw,4rem); max-width:8ch; line-height:.96; }
.ds-mr-portal p { margin:.2rem 0; color:#d5c2b1; max-width:700px; }
.ds-mr-portal-copy { position:relative; z-index:1; }
.ds-mr-portal-note { color:#c7a9cb !important; font-style:italic; margin-top:1.15rem !important; }
.ds-mr-portal-action { position:relative; z-index:1; }
.ds-mr-mark { position:relative; width:110px; aspect-ratio:1; border:1px solid rgba(221,172,93,.32); border-radius:50%; box-shadow:inset 0 0 34px rgba(113,75,147,.18),0 0 45px rgba(78,56,128,.12); }
.ds-mr-mark span,.ds-mr-mark i,.ds-mr-mark b { position:absolute; inset:15%; border:1px solid rgba(221,172,93,.26); border-radius:50%; }
.ds-mr-mark i { inset:30%; transform:rotate(45deg); border-radius:0; }
.ds-mr-mark b { inset:43%; background:#d6a65d; box-shadow:0 0 28px #ba7cdf; }


.ds-coming { position:relative; min-height:460px; display:grid; place-items:center; text-align:center; padding:7rem 5vw; overflow:hidden; background:linear-gradient(180deg,#0b0e17,#100c14); border-top:1px solid var(--ds-line); }
.ds-coming-copy { max-width:800px; position:relative; z-index:1; }
.ds-coming-copy p { max-width:680px; margin:0 auto 1.8rem; }
.ds-coming-orb { position:absolute; left:50%; top:50%; width:min(620px,82vw); aspect-ratio:1; transform:translate(-50%,-48%); border-radius:50%; background:radial-gradient(circle,rgba(166,143,205,.12),rgba(83,66,132,.04) 34%,transparent 68%); border:1px solid rgba(218,169,91,.08); }
.ds-coming-orb::after { content:""; position:absolute; inset:18%; border-radius:50%; border:1px solid rgba(218,169,91,.09); }

.ds-footer { display:grid; grid-template-columns:1.1fr 1fr auto; gap:2rem; align-items:end; padding:2.4rem 5vw; border-top:1px solid rgba(218,169,91,.18); background:#0a090d; color:#b7a897; }
.ds-footer-brand,.ds-footer-alliance { display:flex; flex-direction:column; gap:.25rem; }
.ds-footer-brand b { color:#ddb678; font-family:var(--ds-display); font-size:1.2rem; font-weight:400; letter-spacing:.1em; text-transform:uppercase; }
.ds-footer-brand span,.ds-footer-alliance span { font-size:.78rem; }
.ds-footer-links { display:flex; flex-wrap:wrap; gap:1rem; justify-content:flex-end; }
.ds-footer-links a { color:#c8b69f; text-decoration:none; font-size:.75rem; }
.ds-footer-links a:hover { color:#e5c58e; }

.ds-rite-dialog { width:min(1040px,94vw); max-height:92vh; padding:0; border:1px solid rgba(218,169,91,.4); color:var(--ds-ink); background:#100c14; box-shadow:0 38px 120px rgba(0,0,0,.72); }
.ds-rite-dialog::backdrop { background:rgba(5,4,7,.86); backdrop-filter:blur(12px); }
.ds-rite-shell { position:relative; min-height:620px; overflow:auto; background:radial-gradient(circle at 50% 18%,rgba(93,62,143,.22),transparent 24rem),linear-gradient(150deg,#1b0f18,#0d1020 58%,#0b0b12); }
.ds-rite-close { position:absolute; z-index:5; top:1rem; right:1rem; width:42px; height:42px; border:1px solid rgba(218,169,91,.28); border-radius:50%; color:#dec59e; background:rgba(0,0,0,.22); font-size:1.45rem; cursor:pointer; }
.ds-rite-threshold,.ds-rite-loading,.ds-rite-error { min-height:620px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:5rem 8vw; }
.ds-rite-threshold h2,.ds-rite-error h2 { max-width:740px; margin:.5rem 0 1rem; color:#e2bb78; font-size:clamp(2.2rem,5vw,4.4rem); }
.ds-rite-threshold > p:not(.ds-kicker),.ds-rite-error p { max-width:650px; color:#cdbdab; }
.ds-rite-threshold small { display:block; margin-top:1.5rem; color:#92877c; font-size:.72rem; }
.ds-rite-sigil { position:relative; width:170px; aspect-ratio:1; margin-bottom:2rem; border-radius:50%; border:1px solid rgba(218,169,91,.3); box-shadow:0 0 80px rgba(93,62,143,.2),inset 0 0 60px rgba(93,62,143,.14); animation:ds-breathe 5s ease-in-out infinite; }
.ds-rite-sigil span,.ds-rite-sigil i,.ds-rite-sigil b { position:absolute; inset:13%; border:1px solid rgba(218,169,91,.24); border-radius:50%; }
.ds-rite-sigil i { inset:29%; border-radius:0; transform:rotate(45deg); }
.ds-rite-sigil b { inset:44%; background:#deb269; box-shadow:0 0 34px #a77ac7; }
.ds-rite-sigil-dim { opacity:.55; }
@keyframes ds-breathe { 0%,100%{transform:scale(.98);opacity:.82} 50%{transform:scale(1.03);opacity:1} }
.ds-rite-loading p { color:#d9c4aa; font-style:italic; }
.ds-rite-loader { width:96px; aspect-ratio:1; border-radius:50%; border:1px solid rgba(218,169,91,.18); border-top-color:#ddb06b; animation:ds-spin 2.4s linear infinite; box-shadow:0 0 48px rgba(93,62,143,.18); }
@keyframes ds-spin { to { transform:rotate(360deg); } }
.ds-rite-result { display:grid; grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr); min-height:650px; }
.ds-rite-media { min-height:650px; background:linear-gradient(160deg,#1c1420,#11162b); overflow:hidden; }
.ds-rite-media img,.ds-rite-media video { width:100%; height:100%; min-height:650px; object-fit:cover; }
.ds-rite-copy { align-self:center; padding:4.5rem; }
.ds-rite-copy h2 { margin:0 0 1.25rem; color:#e1bb79; font-size:clamp(2.6rem,5vw,4.6rem); }
.ds-rite-seed { color:#efe1cd; font-size:1.3rem; font-style:italic; line-height:1.55; }
.ds-rite-deeper { margin-top:2rem; padding-top:1.5rem; border-top:1px solid rgba(218,169,91,.18); color:#c9b8a6; }
.ds-rite-reflection { color:#e0c99f; }
.ds-rite-actions { display:flex; flex-wrap:wrap; gap:1rem; align-items:center; margin-top:2rem; }

.ds-reveal { opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease; }
.ds-reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 1040px) {
  .ds-header { grid-template-columns:1fr auto auto; }
  .ds-brand { justify-self:end; }
  .ds-menu-toggle { display:inline-flex; justify-self:end; border:1px solid rgba(218,169,91,.3); color:#dbc197; background:transparent; padding:.5rem .65rem; font-family:var(--ds-display); text-transform:uppercase; letter-spacing:.12em; font-size:.58rem; }
  .ds-nav { position:absolute; top:68px; right:0; width:min(360px,90vw); display:none; flex-direction:column; align-items:stretch; gap:0; background:rgba(12,8,10,.98); border:1px solid rgba(218,169,91,.24); border-top:0; }
  .ds-nav.is-open { display:flex; }
  .ds-nav a { padding:1rem 1.25rem; border-top:1px solid rgba(218,169,91,.1); }
  .ds-nav a::after { display:none; }
  .ds-world { grid-template-columns:1fr; }
  .ds-world-compass { width:min(300px,70vw); }
  .ds-craft { grid-template-columns:1fr; }
  .ds-ritual-hotspots { grid-template-columns:repeat(5,1fr); }
  .ds-ritual-hotspot-chip { font-size:.56rem; }
  .ds-mr-portal { grid-template-columns:100px 1fr; }
  .ds-mr-portal .ds-button { grid-column:2; justify-self:start; }
}

@media (max-width: 820px) {
  .ds-body { font-size:18px; }
  .ds-header { min-height:60px; padding:0 1rem; }
  .ds-house span:last-child { display:none; }
  .ds-brand { font-size:.82rem; }
  .ds-nav { top:60px; }
  .ds-hero { min-height:840px; align-items:flex-end; }
  .ds-hero-image { object-position:56% 50%; }
  .ds-hero-wash { background:linear-gradient(180deg,rgba(10,5,6,.16),rgba(10,5,6,.24) 45%,rgba(9,6,8,.92) 78%); }
  .ds-hero-copy { width:auto; margin:0 1rem 5.2rem; padding:1.5rem; }
  .ds-hero-note { left:1rem; right:auto; bottom:1.2rem; }
  .ds-world { padding:5.5rem 1.4rem; }
  .ds-product { grid-template-columns:1fr; }
  .ds-product-media { min-height:500px; }
  .ds-product-copy { padding:4.5rem 1.5rem; }
  .ds-product-eve .ds-product-copy { order:2; }
  .ds-product-eve .ds-product-media { order:1; }
  .ds-moon-orb { width:120px; right:1rem; top:3rem; }
  .ds-provenance { grid-template-columns:1fr; padding:5rem 1.5rem; }
  .ds-provenance-image,.ds-provenance-image img { min-height:390px; }
  .ds-craft { padding:5rem 1.5rem; }
  .ds-craft-facts { grid-template-columns:1fr; }
  .ds-craft-facts article { min-height:120px; border-right:0; border-bottom:1px solid rgba(218,169,91,.16); }
  .ds-craft-facts article:last-child { border-bottom:0; }
  .ds-rituals { padding:5rem 1rem 6rem; }
  .ds-ritual-strip-stage { border-width:1px; }
  .ds-ritual-hotspots { grid-template-columns:repeat(5,1fr); }
  .ds-ritual-hotspot { padding:.4rem .15rem .5rem; }
  .ds-ritual-hotspot::before { inset:5% 4%; }
  .ds-ritual-hotspot-chip { font-size:.46rem; padding:.35rem .42rem; letter-spacing:.08em; }
  .ds-mr-portal { grid-template-columns:1fr; padding:2rem 1.25rem; gap:1.25rem; }
  .ds-mr-portal h3 { max-width:none; }
  .ds-mr-portal { grid-template-columns:1fr; text-align:center; justify-items:center; }
  .ds-mr-portal .ds-button { grid-column:1; justify-self:center; }
  .ds-mr-mark { width:90px; }
  .ds-footer { grid-template-columns:1fr; align-items:start; }
  .ds-footer-links { justify-content:flex-start; }
  .ds-rite-dialog { width:96vw; }
  .ds-rite-result { grid-template-columns:1fr; }
  .ds-rite-media,.ds-rite-media img,.ds-rite-media video { min-height:440px; max-height:56vh; }
  .ds-rite-copy { padding:2.2rem 1.4rem 3rem; }
}

@media (max-width: 520px) {
  .ds-hero h1 { font-size:clamp(3rem,15vw,4.5rem); }
  .ds-hero-category { letter-spacing:.12em; }
  .ds-hero-actions { flex-direction:column; align-items:stretch; }
  .ds-button { text-align:center; }
  .ds-hero-note { gap:.5rem; font-size:.48rem; }
  .ds-hero-note span + span::before { margin-right:.5rem; }
  .ds-product-media { min-height:390px; }
  .ds-product h2 { font-size:clamp(3rem,16vw,5.4rem); }
  .ds-product-meta { flex-direction:column; align-items:flex-start; }
  .ds-rite-threshold,.ds-rite-loading,.ds-rite-error { min-height:570px; padding:4rem 1.2rem; }
  .ds-rite-sigil { width:130px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .ds-reveal { opacity:1; transform:none; }
}

/* =============================================================
   Dreamscape Beta 2 — alignment, signature emblem, craft panels,
   Magical Wisdom Phantasy portal, Full Moon emphasis
   ============================================================= */

.ds-world-v2 {
  grid-template-columns: minmax(0,1.08fr) minmax(360px,.92fr);
  gap: clamp(2.5rem,6vw,7rem);
  padding-top: 8.5rem;
  padding-bottom: 8.5rem;
}
.ds-world-v2 .ds-world-copy { align-self:center; }
.ds-world-v2 h2 {
  max-width: 780px;
  font-size: clamp(2.6rem,5vw,5.1rem);
  line-height: 1.12;
  text-wrap: balance;
}
.ds-state-key {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.7rem;
  margin-top:2.35rem;
  max-width:760px;
}
.ds-state-key span {
  min-height:76px;
  display:grid;
  grid-template-columns:auto 1fr;
  grid-template-rows:auto auto;
  column-gap:.65rem;
  align-content:center;
  padding:.75rem .9rem;
  border:1px solid rgba(218,169,91,.16);
  background:linear-gradient(160deg,rgba(31,15,14,.44),rgba(22,15,31,.34));
  color:#bfae9e;
  font-size:.78rem;
  line-height:1.25;
}
.ds-state-key b {
  color:#e1bd80;
  font-family:var(--ds-display);
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ds-state-light {
  width:10px;
  height:10px;
  margin-top:.18rem;
  border-radius:50%;
  grid-row:1 / 3;
  box-shadow:0 0 22px currentColor;
}
.ds-state-light-awaken { color:#b7cf87; background:currentColor; }
.ds-state-light-eve { color:#d77d50; background:currentColor; }
.ds-state-light-moon { color:#8994e6; background:currentColor; }

.ds-world-emblem {
  width:min(510px,46vw);
  margin:0;
  justify-self:center;
  position:relative;
  filter:drop-shadow(0 22px 60px rgba(0,0,0,.34));
}
.ds-world-emblem::before {
  content:"";
  position:absolute;
  inset:16%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(213,166,93,.11),rgba(87,65,130,.05) 46%,transparent 72%);
  filter:blur(24px);
  z-index:-1;
}
.ds-world-emblem img { width:100%; height:auto; }
.ds-world-emblem figcaption {
  margin-top:-.7rem;
  color:rgba(224,198,158,.56);
  text-align:center;
  font-family:var(--ds-display);
  font-size:.58rem;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.ds-craft-v2 {
  grid-template-columns:minmax(0,1.05fr) minmax(520px,.95fr);
  gap:clamp(3rem,6vw,7rem);
  padding-block:8rem;
}
.ds-craft-v2 .ds-craft-copy { max-width:720px; }
.ds-craft-v2 h2 {
  display:grid;
  gap:.1rem;
  margin:.35rem 0 1.6rem;
  max-width:780px;
  font-size:clamp(2.8rem,5.3vw,5.7rem);
  line-height:1.03;
  letter-spacing:.055em;
}
.ds-craft-v2 h2 span { display:block; }
.ds-craft-v2 h2 em {
  color:#d0a45e;
  font-size:.48em;
  font-style:normal;
  line-height:1;
  margin:.15rem 0 .15rem .08em;
}
.ds-craft-v2 strong { color:#ead0a1; font-weight:600; }
.ds-craft-facts-v2 {
  border-color:rgba(218,169,91,.32);
  background:linear-gradient(160deg,rgba(25,14,17,.56),rgba(14,13,26,.5));
  box-shadow:0 30px 80px rgba(0,0,0,.24);
}
.ds-craft-facts-v2 article {
  min-height:245px;
  justify-content:center;
  padding:1.6rem 1.45rem;
  text-align:left;
  position:relative;
}
.ds-craft-facts-v2 article::after {
  content:"";
  position:absolute;
  inset:.7rem;
  border:1px solid rgba(218,169,91,.09);
  pointer-events:none;
}
.ds-craft-facts-v2 .ds-fact-icon {
  margin:0 0 1.2rem;
  color:#d9ae68;
  font-size:1.05rem;
  line-height:1;
}
.ds-craft-facts-v2 b {
  font-size:clamp(1.45rem,2vw,2rem);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ds-craft-facts-v2 article > span:last-child {
  max-width:150px;
  line-height:1.4;
}

.ds-craft-process {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:clamp(3rem,6vw,7rem);
  align-items:center;
  padding:7.5rem max(6vw,calc((100vw - var(--ds-max))/2 + 6vw));
  background:
    radial-gradient(circle at 78% 44%,rgba(82,65,135,.15),transparent 30rem),
    radial-gradient(circle at 20% 54%,rgba(112,49,28,.16),transparent 28rem),
    linear-gradient(110deg,#160d0c,#12111b 58%,#0c1020);
  border-bottom:1px solid var(--ds-line);
}
.ds-craft-process h2,
.ds-fullmoon h2 {
  margin:.2rem 0 1.2rem;
  color:#e0b875;
  font-family:var(--ds-display);
  font-weight:400;
  letter-spacing:.065em;
  font-size:clamp(2.4rem,4.5vw,4.8rem);
  line-height:1.04;
}
.ds-craft-process p { color:#d3c1ae; }
.ds-craft-process-line {
  margin-top:1.7rem;
  color:#ebcc98 !important;
  font-style:italic;
  font-size:1.18rem;
}
.ds-process-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid rgba(218,169,91,.24);
  background:rgba(0,0,0,.16);
}
.ds-process-steps article {
  min-height:235px;
  padding:1.5rem;
  border-right:1px solid rgba(218,169,91,.16);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  position:relative;
  overflow:hidden;
}
.ds-process-steps article:last-child { border-right:0; }
.ds-process-steps article::before {
  content:"";
  position:absolute;
  width:150px;
  aspect-ratio:1;
  border:1px solid rgba(218,169,91,.09);
  border-radius:50%;
  top:-66px;
  right:-55px;
}
.ds-process-steps span {
  color:rgba(224,185,120,.5);
  font-family:var(--ds-display);
  font-size:1.65rem;
}
.ds-process-steps h3 {
  margin:.55rem 0 .35rem;
  color:#e0bd84;
  font-family:var(--ds-display);
  font-weight:400;
  letter-spacing:.08em;
}
.ds-process-steps p { margin:0; color:#bfae9f; font-size:.88rem; }

.ds-mr-portal-v2 {
  max-width:var(--ds-max);
  grid-template-columns:minmax(230px,.56fr) minmax(0,1fr) auto;
  gap:clamp(2rem,4vw,4.5rem);
  min-height:340px;
  padding:2.7rem clamp(2rem,4vw,4.2rem);
  position:relative;
  overflow:hidden;
  border:1px solid rgba(218,169,91,.46);
  background:
    radial-gradient(circle at 17% 50%,rgba(154,115,203,.20),transparent 21rem),
    radial-gradient(circle at 82% 30%,rgba(213,165,93,.10),transparent 20rem),
    linear-gradient(105deg,rgba(24,15,31,.95),rgba(13,17,37,.95));
  box-shadow:0 34px 110px rgba(0,0,0,.42), inset 0 0 90px rgba(70,49,109,.08);
}
.ds-mr-portal-v2::before,
.ds-mr-portal-v2::after {
  content:"";
  position:absolute;
  inset:10px;
  border:1px solid rgba(218,169,91,.10);
  pointer-events:none;
}
.ds-mr-portal-v2::after {
  inset:auto 12% 0;
  height:1px;
  background:linear-gradient(90deg,transparent,#d8aa63,transparent);
  border:0;
}
.ds-mr-portal-arch {
  min-height:260px;
  position:relative;
  display:grid;
  place-items:center;
  border:1px solid rgba(218,169,91,.26);
  border-radius:110px 110px 10px 10px;
  background:
    radial-gradient(circle at 50% 42%,rgba(226,184,111,.18),transparent 6rem),
    linear-gradient(180deg,rgba(72,47,104,.20),rgba(7,10,24,.2));
  box-shadow:inset 0 0 60px rgba(72,48,116,.16),0 0 60px rgba(73,50,113,.10);
}
.ds-mr-arch-line {
  position:absolute;
  inset:22px;
  border:1px solid rgba(218,169,91,.16);
  border-radius:95px 95px 8px 8px;
}
.ds-mr-star {
  color:#efca82;
  font-size:2.4rem;
  text-shadow:0 0 18px rgba(239,202,130,.8),0 0 55px rgba(135,85,186,.72);
  animation:ds-breathe 4.8s ease-in-out infinite;
}
.ds-mr-ripples {
  position:absolute;
  left:14%; right:14%; bottom:17%; height:54px;
  border-top:1px solid rgba(218,169,91,.22);
  border-radius:50%;
}
.ds-mr-ripples::before,.ds-mr-ripples::after {
  content:"";
  position:absolute;
  left:12%; right:12%; top:12px; height:38px;
  border-top:1px solid rgba(147,116,202,.22);
  border-radius:50%;
}
.ds-mr-ripples::after { left:24%; right:24%; top:25px; }
.ds-mr-portal-copy { max-width:650px; }
.ds-mr-portal-v2 h3 {
  margin:.25rem 0 .85rem;
  font-size:clamp(2.6rem,4.4vw,4.8rem);
  line-height:1;
  letter-spacing:.055em;
}
.ds-mr-portal-v2 .ds-mr-portal-copy > p:not(.ds-kicker) { max-width:640px; font-size:1.05rem; }
.ds-mr-portal-note {
  margin-top:1.15rem !important;
  color:#b89cc7 !important;
  font-style:italic;
}
.ds-rite-portal-button {
  min-width:205px;
  min-height:74px;
  padding-inline:1.5rem;
  box-shadow:0 0 0 1px rgba(228,186,111,.10),0 10px 34px rgba(0,0,0,.28),0 0 34px rgba(107,76,149,.12);
}
.ds-rite-portal-button span { margin-left:.55rem; color:#f1cf8f; }

.ds-fullmoon {
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);
  gap:6vw;
  align-items:center;
  padding:7.5rem max(6vw,calc((100vw - var(--ds-max))/2 + 6vw));
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 75% 38%,rgba(120,106,209,.20),transparent 28rem),
    radial-gradient(circle at 62% 72%,rgba(74,43,116,.18),transparent 26rem),
    linear-gradient(110deg,#0e1020,#17112c 54%,#271132);
  border-block:1px solid var(--ds-line);
}
.ds-fullmoon::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.18;
  background-image:radial-gradient(circle at 18% 20%,#fff 0 1px,transparent 1.3px),radial-gradient(circle at 80% 70%,#d7c6ff 0 1px,transparent 1.4px);
  background-size:63px 57px,91px 87px;
}
.ds-fullmoon-copy { position:relative; z-index:2; max-width:720px; }
.ds-fullmoon-copy p { color:#d5c5b9; }
.ds-fullmoon-notes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:.7rem;
  margin:2rem 0 2.2rem;
}
.ds-fullmoon-notes span {
  min-height:90px;
  padding:.85rem;
  border:1px solid rgba(218,169,91,.18);
  background:rgba(0,0,0,.13);
  color:#baa9a1;
  font-size:.78rem;
}
.ds-fullmoon-notes b {
  display:block;
  margin-bottom:.35rem;
  color:#e0bd84;
  font-family:var(--ds-display);
  font-size:.68rem;
  font-weight:400;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ds-fullmoon-art {
  min-height:470px;
  position:relative;
  z-index:1;
}
.ds-fullmoon-disc {
  position:absolute;
  width:min(430px,36vw);
  aspect-ratio:1;
  left:50%; top:48%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:
    radial-gradient(circle at 37% 34%,#fff8df 0 4%,#e7d8aa 18%,#b9a677 43%,#70687e 60%,#29203b 70%,rgba(0,0,0,0) 71%);
  opacity:.72;
  filter:drop-shadow(0 0 60px rgba(173,160,224,.22));
}
.ds-fullmoon-disc::after {
  content:"";
  position:absolute;
  inset:13%;
  border:1px solid rgba(255,240,208,.16);
  border-radius:50%;
}
.ds-lotus {
  position:absolute;
  bottom:10%;
  color:#a695ed;
  font-size:7rem;
  text-shadow:0 0 28px currentColor;
  transform:rotate(45deg);
  opacity:.5;
}
.ds-lotus-blue { left:14%; }
.ds-lotus-white { right:12%; color:#efe1c4; font-size:6rem; bottom:17%; }

.ds-coming { min-height:520px; }
.ds-coming h2 { text-wrap:balance; }

.ds-rite-shell {
  background:
    radial-gradient(circle at 28% 17%,rgba(126,83,179,.22),transparent 24rem),
    radial-gradient(circle at 77% 70%,rgba(213,164,89,.08),transparent 25rem),
    linear-gradient(150deg,#1b0f18,#0d1020 58%,#0b0b12);
}
.ds-rite-threshold { position:relative; overflow:hidden; }
.ds-rite-threshold::before {
  content:"MAGICAL WISDOM PHANTASY";
  position:absolute;
  bottom:2rem;
  color:rgba(225,190,132,.22);
  font-family:var(--ds-display);
  font-size:.65rem;
  letter-spacing:.28em;
}
.ds-rite-result { background:linear-gradient(120deg,rgba(29,16,28,.96),rgba(13,16,31,.98)); }
.ds-rite-copy { position:relative; }
.ds-rite-copy::before {
  content:"ONE RITE";
  display:block;
  margin-bottom:1rem;
  color:rgba(225,184,119,.42);
  font-family:var(--ds-display);
  letter-spacing:.2em;
  font-size:.58rem;
}

@media (max-width: 1100px) {
  .ds-world-v2 { grid-template-columns:1fr; }
  .ds-world-emblem { width:min(500px,80vw); }
  .ds-craft-v2 { grid-template-columns:1fr; }
  .ds-craft-v2 .ds-craft-copy { max-width:850px; }
  .ds-mr-portal-v2 { grid-template-columns:210px 1fr; }
  .ds-rite-portal-button { grid-column:2; justify-self:start; }
  .ds-fullmoon { grid-template-columns:1fr 420px; }
}

@media (max-width: 760px) {
  .ds-world-v2 { padding-block:5.5rem; }
  .ds-state-key { grid-template-columns:1fr; }
  .ds-world-emblem { width:min(430px,94vw); }
  .ds-craft-v2 { padding-block:5.2rem; }
  .ds-craft-v2 h2 { font-size:clamp(2.55rem,12vw,4.3rem); }
  .ds-craft-facts-v2 { grid-template-columns:1fr; }
  .ds-craft-facts-v2 article { min-height:140px; border-right:0; border-bottom:1px solid rgba(218,169,91,.16); }
  .ds-craft-facts-v2 article:last-child { border-bottom:0; }
  .ds-craft-process { grid-template-columns:1fr; padding:5.5rem 1.4rem; }
  .ds-process-steps { grid-template-columns:1fr; }
  .ds-process-steps article { min-height:145px; border-right:0; border-bottom:1px solid rgba(218,169,91,.16); }
  .ds-process-steps article:last-child { border-bottom:0; }
  .ds-mr-portal-v2 { grid-template-columns:1fr; padding:1.4rem; margin-top:3.4rem; }
  .ds-mr-portal-arch { min-height:210px; width:min(280px,100%); justify-self:center; }
  .ds-mr-portal-copy { text-align:center; }
  .ds-rite-portal-button { grid-column:1; justify-self:center; }
  .ds-fullmoon { grid-template-columns:1fr; padding:5.7rem 1.4rem; min-height:820px; }
  .ds-fullmoon-notes { grid-template-columns:1fr; }
  .ds-fullmoon-art { min-height:360px; order:-1; }
  .ds-fullmoon-disc { width:min(360px,82vw); }
  .ds-lotus { font-size:5.5rem; }
  .ds-lotus-white { font-size:4.7rem; }
}


/* =============================================================
   Dreamscape Beta 3 — Ritual Apparitions
   Five tactile micro-portals: playful, lush, quick, and optional.
   ============================================================= */

.ds-ritual-card {
  appearance:none;
  width:100%;
  color:inherit;
  text-align:left;
  font:inherit;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:border-color .35s ease, background .35s ease, box-shadow .35s ease, transform .35s ease;
}
.ds-ritual-card::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 52% 22%,rgba(233,190,111,.15),transparent 32%),
    linear-gradient(180deg,rgba(70,43,80,.12),rgba(28,17,38,.08));
  transition:opacity .35s ease;
}
.ds-ritual-card::after {
  content:"✦";
  position:absolute;
  right:1.05rem;
  bottom:.86rem;
  color:rgba(232,187,108,.24);
  font-size:1rem;
  text-shadow:0 0 16px rgba(224,174,91,.5);
  transition:color .35s ease, transform .35s ease, text-shadow .35s ease;
}
.ds-ritual-card > * { position:relative; z-index:1; }
.ds-ritual-card i {
  display:block;
  margin-top:1.45rem;
  color:rgba(222,188,137,.42);
  font-family:var(--ds-display);
  font-size:.52rem;
  font-style:normal;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(5px);
  transition:opacity .32s ease, transform .32s ease, color .32s ease;
}
.ds-ritual-card:hover,
.ds-ritual-card:focus-visible {
  z-index:2;
  outline:none;
  border-color:rgba(231,184,104,.54);
  background:linear-gradient(180deg,rgba(39,22,42,.92),rgba(10,12,23,.84));
  box-shadow:0 0 0 1px rgba(230,181,99,.20),0 0 58px rgba(122,75,156,.14),inset 0 0 40px rgba(223,174,92,.035);
  transform:translateY(-3px);
}
.ds-ritual-card:hover::before,
.ds-ritual-card:focus-visible::before { opacity:1; }
.ds-ritual-card:hover::after,
.ds-ritual-card:focus-visible::after {
  color:#e4b86f;
  transform:scale(1.18) rotate(12deg);
  text-shadow:0 0 24px rgba(224,174,91,.8),0 0 46px rgba(117,77,160,.6);
}
.ds-ritual-card:hover i,
.ds-ritual-card:focus-visible i { opacity:1; transform:none; color:#cdb083; }

.ds-genii-dialog {
  width:min(1040px,94vw);
  max-height:92vh;
  padding:0;
  border:1px solid rgba(224,178,97,.48);
  color:var(--ds-ink);
  background:#0c0d18;
  box-shadow:0 42px 140px rgba(0,0,0,.76),0 0 90px rgba(89,57,130,.15);
}
.ds-genii-dialog::backdrop {
  background:rgba(5,4,8,.84);
  backdrop-filter:blur(12px) saturate(.85);
}
.ds-genii-shell {
  min-height:580px;
  display:grid;
  grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 70% 32%,rgba(114,73,159,.16),transparent 26rem),
    radial-gradient(circle at 26% 72%,rgba(210,150,74,.08),transparent 24rem),
    linear-gradient(115deg,#15101d,#0b1020 58%,#0b0d18);
}
.ds-genii-shell::before {
  content:"";
  position:absolute;
  inset:11px;
  border:1px solid rgba(225,180,101,.12);
  pointer-events:none;
  z-index:4;
}
.ds-genii-close {
  position:absolute;
  z-index:8;
  top:1rem;
  right:1rem;
  width:42px;
  height:42px;
  border:1px solid rgba(218,169,91,.30);
  border-radius:50%;
  color:#dec59e;
  background:rgba(4,5,12,.54);
  font-size:1.45rem;
  cursor:pointer;
}
.ds-genii-portrait {
  min-height:580px;
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,#22152b,#0f1326);
}
.ds-genii-portrait::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,transparent 54%,rgba(12,15,29,.34) 78%,#0d1020 100%);
  pointer-events:none;
}
.ds-genii-portrait img {
  width:100%;
  height:100%;
  min-height:580px;
  object-fit:cover;
  object-position:50% 42%;
  filter:saturate(.94) contrast(1.03);
}
.ds-genii-moon {
  position:absolute;
  z-index:3;
  top:2.2rem;
  left:2.2rem;
  color:#f0c66e;
  font-size:2.3rem;
  text-shadow:0 0 22px rgba(239,192,101,.62),0 0 54px rgba(117,77,160,.72);
}
.ds-genii-copy {
  align-self:center;
  padding:clamp(3rem,6vw,5.7rem);
  position:relative;
  z-index:3;
}
.ds-genii-copy h2 {
  margin:.25rem 0 1.2rem;
  color:#e1b86f;
  font-family:var(--ds-display);
  font-size:clamp(2.55rem,5vw,4.8rem);
  font-weight:400;
  letter-spacing:.055em;
  line-height:1.02;
}
.ds-genii-copy blockquote {
  margin:0;
  max-width:650px;
  color:#f0d8b6;
  font-family:var(--ds-serif);
  font-size:clamp(1.45rem,2.8vw,2.35rem);
  font-style:italic;
  line-height:1.34;
}
.ds-genii-place {
  margin:1.65rem 0 0;
  color:#d2ab6c;
  font-family:var(--ds-display);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.ds-genii-note {
  margin:.75rem 0 0;
  color:#a99baa;
  font-size:.9rem;
  font-style:italic;
}
.ds-genii-actions {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.25rem;
  align-items:center;
  margin-top:2.35rem;
}
.ds-genii-actions .ds-button { min-height:52px; }

@media (max-width: 820px) {
  .ds-ritual-card i { opacity:.52; transform:none; }
  .ds-genii-dialog { width:96vw; }
  .ds-genii-shell { grid-template-columns:1fr; max-height:92vh; overflow:auto; }
  .ds-genii-portrait { min-height:340px; max-height:42vh; }
  .ds-genii-portrait img { min-height:340px; }
  .ds-genii-portrait::after { background:linear-gradient(180deg,transparent 52%,rgba(13,16,32,.4) 78%,#0d1020 100%); }
  .ds-genii-copy { padding:2.3rem 1.5rem 3rem; }
  .ds-genii-actions { justify-content:center; }
}

@media (max-width: 520px) {
  .ds-genii-portrait { min-height:285px; }
  .ds-genii-portrait img { min-height:285px; }
  .ds-genii-copy blockquote { font-size:1.35rem; }
  .ds-genii-actions { display:grid; grid-template-columns:1fr 1fr; }
  .ds-genii-actions .ds-button { grid-column:1 / -1; order:-1; text-align:center; }
}


/* =============================================================
   Dreamscape Beta 6 — precision Ritual hotspots + image-led MR portal
   ============================================================= */
.ds-ritual-hotspots {
  position:absolute;
  inset:0;
  display:block;
  pointer-events:none;
}
.ds-ritual-hotspot {
  position:absolute;
  appearance:none;
  display:block;
  padding:0;
  margin:0;
  border:1px solid transparent;
  background:transparent;
  cursor:pointer;
  pointer-events:auto;
  transition:border-color .24s ease, box-shadow .24s ease, background .24s ease, transform .24s ease;
}
.ds-ritual-hotspot::before,
.ds-ritual-hotspot::after { content:none; }
.ds-ritual-hotspot span {
  position:absolute;
  right:8px;
  top:8px;
  opacity:0;
  color:#efc477;
  font-size:1rem;
  line-height:1;
  text-shadow:0 0 18px rgba(231,184,104,.95),0 0 38px rgba(117,77,160,.75);
  transform:scale(.82);
  transition:opacity .24s ease, transform .24s ease;
}
.ds-ritual-hotspot:hover,
.ds-ritual-hotspot:focus-visible {
  outline:none;
  border-color:rgba(237,191,111,.78);
  background:linear-gradient(180deg,rgba(237,191,111,.025),rgba(108,70,145,.075));
  box-shadow:0 0 0 1px rgba(237,191,111,.18),0 0 34px rgba(237,191,111,.16),0 0 58px rgba(112,76,155,.16),inset 0 0 30px rgba(237,191,111,.04);
  transform:translateY(-2px);
}
.ds-ritual-hotspot:hover span,
.ds-ritual-hotspot:focus-visible span { opacity:1; transform:scale(1); }
/* Exact image-map coordinates for the 1376×768 ritual strip. */
.ds-hotspot-make    { left:3.49%;  top:20.70%; width:17.15%; height:49.35%; }
.ds-hotspot-share   { left:22.02%; top:20.70%; width:17.45%; height:49.35%; }
.ds-hotspot-gather  { left:40.84%; top:20.70%; width:17.81%; height:49.35%; }
.ds-hotspot-move    { left:60.17%; top:20.70%; width:17.81%; height:49.35%; }
.ds-hotspot-commune { left:79.36%; top:20.70%; width:17.44%; height:49.35%; }

.ds-mr-image-portal {
  position:relative;
  max-width:var(--ds-max);
  margin:4.8rem auto 0;
  border:1px solid rgba(218,169,91,.30);
  background:#0a0b14;
  box-shadow:0 30px 80px rgba(0,0,0,.44),0 0 70px rgba(82,58,130,.10);
  overflow:hidden;
}
.ds-mr-image-portal > img {
  display:block;
  width:100%;
  height:auto;
}
.ds-mr-image-button {
  position:absolute;
  left:73.0%;
  top:44.2%;
  width:22.6%;
  height:18.5%;
  appearance:none;
  padding:0;
  border:1px solid transparent;
  border-radius:12px;
  background:transparent;
  color:transparent;
  cursor:pointer;
  transition:border-color .25s ease, box-shadow .25s ease, background .25s ease, transform .25s ease;
}
.ds-mr-image-button span {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.ds-mr-image-button:hover,
.ds-mr-image-button:focus-visible {
  outline:none;
  border-color:rgba(240,197,116,.58);
  background:rgba(236,188,104,.035);
  box-shadow:0 0 0 1px rgba(240,197,116,.16),0 0 30px rgba(236,188,104,.22),0 0 58px rgba(133,88,173,.18),inset 0 0 26px rgba(236,188,104,.04);
  transform:scale(1.012);
}

@media (max-width: 820px) {
  .ds-ritual-hotspot span { right:4px; top:4px; font-size:.78rem; }
  .ds-mr-image-portal { margin-top:3.4rem; }
  .ds-mr-image-button { border-radius:8px; }
}


/* =============================================================
   Dreamscape Beta 7 — compression + direct Single-Rite threshold
   ============================================================= */

/* The product worlds and alliance now carry the production story, so the
   redundant process and secondary Full Moon feature panels are removed
   from the document. Tighten the remaining sequence to keep the site moving. */
.ds-world-v2 { padding-top:5.25rem; padding-bottom:5.25rem; }
.ds-product { min-height:620px; }
.ds-product-media { min-height:550px; }
.ds-product-copy { padding:clamp(3.1rem,5vw,5.6rem); }
.ds-provenance { padding-top:5.5rem; padding-bottom:5.5rem; }
.ds-craft-v2 { padding-block:5.4rem; }
.ds-craft-law {
  margin-top:1.35rem !important;
  color:#e7c890 !important;
  font-style:italic;
  font-size:1.08rem;
}
.ds-rituals { padding-top:4.4rem; padding-bottom:5.1rem; }
.ds-rituals::before { top:4.4rem; }
.ds-rituals-heading { margin-bottom:2.25rem; }
.ds-mr-image-portal { margin-top:3rem; scroll-margin-top:88px; }
.ds-coming { min-height:360px; padding-top:4.5rem; padding-bottom:4.5rem; }

/* Exact hotspot over the painted RECEIVE A RITE control in the 1916x821 artwork. */
.ds-mr-image-button {
  left:73.54%;
  top:46.65%;
  width:20.88%;
  height:16.20%;
  border-radius:10px;
}

/* The artwork itself is the threshold. Clicking its painted button now goes
   straight to the live Rite request, so the old oversized pre-reading panel
   is no longer part of the normal visitor journey. */
.ds-rite-dialog { width:min(900px,92vw); max-height:88vh; }
.ds-rite-shell { min-height:0; max-height:88vh; }
.ds-rite-loading,
.ds-rite-error { min-height:430px; padding:3.4rem 5vw; }
.ds-rite-result { grid-template-columns:minmax(285px,.82fr) minmax(0,1.18fr); min-height:530px; }
.ds-rite-media,
.ds-rite-media img,
.ds-rite-media video { min-height:530px; }
.ds-rite-copy { padding:3rem; }
.ds-rite-copy h2 { font-size:clamp(2.2rem,4.3vw,3.7rem); }
.ds-rite-seed { font-size:1.16rem; }

@media (max-width:820px) {
  .ds-world-v2 { padding-top:4rem; padding-bottom:4rem; }
  .ds-product { min-height:auto; }
  .ds-product-media { min-height:440px; }
  .ds-product-copy { padding:3.4rem 1.5rem; }
  .ds-provenance { padding-top:4rem; padding-bottom:4rem; }
  .ds-craft-v2 { padding-block:4rem; }
  .ds-rituals { padding-top:3.5rem; padding-bottom:4rem; }
  .ds-rituals::before { top:3.5rem; }
  .ds-mr-image-portal { margin-top:2.3rem; }
  .ds-coming { min-height:320px; padding-top:3.7rem; padding-bottom:3.7rem; }
  .ds-rite-dialog { width:94vw; }
  .ds-rite-result { grid-template-columns:1fr; min-height:0; }
  .ds-rite-media,
  .ds-rite-media img,
  .ds-rite-media video { min-height:390px; max-height:50vh; }
  .ds-rite-copy { padding:2.1rem 1.35rem 2.6rem; }
}


/* =============================================================
   Dreamscape Beta 8 — new cropped image assets + compact rhythm
   ============================================================= */

/* New Rituals strip is 1376x623: crop removed the former dead top field.
   Horizontal card positions are unchanged; vertical map is recalibrated. */
.ds-hotspot-make    { left:3.49%;  top:7.20%; width:17.15%; height:59.50%; }
.ds-hotspot-share   { left:22.02%; top:7.20%; width:17.45%; height:59.50%; }
.ds-hotspot-gather  { left:40.84%; top:7.20%; width:17.81%; height:59.50%; }
.ds-hotspot-move    { left:60.17%; top:7.20%; width:17.81%; height:59.50%; }
.ds-hotspot-commune { left:79.36%; top:7.20%; width:17.44%; height:59.50%; }

/* The new provenance crop is deliberately compact; do not enlarge it into a tall panel. */
.ds-provenance {
  grid-template-columns:minmax(0,1.15fr) minmax(320px,.72fr);
  gap:4.5vw;
  padding-top:4.5rem;
  padding-bottom:4.5rem;
}
.ds-provenance-image,
.ds-provenance-image img { min-height:330px; }

/* Global editorial compression: less exhibition-wall air, more continuous scroll. */
.ds-world-v2 { padding-top:4.5rem; padding-bottom:4.5rem; }
.ds-product { min-height:590px; }
.ds-product-media { min-height:520px; }
.ds-product-copy { padding:clamp(2.8rem,4.6vw,5rem); }
.ds-craft-v2 { padding-block:4.6rem; }
.ds-rituals { padding-top:3.5rem; padding-bottom:4.25rem; }
.ds-rituals::before { top:3.5rem; }
.ds-rituals-heading { margin-bottom:1.8rem; }
.ds-mr-image-portal { margin-top:2.25rem; }
.ds-coming { min-height:320px; padding-top:3.8rem; padding-bottom:3.8rem; }

@media (max-width:820px) {
  .ds-world-v2 { padding-top:3.35rem; padding-bottom:3.35rem; }
  .ds-product-media { min-height:400px; }
  .ds-product-copy { padding:3rem 1.4rem; }
  .ds-provenance { grid-template-columns:1fr; gap:2rem; padding-top:3.2rem; padding-bottom:3.2rem; }
  .ds-provenance-image,
  .ds-provenance-image img { min-height:280px; }
  .ds-craft-v2 { padding-block:3.35rem; }
  .ds-rituals { padding-top:2.9rem; padding-bottom:3.4rem; }
  .ds-rituals::before { top:2.9rem; }
  .ds-mr-image-portal { margin-top:1.8rem; }
  .ds-coming { min-height:290px; padding-top:3.1rem; padding-bottom:3.1rem; }
}


/* =============================================================
   Dreamscape Beta 9 — photographic hero reset + asset cache bust
   ============================================================= */
@media (min-width: 821px) {
  .ds-hero {
    min-height:min(880px,100svh);
    align-items:flex-end;
  }
  .ds-hero-image {
    object-position:50% 50%;
    filter:saturate(.96) contrast(1.02) brightness(.92);
    transform:scale(1.005);
  }
  .ds-hero-wash {
    background:
      linear-gradient(90deg,rgba(8,5,5,.58) 0%,rgba(11,6,6,.38) 26%,rgba(10,6,8,.10) 47%,rgba(8,6,10,.04) 72%,rgba(7,5,7,.12) 100%),
      linear-gradient(180deg,rgba(8,5,7,.05) 0%,rgba(8,5,7,.02) 54%,rgba(8,6,8,.50) 100%);
  }
  .ds-hero-copy {
    width:min(560px,42vw);
    margin:0 0 7vh clamp(2rem,6.5vw,7rem);
    padding:1.85rem 2rem 1.95rem;
    background:linear-gradient(110deg,rgba(15,8,7,.64),rgba(18,10,16,.28));
    border-left:1px solid rgba(225,177,97,.52);
    box-shadow:0 18px 58px rgba(0,0,0,.32);
    backdrop-filter:blur(2px);
  }
  .ds-hero h1 {
    font-size:clamp(4rem,6vw,6.45rem);
    letter-spacing:.055em;
    line-height:.96;
  }
  .ds-hero-category { font-size:clamp(.72rem,.95vw,.92rem); }
  .ds-hero-line { max-width:520px; font-size:clamp(1.05rem,1.55vw,1.42rem); }
  .ds-hero-note { right:3.4vw; bottom:1.2rem; }
  .ds-orbit { display:none !important; }
}

@media (min-width:821px) and (max-width:1120px) {
  .ds-hero-copy { width:min(540px,52vw); margin-left:4vw; }
  .ds-hero h1 { font-size:clamp(3.7rem,7.5vw,5.5rem); }
}


/* =============================================================
   Dreamscape Beta 10 — hero veil refinement + cacao craft panel
   ============================================================= */
@media (min-width:821px) {
  /* Keep the copy on the sunset side and let AWAKEN remain fully visible. */
  .ds-hero-copy {
    width:min(560px,39vw);
    margin-left:clamp(2rem,5vw,5rem);
    margin-bottom:6.2vh;
    padding:1.75rem 1.85rem 1.9rem;
    background:linear-gradient(90deg,
      rgba(15,8,7,.72) 0%,
      rgba(17,9,9,.58) 56%,
      rgba(18,10,15,.18) 88%,
      rgba(18,10,15,.04) 100%);
    border-left:1px solid rgba(225,177,97,.5);
    box-shadow:0 18px 48px rgba(0,0,0,.24);
    backdrop-filter:blur(1px);
  }
  .ds-hero h1 {
    font-size:clamp(3.8rem,4.9vw,5.25rem);
    letter-spacing:.045em;
  }
  .ds-hero-line { max-width:500px; }

  /* Right side is now a deliberate two-tier composition: facts above, craft below. */
  .ds-craft-v2 {
    grid-template-columns:minmax(0,1fr) minmax(500px,.98fr);
    gap:clamp(2.6rem,5vw,5.7rem);
    align-items:center;
  }
  .ds-craft-right {
    display:grid;
    grid-template-rows:auto minmax(220px,1fr);
    gap:1.05rem;
    min-width:0;
  }
  .ds-craft-facts-v2 article {
    min-height:155px;
    padding:1.25rem 1.25rem;
  }
  .ds-craft-facts-v2 .ds-fact-icon { margin-bottom:.8rem; }
  .ds-craft-facts-v2 article > span:last-child { max-width:170px; }
  .ds-craft-image {
    margin:0;
    position:relative;
    min-height:250px;
    overflow:hidden;
    border:1px solid rgba(218,169,91,.28);
    background:#0d0b10;
    box-shadow:0 22px 60px rgba(0,0,0,.26);
  }
  .ds-craft-image img {
    display:block;
    width:100%;
    height:100%;
    min-height:250px;
    object-fit:cover;
    object-position:50% 52%;
  }
  .ds-craft-image::after {
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    box-shadow:inset 0 0 54px rgba(11,7,9,.35);
    background:linear-gradient(180deg,rgba(20,9,7,.02),rgba(13,9,14,.14));
  }
}

@media (min-width:821px) and (max-width:1120px) {
  .ds-hero-copy { width:min(520px,43vw); margin-left:3vw; }
  .ds-hero h1 { font-size:clamp(3.5rem,5.8vw,4.6rem); }
  .ds-craft-v2 { grid-template-columns:1fr; }
  .ds-craft-right { grid-template-rows:auto minmax(240px,1fr); }
}

@media (max-width:820px) {
  .ds-craft-right { display:grid; gap:1rem; }
  .ds-craft-image {
    margin:0;
    min-height:240px;
    overflow:hidden;
    border:1px solid rgba(218,169,91,.28);
  }
  .ds-craft-image img {
    display:block;
    width:100%;
    height:100%;
    min-height:240px;
    object-fit:cover;
  }
}
