:root{
  --color-water-deep:#0d1525;--color-water-mid:#1a3a6e;--color-water-surface:#2d5f9a;
  --color-horizon:#e85a0a;--color-cloud-warm:#c0350a;--color-cloud-mid:#7a1a3a;
  --color-sky-upper:#1a2878;--color-sky-blue:#2547b0;--color-star:#fff8e0;
  --color-writing:#ffffff;--color-silhouette:#0a0a18;--color-surface-dark:#111a2b;
  --color-surface-mid:#18243a;--color-surface-light:#f7f2e8;--color-text-primary:#fff8e0;
  --color-text-muted:#c7c9d8;--color-text-dark:#172033;--color-border-dark:rgba(255,248,224,.20);
  --color-border-light:#d8d1c4;--color-input-bg:rgba(13,21,37,.72);--color-focus:#fff0a8;
  --color-success:#8fbf9f;--color-warning:#f2a65a;--color-error:#e57b78;
  --color-overlay:rgba(10,14,28,.55);--color-overlay-strong:rgba(10,14,28,.70);
  --ease:cubic-bezier(.22,1,.36,1)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--color-water-deep)}
body{font-family:Manrope,system-ui,sans-serif;color:var(--color-text-primary);overflow:hidden}
button,textarea{font:inherit}button{cursor:pointer}.experience{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--color-water-deep)}
.scene,.art,.top-star-mask,.scene-overlay,#fx,.moving-light,.horizon-glow,.water-sheen,.water-ripples,.star-field,.ink-edge,.geo-marks{position:absolute;inset:0;pointer-events:none}
.scene{z-index:-1;overflow:hidden;background:var(--color-water-deep)}
.art{background-repeat:no-repeat;will-change:transform,opacity,filter;transition:opacity 1.2s var(--ease),transform 1.8s var(--ease),filter 1.5s var(--ease)}
.art-main{inset:-5%;background-image:url("images/artwork-wide.jpeg");background-size:cover;background-position:center 46%;transform:scale(1.06);animation:cameraDrift 18s ease-in-out infinite alternate;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d}
.release-wide-art{
  z-index:2;
  inset:0;
  background-image:url("images/release-wide-original.jpeg");
  background-size:cover;
  background-position:center center;
  opacity:0;
  visibility:hidden;
  transform:none;
  filter:none;
  will-change:opacity;
  transition:none;
}


.art-sky-detail{inset:-12%;background-image:url("images/artwork-square.jpeg");background-size:cover;background-position:center 15%;opacity:.18;mix-blend-mode:screen;mask-image:linear-gradient(180deg,#000 0 42%,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000 0 42%,transparent 70%);transform:translate3d(1%,-3%,0) scale(1.13);animation:skyFloat 15s ease-in-out infinite alternate}
.art-writing-wash{inset:-18%;background-image:url("images/wall-close-water-wide.png");background-size:cover;background-position:center;opacity:.09;mix-blend-mode:screen;filter:blur(10px) saturate(.76) contrast(.92);transform:scale(1.075);mask-image:radial-gradient(ellipse 96% 86% at 52% 50%,#000 0 74%,rgba(0,0,0,.76) 88%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 96% 86% at 52% 50%,#000 0 74%,rgba(0,0,0,.76) 88%,transparent 100%);animation:writingWashFloat 20s ease-in-out infinite alternate}
.art-writing-detail{inset:-16%;background-image:url("images/wall-close-water-wide.png");background-size:cover;background-position:center;opacity:.212;mix-blend-mode:screen;mask-image:radial-gradient(ellipse 96% 88% at 52% 50%,#000 0 72%,rgba(0,0,0,.88) 86%,rgba(0,0,0,.36) 94%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 96% 88% at 52% 50%,#000 0 72%,rgba(0,0,0,.88) 86%,rgba(0,0,0,.36) 94%,transparent 100%);filter:saturate(.68) contrast(1.02) blur(.35px);transform:scale(1.03) rotate(-.12deg);animation:writingHover 16s ease-in-out infinite alternate}
.art-water-detail{inset:-10%;background-image:url("images/wall-close-water.jpg");background-size:76% auto;background-position:-20% 84%;opacity:.2;mix-blend-mode:soft-light;mask-image:linear-gradient(180deg,transparent 40%,#000 68% 100%);-webkit-mask-image:linear-gradient(180deg,transparent 40%,#000 68% 100%);transform:scale(1.15);animation:waterTexture 11s ease-in-out infinite alternate}
.top-star-mask{z-index:3;inset:auto;left:50%;top:6.2%;width:min(24vw,250px);height:min(16vw,165px);transform:translate(-50%,-8%);opacity:var(--top-star-mask-opacity,.96);background:radial-gradient(circle at 50% 54%,rgba(104,137,220,.84) 0 7%,rgba(95,127,212,.76) 14%,rgba(88,118,203,.54) 23%,rgba(109,124,196,.18) 36%,transparent 58%),radial-gradient(ellipse at 50% 62%,rgba(166,158,210,.16),transparent 56%);filter:blur(8px) saturate(1.02);transition:opacity .8s linear}

/* Rev 104 — remove the desktop upper-sky artifact near the animated star.
   The desktop-only top-star mask creates a visible dark circular patch beside
   the star. Hide it on desktop while preserving mobile behavior. */
@media (min-width:701px){
  .top-star-mask{display:none!important;opacity:0!important;visibility:hidden!important}
}

.ink-edge{opacity:.18;mix-blend-mode:screen;filter:blur(.3px)}.ink-edge-a{background:linear-gradient(118deg,transparent 52%,rgba(255,255,255,.08) 52.3%,transparent 53%),radial-gradient(ellipse at 87% 48%,transparent 0 39%,rgba(255,255,255,.14) 39.4%,transparent 40%);animation:edgePulse 8s ease-in-out infinite alternate}.ink-edge-b{background:radial-gradient(ellipse at 12% 78%,transparent 0 28%,rgba(45,95,154,.28) 28.5%,transparent 31%);animation:edgePulse 10s ease-in-out infinite alternate-reverse}
.scene-overlay{z-index:4;background:linear-gradient(90deg,rgba(10,14,28,.24) 0,rgba(10,14,28,.18) 47%,rgba(10,14,28,.14) 72%),linear-gradient(180deg,rgba(10,14,28,.18),rgba(10,14,28,.1) 45%,rgba(10,14,28,.64));transition:background 1.4s var(--ease)}
.moving-light{z-index:5;inset:-25%;background:radial-gradient(ellipse at 54% 45%,rgba(232,90,10,.18),transparent 28%),radial-gradient(ellipse at 74% 20%,rgba(255,248,224,.13),transparent 20%);filter:blur(22px);animation:lightTravel 13s ease-in-out infinite alternate}
.horizon-glow{z-index:6;top:39%;bottom:auto;height:25%;left:-15%;right:-15%;background:radial-gradient(ellipse at center,rgba(232,90,10,.42),rgba(192,53,10,.19) 27%,rgba(122,26,58,.11) 48%,transparent 72%);filter:blur(22px);animation:horizonBreath 6s ease-in-out infinite}
.water-sheen{z-index:7;top:54%;background:repeating-radial-gradient(ellipse at 50% 0,transparent 0 16px,rgba(255,248,224,.08) 17px 18px,transparent 19px 34px),linear-gradient(180deg,rgba(232,90,10,.08),transparent 30%);transform:perspective(500px) rotateX(62deg) scale(1.5,1);transform-origin:top;opacity:.24;animation:sheenMove 11s linear infinite}
.water-ripples{z-index:8;top:50%;overflow:visible}.ripple{position:absolute;border:1px solid rgba(255,248,224,.28);border-radius:50%;transform:translate(-50%,-50%) scale(.1);opacity:0;box-shadow:0 0 5px rgba(180,215,255,.05);mix-blend-mode:screen;animation:rippleOut 7.4s ease-out infinite}
.star-field{z-index:8;bottom:48%;overflow:hidden}.star{position:absolute;width:2px;height:2px;border-radius:50%;background:var(--color-star);box-shadow:0 0 7px var(--color-star);opacity:.35;animation:starBreathe var(--dur) ease-in-out var(--delay) infinite alternate}
#fx{width:100%;height:100%;z-index:9}
.geo-marks{z-index:10}
.geo{position:absolute;display:block;opacity:.14;mix-blend-mode:screen;filter:drop-shadow(0 0 8px rgba(255,248,224,.06));transform-origin:center center}
.geo::before,.geo::after{content:"";position:absolute;inset:0;border-radius:50%}
.geo::before{
  background:
    radial-gradient(circle at center, transparent 0 34%, rgba(255,248,224,.16) 34.4% 35.4%, transparent 35.8% 46%, rgba(255,248,224,.13) 46.4% 47.1%, transparent 47.5% 100%),
    repeating-conic-gradient(from 0deg, rgba(255,248,224,.18) 0deg 9deg, transparent 9deg 30deg);
  mask-image:radial-gradient(circle at center, transparent 0 39%, #000 39.5% 66%, transparent 66.5% 100%);
  -webkit-mask-image:radial-gradient(circle at center, transparent 0 39%, #000 39.5% 66%, transparent 66.5% 100%);
  animation:lotusSpin 26s linear infinite;
}
.geo::after{
  inset:11%;
  background:
    radial-gradient(circle at center, transparent 0 42%, rgba(45,95,154,.12) 42.2% 43%, transparent 43.3% 100%),
    repeating-conic-gradient(from 15deg, rgba(255,248,224,.13) 0deg 6deg, transparent 6deg 24deg);
  mask-image:radial-gradient(circle at center, transparent 0 26%, #000 26.5% 72%, transparent 72.5% 100%);
  -webkit-mask-image:radial-gradient(circle at center, transparent 0 26%, #000 26.5% 72%, transparent 72.5% 100%);
  animation:lotusSpinReverse 34s linear infinite;
}
.geo-tl{left:-1.2vw;top:1vh;width:15vw;height:15vw;min-width:150px;min-height:150px;max-width:240px;max-height:240px;clip-path:inset(0 0 46% 46%)}
.geo-tr{right:-1vw;top:10vh;width:10vw;height:10vw;min-width:104px;min-height:104px;max-width:170px;max-height:170px;clip-path:inset(0 44% 44% 0)}
.geo-bl{left:-1.2vw;bottom:12vh;width:11vw;height:11vw;min-width:114px;min-height:114px;max-width:180px;max-height:180px;clip-path:inset(44% 0 0 44%)}
.geo-br{right:-1.6vw;bottom:8vh;width:14vw;height:14vw;min-width:140px;min-height:140px;max-width:225px;max-height:225px;clip-path:inset(45% 45% 0 0)}
.panel{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:94px 24px 72px;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(28px) scale(.985);transition:opacity .8s var(--ease),transform 1s var(--ease),visibility 1s}.panel.active{opacity:1;visibility:visible;pointer-events:auto;transform:none}
.opening-copy-block{position:relative;z-index:2;width:min(1100px,100%);text-align:left;align-self:center;margin-left:clamp(150px,26vw,440px);display:flex;flex-direction:column;align-items:flex-start}.opening-headline{display:inline-block;max-width:none;white-space:nowrap;text-wrap:initial;margin-bottom:34px}.kicker{text-transform:uppercase;letter-spacing:.24em;font-size:10px;font-weight:600;color:var(--color-text-muted);margin:0 0 18px}h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;letter-spacing:-.035em;margin:0;text-wrap:balance}h1{font-size:clamp(38px,5.5vw,76px);line-height:.94;max-width:none;text-shadow:0 6px 38px rgba(0,0,0,.4)}h2{font-size:clamp(46px,6vw,82px);line-height:.94;max-width:760px}.opening-copy{max-width:530px;color:var(--color-text-muted);line-height:1.75;margin:22px 0 44px;font-size:16px;text-shadow:0 4px 22px rgba(0,0,0,.28)}.text-action{border:0;border-bottom:1px solid var(--color-horizon);background:transparent;color:var(--color-text-primary);padding:11px 2px 9px;font-weight:600;letter-spacing:.05em;position:relative;touch-action:manipulation}.begin{margin-top:0}.text-action::after{content:"";position:absolute;left:0;bottom:-1px;width:0;height:1px;background:var(--color-star);transition:width .6s var(--ease)}.text-action:hover::after,.text-action:focus-visible::after{width:100%}.preview-caption{position:absolute;right:5vw;bottom:8vh;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,248,224,.58);display:flex;align-items:center;gap:12px}.preview-caption span{width:38px;height:1px;background:var(--color-horizon)}

@media (min-width:701px){
  .opening-copy-block{
    margin-top:7vh;
    transform:none;
  }
}
.prompt{width:min(760px,100%);justify-self:start;margin-left:clamp(0px,8vw,130px);align-self:center}.prompt-right{justify-self:end;margin-left:0;margin-right:clamp(0px,8vw,130px);text-align:right}.prompt h2{margin-bottom:26px}textarea{width:min(680px,100%);display:block;resize:none;border:0;border-bottom:1px solid var(--color-border-dark);background:linear-gradient(180deg,transparent,var(--color-input-bg));color:var(--color-text-primary);padding:18px 6px 16px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(26px,3.5vw,44px);line-height:1.15;outline:none}textarea:focus{border-bottom-color:var(--color-focus);box-shadow:0 12px 30px -28px var(--color-focus)}.prompt-right textarea{margin-left:auto;text-align:right}.prompt-actions{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.quiet{border:0;background:transparent;color:var(--color-text-muted);padding:10px 0}.prompt-right .prompt-actions{flex-direction:row-reverse}.zone-label{position:absolute;margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-size:18px;color:rgba(255,248,224,.6)}.zone-water{left:6vw;bottom:12vh}.zone-sky{right:7vw;top:14vh}
.holding-copy{text-align:center;align-self:start;margin-top:10vh}.ritual-stage,.result-inscriptions{position:absolute;inset:0;pointer-events:none}.ritual,.final{position:absolute;left:50%;transform:translateX(-50%);font-family:"Cormorant Garamond",Georgia,serif;color:var(--color-writing);font-style:italic;text-align:center;width:min(88vw,860px);text-shadow:0 0 24px rgba(255,255,255,.26)}.ritual{font-size:clamp(32px,5vw,66px)}.ritual-go{top:44%;animation:goRitual 5.2s var(--ease) forwards}.ritual-in{top:57%;animation:inRitual 5.2s var(--ease) forwards}.release-trace,.rise-trace{position:absolute;left:50%;width:2px;height:19vh;border-radius:999px;opacity:0;overflow:visible;mix-blend-mode:screen;filter:blur(.35px) drop-shadow(0 0 8px rgba(255,243,196,.28)) drop-shadow(0 0 18px rgba(128,187,255,.18));transform-origin:center top}.release-trace::before,.rise-trace::before{content:"";position:absolute;inset:-14% -12px;border-radius:999px;background:linear-gradient(180deg,rgba(255,251,238,0) 0%,rgba(255,251,238,.24) 16%,rgba(255,236,180,.78) 42%,rgba(179,220,255,.56) 66%,rgba(255,251,238,.18) 84%,rgba(255,251,238,0) 100%);box-shadow:0 0 10px rgba(255,232,168,.18),0 0 26px rgba(136,195,255,.12)}.release-trace{top:53%;animation:traceDown138 8.8s 2.95s cubic-bezier(.22,.61,.36,1) forwards}.rise-trace{bottom:45%;animation:traceUp138 8.8s 2.95s cubic-bezier(.22,.61,.36,1) forwards}.trace-a{margin-left:-9.2vw;transform:rotate(-2.8deg)}.trace-b{margin-left:8.1vw;transform:rotate(2.6deg);animation-delay:3.28s}.trace-c{margin-left:-3.6vw;transform:rotate(-1.2deg)}.trace-d{margin-left:4.8vw;transform:rotate(1.5deg);animation-delay:3.45s}
.result-message{position:absolute;left:clamp(24px,6vw,100px);bottom:clamp(70px,8vh,110px);width:min(580px,calc(100% - 48px));text-align:left}.result-message h2{font-size:clamp(48px,6vw,78px)}.result-message>p:not(.kicker){font-size:17px;color:var(--color-text-muted);line-height:1.7}.email-note{font-size:13px!important}.restart{margin-top:4px;border-bottom:1px solid var(--color-border-dark)}.final{font-size:clamp(30px,4.8vw,62px);animation:finalSettle 2.2s var(--ease) both}.final-go{bottom:10%;left:70%;animation-delay:.35s}.final-in{top:10%;left:66%}.result-label{position:absolute;font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,248,224,.58)}.result-label-in{top:7%;left:66%}.result-label-go{bottom:7%;left:70%}
footer{position:absolute;bottom:max(12px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,248,224,.36);white-space:nowrap;z-index:30}
.phase-opening .art-writing-wash{opacity:.084}.phase-opening .art-writing-detail{opacity:.202}.phase-opening .art-main{filter:brightness(.90) saturate(1.05);animation:openingPanOut 70.2s var(--ease) 1 forwards;background-position:center 52%}
.phase-letgo .art-writing-wash{opacity:.084}.phase-letgo .art-writing-detail{opacity:.202}.phase-letgo .art-main{filter:brightness(.86) saturate(1.05);animation:openingPanOut 70.2s var(--ease) 1 forwards;background-position:center 52%}.phase-letgo .art-water-detail{opacity:.2}.phase-letgo .art-sky-detail{opacity:.18}.phase-letgo .scene-overlay{background:linear-gradient(90deg,rgba(10,14,28,.24) 0,rgba(10,14,28,.18) 47%,rgba(10,14,28,.14) 72%),linear-gradient(180deg,rgba(10,14,28,.18),rgba(10,14,28,.1) 45%,rgba(10,14,28,.64))}.phase-letgo .water-sheen{opacity:.24}
.phase-letin .art-writing-wash{opacity:.078}.phase-letin .art-main{transform:scale(1.16) translate3d(-2%,9%,0);filter:brightness(.64) saturate(1.15)}.phase-letin .art-sky-detail{opacity:.5;transform:scale(1.06) translate3d(-2%,2%,0)}.phase-letin .art-water-detail{opacity:0}.phase-letin .art-writing-detail{opacity:.198;background-position:center;transform:scale(1.035) rotate(.12deg)}.phase-letin .scene-overlay{background:linear-gradient(90deg,rgba(10,14,28,.5),rgba(26,40,120,.12) 55%,rgba(10,14,28,.42)),linear-gradient(180deg,rgba(10,14,28,.26),rgba(10,14,28,.12) 48%,rgba(10,14,28,.72))}
.phase-holding .art-writing-wash{opacity:.088}.phase-holding .art-main{transform:scale(1.24);filter:brightness(.52) saturate(1.2) blur(1px)}.phase-holding .art-sky-detail{opacity:.38;transform:scale(1.2) translateY(-4%)}.phase-holding .art-water-detail{opacity:.46;transform:scale(1.2) translateY(4%)}.phase-holding .art-writing-detail{opacity:.182;transform:scale(1.045) rotate(-.18deg)}.phase-holding .horizon-glow{animation-duration:3.2s}.phase-holding .moving-light{animation-duration:4.5s}.phase-holding .geo{opacity:.19;filter:drop-shadow(0 0 12px rgba(255,248,224,.08))}
.phase-result .art-writing-wash{opacity:.092}.phase-result .art-main{transform:scale(1.015);filter:brightness(.85) saturate(1.14)}.phase-result .art-sky-detail{opacity:.34;transform:scale(1.03)}.phase-result .art-water-detail{opacity:.34;transform:scale(1.03)}.phase-result .art-writing-detail{opacity:.208;transform:scale(1.03);background-size:cover;background-position:center}.phase-result .scene-overlay{background:linear-gradient(90deg,rgba(10,14,28,.58) 0,rgba(10,14,28,.08) 48%,rgba(10,14,28,.1) 80%),linear-gradient(180deg,rgba(10,14,28,.12),rgba(10,14,28,.03) 48%,rgba(10,14,28,.48))}.phase-result .water-sheen{opacity:.34}.phase-result .geo{opacity:.16}
@keyframes cameraDrift{0%{transform:scale(1.06) translate3d(-1%,0,0)}100%{transform:scale(1.13) translate3d(1.5%,-1%,0)}}
@keyframes openingPanOut{0%{transform:scale(1.13) translate3d(.6%,3.5%,0)}44%{transform:scale(1.068) translate3d(.24%,5.95%,0)}59%{transform:scale(1.053) translate3d(.10%,6.45%,0)}100%{transform:scale(1.073) translate3d(.06%,6.45%,0)}}
@keyframes skyFloat{0%{transform:translate3d(1%,-3%,0) scale(1.13)}100%{transform:translate3d(-1%,0,0) scale(1.18)}}
@keyframes writingHover{0%{transform:scale(1.03) rotate(-.12deg) translate3d(-.18%,0,0)}100%{transform:scale(1.045) rotate(.08deg) translate3d(.18%,-.18%,0)}}@keyframes writingWashFloat{0%{transform:scale(1.075) translate3d(-.24%,0,0)}100%{transform:scale(1.09) translate3d(.24%,-.16%,0)}}
@keyframes waterTexture{0%{transform:scale(1.15) translateX(-2%)}100%{transform:scale(1.21) translateX(2%)}}
@keyframes edgePulse{0%{opacity:.1;transform:scale(.98)}100%{opacity:.28;transform:scale(1.03)}}
@keyframes lightTravel{0%{transform:translate3d(-4%,1%,0) scale(.95)}100%{transform:translate3d(5%,-3%,0) scale(1.08)}}
@keyframes horizonBreath{0%,100%{opacity:.58;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}
@keyframes sheenMove{0%{background-position:0 0}100%{background-position:150px 0}}
@keyframes rippleOut{0%{opacity:0;transform:translate(-50%,-50%) scale(.14)}18%{opacity:.42}58%{opacity:.2}100%{opacity:0;transform:translate(-50%,-50%) scale(2.75)}}
@keyframes starBreathe{0%{opacity:.12;transform:scale(.7)}100%{opacity:.9;transform:scale(1.45)}}
@keyframes lotusSpin{from{transform:rotate(0deg) scale(.98)}to{transform:rotate(360deg) scale(1.02)}}@keyframes lotusSpinReverse{from{transform:rotate(360deg) scale(1)}to{transform:rotate(0deg) scale(.985)}}
@keyframes goRitual{0%{opacity:0;transform:translate(-50%,-12px);filter:blur(3px)}24%{opacity:1}58%{opacity:.85;letter-spacing:0}100%{opacity:0;transform:translate(-50%,40vh) scale(.7);filter:blur(12px);letter-spacing:.08em}}
@keyframes inRitual{0%{opacity:0;transform:translate(-50%,12px);filter:blur(3px)}24%{opacity:1}58%{opacity:.85;letter-spacing:0}100%{opacity:0;transform:translate(-50%,-41vh) scale(.7);filter:blur(12px);letter-spacing:.1em}}
@keyframes traceDown{0%{opacity:0;transform:translateY(-5vh) scaleY(.2)}30%{opacity:.5}100%{opacity:0;transform:translateY(34vh) scaleY(1.8)}}
@keyframes traceUp{0%{opacity:0;transform:translateY(6vh) scaleY(.2)}30%{opacity:.55}100%{opacity:0;transform:translateY(-34vh) scaleY(1.8)}}
@keyframes finalSettle{0%{opacity:0;filter:blur(8px);letter-spacing:.08em;transform:translate(-50%,18px)}100%{opacity:1;filter:blur(0);letter-spacing:0;transform:translate(-50%,0)}}
@media(max-width:700px){.top-star-mask{top:7.6%;width:min(34vw,185px);height:min(22vw,118px);filter:blur(7px)}.topbar{padding-inline:18px}.panel{padding:84px 18px 64px}.opening-copy-block,.prompt,.prompt-right{margin:0;justify-self:stretch;text-align:left}.opening-copy-block{align-self:end;margin-bottom:15vh;transform:none}.opening-headline{display:block;white-space:normal;margin-bottom:24px}h1{font-size:clamp(48px,13vw,62px)}h2{font-size:clamp(42px,11vw,56px)}.opening-copy{max-width:340px;font-size:14px;margin:18px 0 34px}.preview-caption{right:auto;left:18px;bottom:7vh}.art-main{background-position:52% center}.art-writing-wash{inset:-22%;opacity:.084;background-size:cover;background-position:center}.art-writing-detail{inset:-18%;background-size:cover;background-position:center;mask-image:radial-gradient(ellipse 94% 84% at 52% 50%,#000 0 72%,rgba(0,0,0,.88) 86%,rgba(0,0,0,.42) 94%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 94% 84% at 52% 50%,#000 0 72%,rgba(0,0,0,.88) 86%,rgba(0,0,0,.42) 94%,transparent 100%)}.art-water-detail{background-size:auto 88%;background-position:-28% 100%}.prompt-right textarea{text-align:left;margin-left:0}.prompt-right .prompt-actions{flex-direction:row}.zone-water{left:auto;right:18px;bottom:12vh}.zone-sky{right:18px;top:13vh}.holding-copy{margin-top:8vh}.result-message{left:18px;bottom:58px;width:calc(100% - 36px)}.result-message h2{font-size:44px}.final{font-size:34px;width:76vw}.final-in{top:12%;left:55%}.final-go{bottom:22%;left:52%}.result-label-in{top:9%;left:18%}.result-label-go{bottom:19%;left:18%}.phase-result .art-writing-detail{opacity:.224;background-size:cover;background-position:center}.phase-result .scene-overlay{background:linear-gradient(180deg,rgba(10,14,28,.12),rgba(10,14,28,.02) 46%,rgba(10,14,28,.76) 72%,rgba(10,14,28,.88))}.geo{opacity:.11}.geo-tl,.geo-tr,.geo-bl,.geo-br{min-width:86px;min-height:86px;max-width:140px;max-height:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.art-main,.art-sky-detail,.art-writing-wash,.art-writing-detail,.art-water-detail,.geo,.geo::before,.geo::after{transform:none!important;animation:none!important}}
/* Rev 67 — second-screen refinement only */
.letgo-panel{place-items:stretch}
.letgo-panel .letgo-prompt{
  width:min(700px,calc(100vw - 96px));
  margin-left:clamp(54px,7vw,118px);
  align-self:center;
  justify-self:start;
  transform:translateY(3vh);
}
.letgo-panel .letgo-prompt h2{margin-bottom:30px}
.letgo-panel .letgo-input-wrap{
  position:relative;
  width:min(650px,100%);
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.letgo-panel .letgo-input-wrap::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(90deg,var(--color-horizon),rgba(232,90,10,.22) 72%,transparent);
}
.letgo-panel textarea{
  width:100%;min-height:106px;margin:0;padding:18px 2px 20px;
  border:0;background:transparent;box-shadow:none;
  color:rgba(255,248,224,.94);
  font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(32px,3.35vw,48px);line-height:1.16;letter-spacing:-.012em;
}
.letgo-panel textarea::placeholder{color:rgba(255,248,224,.32);font-weight:400;opacity:1;transition:opacity .2s ease}.letgo-panel textarea:focus::placeholder{opacity:0}.letgo-panel textarea:focus{box-shadow:none}
.letgo-panel .letgo-actions{
  justify-content:flex-start;gap:30px;margin-top:22px;
}
.letgo-panel .letgo-actions .quiet{padding:9px 2px;color:rgba(255,248,224,.42);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.letgo-panel .release-action{min-width:190px;text-align:left}
.letgo-panel .release-action span{display:inline-block;margin-left:8px;transition:transform .45s var(--ease)}
.letgo-panel .release-action:hover span,.letgo-panel .release-action:focus-visible span{transform:translateX(5px)}
@media(max-width:700px){
  .letgo-panel{place-items:center}
  .letgo-panel .letgo-prompt{width:100%;margin:0;transform:none;align-self:center}
  .letgo-panel .letgo-prompt h2{margin-bottom:24px}
  .letgo-panel .letgo-input-wrap{width:100%;padding-inline:0}
  .letgo-panel textarea{min-height:94px;font-size:clamp(30px,8.5vw,40px);padding:16px 2px 18px}
  
  .letgo-panel .letgo-actions{gap:24px;flex-wrap:wrap}
  .letgo-panel .release-action{min-width:0}
}


/* Rev 70 — Let Go release transition only */
.experience.release-transition .letgo-panel .letgo-prompt{
  opacity:0;
  transform:translateY(3vh) scale(.985);
  transition:opacity .48s ease,transform .7s var(--ease);
}
.experience.release-transition .topbar,
.experience.release-transition footer{
  opacity:0;
  transition:opacity .4s ease;
}
.experience.release-transition .art-writing-wash,
.experience.release-transition .art-writing-detail,
.experience.release-transition .art-water-detail,
.experience.release-transition .art-sky-detail,
.experience.release-transition .ink-edge,
.experience.release-transition .geo-marks{
  opacity:0!important;
  transition:opacity .72s ease!important;
}
.experience.release-transition .scene-overlay{
  background:linear-gradient(180deg,rgba(10,14,28,.03),rgba(10,14,28,.01) 50%,rgba(10,14,28,.16));
  transition:background .8s ease;
}
.experience.release-transition .art-main{
  animation:none!important;
  opacity:1;
  transform:scale(.93) translate3d(0,-1.2%,0)!important;
  filter:brightness(.92) saturate(.97)!important;
  background-position:center 50.5%!important;
  transition:transform 1.65s var(--ease),filter 1.15s ease,background-position 1.65s var(--ease)!important;
}
.experience.release-transition .release-wide-art{
  opacity:0!important;
  visibility:hidden!important;
}
.experience.release-transition .moving-light,
.experience.release-transition .horizon-glow,
.experience.release-transition .water-sheen{
  opacity:.16;
  transition:opacity .75s ease;
}
@media(max-width:700px){
  .experience.release-transition .letgo-panel .letgo-prompt{transform:scale(.985)}
  .experience.release-transition .art-main{transform:scale(.955) translate3d(0,-.8%,0)!important;background-position:center 51%!important}
}


/* Rev 72 — release video integration */
.release-video{
  position:absolute;
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:#09101d;
  transition:opacity .48s ease;
}
.experience.release-video-arming .release-video{
  visibility:visible;
}
.experience.release-video-arming .release-wide-art{
  opacity:0!important;
  visibility:hidden!important;
}
.experience.release-video-playing .release-video{
  opacity:1;
  visibility:visible;
}

.experience.release-video-playing .moving-light,
.experience.release-video-playing .horizon-glow,
.experience.release-video-playing .water-sheen,
.experience.release-video-playing .water-ripples,
.experience.release-video-playing .star-field,
.experience.release-video-playing #fx,
.experience.release-video-playing .top-star-mask{opacity:0!important;transition:opacity .35s ease!important}
@media(max-width:700px){
  .release-video{object-position:center center}
}


/* Rev 75 — stable video-to-Let-In handoff and Let In input refinement */
.letin-panel{place-items:stretch}
.letin-panel .letin-prompt{
  width:min(700px,calc(100vw - 96px));
  margin-right:clamp(54px,7vw,118px);
  align-self:center;
  justify-self:end;
  transform:translateY(3vh);
}
.letin-panel .letin-prompt h2{margin-bottom:30px}
.letin-panel .letin-input-wrap{
  position:relative;
  width:min(650px,100%);
  margin-left:auto;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
}
.letin-panel .letin-input-wrap::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:linear-gradient(270deg,var(--color-horizon),rgba(232,90,10,.22) 72%,transparent);
}
.letin-panel textarea{
  width:100%;min-height:106px;margin:0;padding:18px 2px 20px;
  border:0;background:transparent;box-shadow:none;
  color:rgba(255,248,224,.94);
  font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;
  font-size:clamp(32px,3.35vw,48px);line-height:1.16;letter-spacing:-.012em;
  text-align:right;
}
.letin-panel textarea::placeholder{
  color:rgba(255,248,224,.32);font-weight:400;opacity:1;transition:opacity .2s ease;
}
.letin-panel textarea:focus::placeholder{opacity:0}
.letin-panel textarea:focus{box-shadow:none}
.letin-panel .prompt-actions{justify-content:flex-start;gap:30px;margin-top:22px}
.letin-panel .prompt-actions .quiet{padding:9px 2px;color:rgba(255,248,224,.42);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
#holdButton::after{display:none!important}
#holdButton:hover,#holdButton:focus-visible{filter:none!important;text-shadow:none!important}

/* Rev 81 — smoother video-to-Let-In handoff.
   The release video dissolves more slowly, and the Let In text waits briefly
   so the background settles before the next prompt is revealed. */
.experience.release-handoff .release-video{
  opacity:1!important;
  visibility:visible!important;
  transition:opacity .96s ease!important;
}
.experience.release-handoff.release-video-exit .release-video{
  opacity:0!important;
}
.experience.release-handoff .panel[data-step="2"],
.experience.phase-letin .panel[data-step="2"].active{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.experience.release-handoff .letin-prompt,
.experience.release-handoff .letin-input-wrap,
.experience.release-handoff .letin-panel .prompt-actions,
.experience.release-handoff .zone-sky{
  opacity:0!important;
  visibility:visible!important;
  transform:translateY(10px)!important;
  transition:opacity .6s ease, transform .6s ease!important;
}
.experience.release-handoff.release-video-exit .letin-prompt,
.experience.release-handoff.release-video-exit .letin-input-wrap,
.experience.release-handoff.release-video-exit .letin-input-wrap textarea,
.experience.release-handoff.release-video-exit .letin-panel .prompt-actions,
.experience.release-handoff.release-video-exit .zone-sky{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}

/* Desktop owns this automatic Let In reveal. Mobile uses its guarded,
   decoded-art handoff in mobile.css and must not inherit this rule. */
@media(min-width:701px){
  .experience.phase-letin .letin-prompt,
  .experience.phase-letin .letin-input-wrap,
  .experience.phase-letin .letin-input-wrap textarea,
  .experience.phase-letin .letin-panel .prompt-actions,
  .experience.phase-letin .zone-sky{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
}

@media(max-width:700px){
  .letin-panel{place-items:center}
  .letin-panel .letin-prompt{width:100%;margin:0;transform:none;align-self:center;text-align:left}
  .letin-panel .letin-prompt h2{margin-bottom:24px}
  .letin-panel .letin-input-wrap{width:100%;margin:0}
  .letin-panel textarea{min-height:94px;font-size:clamp(30px,8.5vw,40px);padding:16px 2px 18px;text-align:left}
  .letin-panel .letin-input-wrap::after{background:linear-gradient(90deg,var(--color-horizon),rgba(232,90,10,.22) 72%,transparent)}
  .letin-panel .prompt-actions{gap:24px;flex-wrap:wrap;flex-direction:row}
}


/* Rev 80 — remove top-left project/step label */
.topbar{display:none!important}


/* Rev 83 — seamless pre-animation bridge.
   An exact still of the video's opening frame covers the crop and color change,
   then dissolves only after the video is already rendering beneath it. */
.release-video-bridge{
  position:absolute;
  inset:0;
  z-index:3.5;
  background:#09101d url("images/letting-go-rev204-start-desktop.jpg?v=204") center center/cover no-repeat;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.012);
  transition:opacity .82s ease,transform 1.15s var(--ease),visibility 0s linear .82s;
}
.experience.release-transition .art-main{
  transform:scale(.965) translate3d(0,-.45%,0)!important;
  filter:brightness(.88) saturate(.98)!important;
  transition:transform 1.25s var(--ease),filter .9s ease,opacity .78s ease!important;
}
.experience.release-bridge-ready .release-video-bridge{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  transition:opacity .82s ease,transform 1.15s var(--ease),visibility 0s;
}
.experience.release-bridge-ready .art-main{
  opacity:0;
}
.experience.release-video-arming .release-video{
  opacity:1;
}
.experience.release-video-playing .release-video-bridge{
  opacity:0;
  visibility:hidden;
  transform:scale(.997);
  transition:opacity .72s ease .08s,transform .9s var(--ease),visibility 0s linear .8s;
}
@media(max-width:700px){
  .experience.release-transition .art-main{
    transform:scale(.975) translate3d(0,-.3%,0)!important;
  }
  .release-video-bridge{
    background-position:center center;
  }
}


/* Rev 90 — permanently retire the opening bridge before the return handoff.
   This prevents any hidden opening-frame layer from being composited again. */
.experience.release-bridge-retired .release-video-bridge{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:none!important;
}
/* Keep the restored artwork in one fixed composited state throughout the fade. */
.experience.release-handoff .art-main,
.experience.release-handoff .release-wide-art{
  transition:none!important;
  animation:none!important;
}


/* Rev 91 — stable text entry surfaces.
   The typed words remain on their own compositor layer and decorative motion
   pauses while either reflection field has focus, preventing glyph flashing. */
.letgo-panel .letgo-input-wrap,
.letin-panel .letin-input-wrap{
  isolation:isolate;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  contain:layout paint;
}
.letgo-panel textarea,
.letin-panel textarea{
  position:relative;
  z-index:1;
  opacity:1!important;
  visibility:visible!important;
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:auto;
  transition:none!important;
  animation:none!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:geometricPrecision;
  caret-color:var(--color-focus);
}
.experience.input-editing .art-main,
.experience.input-editing .art-sky-detail,
.experience.input-editing .art-writing-wash,
.experience.input-editing .art-writing-detail,
.experience.input-editing .art-water-detail,
.experience.input-editing .moving-light,
.experience.input-editing .horizon-glow,
.experience.input-editing .water-sheen,
.experience.input-editing .ripple,
.experience.input-editing .star,
.experience.input-editing .ink-edge,
.experience.input-editing .geo,
.experience.input-editing .geo::before,
.experience.input-editing .geo::after{
  animation-play-state:paused!important;
}


/* Rev 93 — final-frame bridge for a seamless video-to-still return.
   An exported frame from the end of the animation covers the browser video
   before it is paused. The complete Let In scene is painted underneath, then
   this single bridge performs the only visible dissolve. */
.release-video-end-bridge{
  position:absolute;
  inset:0;
  z-index:4;
  background:#b87040 url("images/letting-go-rev204-end-desktop.jpg?v=204") center center/cover no-repeat;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  will-change:opacity;
}
.experience.release-end-bridge-ready .release-video-end-bridge{
  opacity:1;
  visibility:visible;
  transition:none;
}
.experience.release-ending .release-video{
  opacity:1!important;
  visibility:visible!important;
  transition:none!important;
}
.experience.release-end-dissolve .release-video{
  opacity:0!important;
  visibility:hidden!important;
}
.experience.release-end-dissolve .release-video-end-bridge{
  opacity:0;
  visibility:hidden;
  transition:opacity 1.65s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.65s;
}
/* Keep all prompt content out of the image dissolve. */
.experience.release-handoff .letin-prompt,
.experience.release-handoff .letin-input-wrap,
.experience.release-handoff .letin-panel .prompt-actions,
.experience.release-handoff .zone-sky{
  opacity:0!important;
  visibility:visible!important;
  transform:translateY(9px)!important;
  transition:opacity .62s ease,transform .62s ease!important;
}
.experience.release-handoff.release-ui-reveal .letin-prompt,
.experience.release-handoff.release-ui-reveal .letin-input-wrap,
.experience.release-handoff.release-ui-reveal .letin-panel .prompt-actions,
.experience.release-handoff.release-ui-reveal .zone-sky{
  opacity:1!important;
  transform:none!important;
}
/* The restored image remains a fixed compositor surface throughout the handoff. */
.experience.release-handoff .scene,
.experience.release-handoff .art-main,
.experience.release-handoff .art-sky-detail,
.experience.release-handoff .art-writing-wash,
.experience.release-handoff .art-writing-detail,
.experience.release-handoff .art-water-detail,
.experience.release-handoff .scene-overlay{
  animation-play-state:paused!important;
  transition:none!important;
}


/* Rev 94 — stable completed Let In screen.
   Keep typed/placeholder glyphs fixed inside one fading wrapper, and pause every
   translucent decorative layer once the animation hands back to the still. */
.experience.release-handoff .letin-input-wrap textarea{
  opacity:1!important;
  visibility:visible!important;
  transform:translateZ(0)!important;
  transition:none!important;
}
.experience.release-handoff .moving-light,
.experience.release-handoff .horizon-glow,
.experience.release-handoff .water-sheen,
.experience.release-handoff .ripple,
.experience.release-handoff .star,
.experience.release-handoff .ink-edge,
.experience.release-handoff .geo,
.experience.release-handoff .geo::before,
.experience.release-handoff .geo::after{
  animation-play-state:paused!important;
  transition:none!important;
}
.experience.release-handoff #fx{
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.experience.release-ui-settled .letin-prompt,
.experience.release-ui-settled .letin-input-wrap,
.experience.release-ui-settled .letin-panel .prompt-actions,
.experience.release-ui-settled .zone-sky{
  transition:none!important;
  will-change:auto!important;
}

/* Rev 96 — Invite from the Stars video sequence.
   The Let In interface dissolves into an exact first-frame bridge. The video
   starts underneath, then its last rendered frame bridges into Holding. */
.invite-video,
.invite-video-start-bridge,
.invite-video-end-bridge{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.invite-video{
  z-index:14;
  object-fit:cover;
  object-position:center center;
  background:#09101d;
  transform:none;
  -webkit-transform:none;
  animation:none;
}
.invite-video-start-bridge{
  z-index:15;
  background:#09101d url("images/invite-video-start.jpg") center center/cover no-repeat;
}
.invite-video-end-bridge{
  z-index:16;
  background:#09101d url("images/invite-video-end-rev188.jpg?v=222") center center/cover no-repeat;
}
.experience.invite-transition .letin-prompt,
.experience.invite-transition .zone-sky,
.experience.invite-transition footer{
  opacity:0!important;
  transform:translateY(7px)!important;
  transition:opacity .42s ease,transform .58s var(--ease)!important;
}
.experience.invite-transition .art-sky-detail,
.experience.invite-transition .art-writing-wash,
.experience.invite-transition .art-writing-detail,
.experience.invite-transition .art-water-detail,
.experience.invite-transition .ink-edge,
.experience.invite-transition .geo-marks,
.experience.invite-transition .moving-light,
.experience.invite-transition .horizon-glow,
.experience.invite-transition .water-sheen,
.experience.invite-transition .water-ripples,
.experience.invite-transition .star-field,
.experience.invite-transition #fx,
.experience.invite-transition .top-star-mask{
  opacity:0!important;
  transition:opacity .48s ease!important;
}
.experience.invite-start-ready .invite-video-start-bridge{
  opacity:1;
  visibility:visible;
  transition:opacity .72s ease,visibility 0s;
}
.experience.invite-video-arming .invite-video{
  opacity:1;
  visibility:visible;
}
.experience.invite-video-playing .invite-video-start-bridge{
  opacity:0;
  visibility:hidden;
  transition:opacity .82s cubic-bezier(.22,.61,.36,1),visibility 0s linear .82s;
}
.experience.invite-start-retired .invite-video-start-bridge{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:none!important;
}
.experience.invite-end-ready .invite-video-end-bridge{
  opacity:1;
  visibility:visible;
  transition:none;
}
.experience.invite-ending .invite-video{
  opacity:1!important;
  visibility:visible!important;
  transition:none!important;
}
.experience.invite-end-dissolve .invite-video{
  opacity:0!important;
  visibility:hidden!important;
}
.experience.invite-end-dissolve .invite-video-end-bridge{
  opacity:0;
  visibility:hidden;
  transition:opacity 1.35s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.35s;
}
@media (min-width:701px){
  .experience.invite-ending .invite-video-end-bridge{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }
  .experience.invite-ending .invite-video{
    transition:opacity 1.15s cubic-bezier(.22,.61,.36,1)!important;
  }
  .experience.invite-end-dissolve .invite-video{
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity 1.15s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.15s!important;
  }
}
.experience.invite-ending .holding-panel .holding-copy,
.experience.invite-ending .holding-panel .ritual-stage{
  opacity:0!important;
  visibility:visible!important;
  transform:translateY(8px)!important;
  transition:opacity .65s ease,transform .65s ease!important;
}
.experience.invite-ending.invite-holding-reveal .holding-panel .holding-copy,
.experience.invite-ending.invite-holding-reveal .holding-panel .ritual-stage{
  opacity:1!important;
  transform:none!important;
}
@media(max-width:700px){
  .invite-video,
  .invite-video-start-bridge,
  .invite-video-end-bridge{object-position:center center;background-position:center center}
}
/* Override the settled Let In reveal while the invite sequence begins. */
.experience.release-handoff.release-ui-reveal.invite-transition .letin-prompt,
.experience.release-handoff.release-ui-reveal.invite-transition .letin-input-wrap,
.experience.release-handoff.release-ui-reveal.invite-transition .letin-panel .prompt-actions,
.experience.release-handoff.release-ui-reveal.invite-transition .zone-sky,
.experience.release-ui-settled.invite-transition .letin-prompt,
.experience.release-ui-settled.invite-transition .letin-input-wrap,
.experience.release-ui-settled.invite-transition .letin-panel .prompt-actions,
.experience.release-ui-settled.invite-transition .zone-sky{
  opacity:0!important;
  transform:translateY(7px)!important;
}


/* Rev 97 — refreshed final screen design.
   Replace the scattered ending with a cleaner premium summary layout: one
   reflective message card plus paired released/welcomed word cards. */
.result-panel{align-items:end}
.result-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(320px,540px) minmax(260px,430px);gap:clamp(22px,3vw,44px);align-items:end;width:min(1180px,calc(100% - 48px));margin:0 auto clamp(72px,9vh,112px)}
.result-card{position:relative;left:auto;bottom:auto;width:auto;max-width:none;padding:clamp(26px,3.1vw,38px) clamp(24px,3vw,34px);border:1px solid rgba(255,244,225,.18);border-radius:28px;background:linear-gradient(180deg,rgba(17,24,44,.54),rgba(12,18,36,.28));box-shadow:0 24px 80px rgba(3,6,18,.28), inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(14px) saturate(118%);-webkit-backdrop-filter:blur(14px) saturate(118%)}
.result-card::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 16% 12%,rgba(255,245,225,.12),transparent 34%),linear-gradient(180deg,rgba(255,255,255,.04),transparent 30%);pointer-events:none}
.result-message .kicker{margin-bottom:14px}
.result-message h2{margin-bottom:12px;font-size:clamp(50px,6vw,80px);line-height:.96;letter-spacing:-.025em;text-wrap:balance}
.result-message>p:not(.kicker){max-width:40ch;font-size:17px;color:rgba(235,238,247,.86);line-height:1.72}
.result-message .email-note{margin-top:12px;color:rgba(255,248,224,.72)!important;font-size:12px!important;letter-spacing:.08em;text-transform:uppercase}
.result-actions{margin-top:20px}
.result-actions .restart{padding-bottom:2px;border-bottom:1px solid rgba(255,248,224,.28)}
.result-reflections{position:relative;display:flex;flex-direction:column;gap:18px;align-self:center;justify-self:end;width:min(100%,420px);pointer-events:none}
.reflection-card{position:relative;padding:22px 24px 24px;border-radius:24px;border:1px solid rgba(255,244,225,.16);background:linear-gradient(180deg,rgba(11,18,36,.42),rgba(11,18,36,.22));box-shadow:0 18px 56px rgba(3,6,18,.2), inset 0 1px 0 rgba(255,255,255,.08);backdrop-filter:blur(12px) saturate(118%);-webkit-backdrop-filter:blur(12px) saturate(118%);overflow:hidden}
.reflection-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 10%,rgba(255,232,190,.13),transparent 36%),radial-gradient(circle at 88% 82%,rgba(97,146,255,.1),transparent 30%);pointer-events:none}
.reflection-label{position:relative;display:block;margin-bottom:10px;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,248,224,.62)}
.result-panel .final{position:relative;left:auto;top:auto;bottom:auto;display:block;width:auto;transform:none;font-size:clamp(28px,3.7vw,52px);line-height:1.02;color:rgba(255,247,230,.97);text-shadow:0 0 18px rgba(255,255,255,.12);animation:resultWordFloat 1.5s var(--ease) both;font-style:italic}
.reflection-card-go .final{animation-delay:.12s}
.reflection-connector{width:1px;height:54px;margin:0 auto;background:linear-gradient(180deg,rgba(255,245,225,.04),rgba(255,245,225,.46),rgba(255,245,225,.04));opacity:.72}
.phase-result .scene-overlay{background:linear-gradient(180deg,rgba(9,13,28,.18),rgba(9,13,28,.05) 34%,rgba(8,12,24,.32) 60%,rgba(8,12,24,.72))}
.phase-result .art-writing-detail{opacity:.18}
.phase-result .art-writing-wash{opacity:.072}
.phase-result .geo{opacity:.08}
@keyframes resultWordFloat{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .result-shell{grid-template-columns:1fr;gap:18px;width:calc(100% - 36px);margin-bottom:62px}
  .result-reflections{justify-self:stretch;width:100%;gap:14px}
  .reflection-connector{display:none}
  .result-message h2{font-size:46px}
}
@media(max-width:700px){
  .result-shell{width:calc(100% - 28px);margin-bottom:56px}
  .result-card{padding:22px 18px 24px;border-radius:24px}
  .result-message h2{font-size:42px}
  .result-message>p:not(.kicker){font-size:15px;line-height:1.64}
  .reflection-card{padding:18px 16px 20px;border-radius:20px}
  .result-panel .final{font-size:34px}
  .result-message .email-note{font-size:11px!important}
}


/* Rev 98 — prevent earlier question flashes after the Invite animation.
   During the video-to-Holding handoff, force every panel except Holding fully out
   of rendering so no residual Let Go or Let In prompt can flash through. */
.experience.invite-ending .panel{
  opacity:0!important;
  visibility:hidden!important;
  transform:none!important;
  transition:none!important;
}
.experience.invite-ending .holding-panel{
  opacity:1!important;
  visibility:visible!important;
  transform:none!important;
}
.experience.invite-ending .letgo-panel,
.experience.invite-ending .letin-panel,
.experience.invite-ending [data-step="0"],
.experience.invite-ending .result-panel{
  display:grid!important; /* preserve layout sizing while remaining hidden */
  pointer-events:none!important;
}


/* Rev 99 — strict panel isolation for the Invite return.
   Inactive question panels are removed from layout and compositing before the
   end-frame bridge dissolves. This eliminates the old left question and the
   right-question disappear/reappear flicker. */
.experience.strict-panel-isolation .panel:not(.active){
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:none!important;
  animation:none!important;
}
.experience.strict-panel-isolation .holding-panel.active{
  display:grid!important;
}
.experience.strict-panel-isolation.phase-result .result-panel.active{
  display:grid!important;
}


/* Rev 116 — complete participation flow */
.flow-shell{position:relative;z-index:2;width:min(920px,calc(100vw - 96px));margin:auto;padding:clamp(28px,3.5vw,48px);border:1px solid rgba(255,248,224,.16);border-radius:30px;background:linear-gradient(180deg,rgba(12,19,38,.64),rgba(10,16,31,.38));box-shadow:0 28px 90px rgba(2,6,18,.3);backdrop-filter:blur(14px) saturate(112%);-webkit-backdrop-filter:blur(14px) saturate(112%)}
.flow-shell h2{max-width:820px;font-size:clamp(48px,5.6vw,76px);line-height:.94;margin-bottom:18px}
.flow-intro{max-width:66ch;margin:0 0 28px;color:rgba(235,238,247,.82);font-size:16px;line-height:1.65}
.share-choices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:10px 0 18px}
.phrase-choice{display:flex;flex-direction:column;min-height:190px;padding:22px 22px 18px;border:1px solid rgba(255,248,224,.15);border-radius:22px;background:rgba(9,15,31,.3);cursor:pointer}
.choice-context{font:600 10px/1.2 Manrope,sans-serif;letter-spacing:.19em;text-transform:uppercase;color:rgba(255,248,224,.54)}
.choice-phrase{flex:1;display:flex;align-items:center;padding:18px 0;font:italic 500 clamp(27px,3vw,40px)/1.05 "Cormorant Garamond",serif;color:rgba(255,248,224,.96)}
.choice-control,.news-choice{display:flex;align-items:flex-start;gap:11px;font:500 12px/1.45 Manrope,sans-serif;color:rgba(255,248,224,.76)}
.choice-control input,.news-choice input{position:absolute;opacity:0;pointer-events:none}
.choice-box{flex:0 0 18px;width:18px;height:18px;margin-top:0;border:1px solid rgba(255,248,224,.48);border-radius:4px;position:relative}
input:checked+.choice-box{border-color:#fff0a8;background:rgba(255,240,168,.16)}
input:checked+.choice-box::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #fff0a8;border-width:0 2px 2px 0;transform:rotate(45deg)}
.privacy-note{margin:12px 0 0;max-width:80ch;color:rgba(235,238,247,.54);font:400 11px/1.55 Manrope,sans-serif}
.flow-actions{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:26px}
.flow-actions .text-action:disabled{opacity:.32;cursor:not-allowed}
.email-shell{width:min(720px,calc(100vw - 96px))}
.email-field{display:block;margin-top:28px}
.email-field>span{display:block;margin-bottom:8px;font:600 10px/1.2 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,248,224,.58)}
.email-field input{width:100%;padding:10px 0 14px;border:0;border-bottom:1px solid rgba(255,248,224,.48);border-radius:0;background:transparent;color:#fff8e0;font:italic 500 clamp(28px,3vw,40px)/1.1 "Cormorant Garamond",serif;outline:none}
.email-field input::placeholder{color:rgba(255,248,224,.3)}
.field-error{min-height:18px;margin:7px 0;color:#ffd3c0;font:500 11px/1.4 Manrope,sans-serif}
.news-choice{margin-top:16px;cursor:pointer}
.completion-panel{display:grid;place-items:center}
.completion-shell{position:relative;z-index:2;display:grid;grid-template-columns:minmax(330px,560px) minmax(300px,430px);gap:clamp(26px,5vw,72px);align-items:center;width:min(1180px,calc(100vw - 96px));margin:auto}
.completion-copy h2{font-size:clamp(58px,7vw,92px);line-height:.9;margin-bottom:22px}
.completion-status{display:grid;gap:8px;max-width:54ch;color:rgba(235,238,247,.78);font:400 14px/1.55 Manrope,sans-serif}
.completion-status p{margin:0}
.completion-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:26px}
.artist-link{padding:0;border:0;background:none;color:rgba(255,248,224,.9);font:500 13px/1.4 Manrope,sans-serif;cursor:pointer;border-bottom:1px solid rgba(255,240,168,.34)}
.completion-words{display:grid;gap:20px}
.completion-word{padding:22px 0;border-bottom:1px solid rgba(255,248,224,.2)}
.completion-word span{display:block;margin-bottom:8px;font:600 9px/1.2 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,248,224,.52)}
.completion-word em{display:block;font:italic 500 clamp(34px,4vw,56px)/.98 "Cormorant Garamond",serif;color:rgba(255,248,224,.96)}
.artist-panel-shell{display:contents}
.artist-panel{position:fixed;inset:0;z-index:100;display:grid;place-items:end;background:rgba(3,7,18,.58);opacity:0;visibility:hidden;transition:opacity .32s ease,visibility 0s linear .32s;will-change:opacity}
.artist-panel.open{opacity:1;visibility:visible;transition:opacity .32s ease,visibility 0s}
.artist-panel-inner{position:relative;width:min(620px,100%);height:100%;padding:clamp(54px,8vh,92px) clamp(32px,5vw,64px);background:linear-gradient(180deg,#111a31,#09101f);transform:translate3d(0,100%,0);transition:transform .38s cubic-bezier(.22,.61,.36,1);overflow:auto;will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.artist-panel.open .artist-panel-inner{transform:translate3d(0,0,0)}
.artist-close{position:absolute;z-index:2;right:28px;top:24px;padding:8px 0;border:0;background:none;color:rgba(255,248,224,.66);font:500 11px Manrope,sans-serif;cursor:pointer}
.artist-panel h2{font-size:clamp(48px,6vw,76px);line-height:.92;margin-bottom:30px}
.artist-portrait{width:100%;aspect-ratio:4/3;margin:0 0 24px;background:linear-gradient(135deg,rgba(89,116,204,.10),rgba(232,90,10,.08)),url("images/artist-grant-stephanie.jpg") 22% 36%/cover no-repeat;border:1px solid rgba(255,248,224,.12)}
.artist-names{font:italic 500 34px/1 "Cormorant Garamond",serif;margin:0 0 12px}
.artist-statement{max-width:48ch;color:rgba(235,238,247,.78);font:400 15px/1.7 Manrope,sans-serif;margin:0 0 28px}
.holding-ripple{position:absolute;left:50%;bottom:18%;width:36px;height:12px;border:1px solid rgba(255,240,168,.42);border-radius:50%;transform:translateX(-50%);animation:holdRipple 3.8s ease-out both}
.holding-star-response{position:absolute;left:52%;top:12%;width:12px;height:12px;border-radius:50%;background:#fff8e0;box-shadow:0 0 18px 8px rgba(255,240,168,.35);animation:holdStar 3.8s ease-in-out both}
@keyframes holdRipple{0%{opacity:0;transform:translateX(-50%) scale(.4)}35%{opacity:.65}100%{opacity:0;transform:translateX(-50%) scale(10)}}
@keyframes holdStar{0%,20%{opacity:.18;transform:scale(.7)}65%{opacity:1;transform:scale(1.5)}100%{opacity:.25;transform:scale(.9)}}
.phase-share .scene-overlay,.phase-email .scene-overlay{background:linear-gradient(180deg,rgba(7,11,25,.38),rgba(7,11,25,.64))}
.phase-share .art-main,.phase-email .art-main{filter:brightness(.55) saturate(.92)}


/* Rev 117 — Holding begins only after the Invite return is visibly settled. */
.holding-panel .ritual-go{top:66%;animation:goRitualVisible 4.45s var(--ease) both}
.holding-panel .ritual-in{top:27%;animation:inRitualVisible 4.45s var(--ease) both}
.holding-panel .holding-ripple{animation:holdRipple 4.45s .15s ease-out both}
.holding-panel .holding-star-response{animation:holdStar 4.45s .15s ease-in-out both}
@keyframes goRitualVisible{
  0%{opacity:0;transform:translate(-50%,-8px) scale(.98);filter:blur(3px)}
  10%{opacity:.92;filter:blur(0)}
  64%{opacity:.88;transform:translate(-50%,0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translate(-50%,15vh) scale(.82);filter:blur(8px)}
}
@keyframes inRitualVisible{
  0%{opacity:0;transform:translate(-50%,8px) scale(.98);filter:blur(3px)}
  10%{opacity:.94;filter:blur(0)}
  64%{opacity:.9;transform:translate(-50%,0) scale(1);filter:blur(0)}
  100%{opacity:0;transform:translate(-50%,-16vh) scale(.84);filter:blur(8px)}
}


/* Rev 118 — Holding animations exist only while the visible ritual is running. */
.holding-panel .ritual,
.holding-panel .holding-ripple,
.holding-panel .holding-star-response,
.holding-panel .release-trace,
.holding-panel .rise-trace{animation:none!important;opacity:0}
.holding-panel.ritual-running .ritual-go{animation:goRitualVisible 4.9s var(--ease) both!important}
.holding-panel.ritual-running .ritual-in{animation:inRitualVisible 4.9s var(--ease) both!important}
.holding-panel.ritual-running .holding-ripple{animation:holdRipple 4.9s .18s ease-out both!important}
.holding-panel.ritual-running .holding-star-response{animation:holdStar 4.9s .18s ease-in-out both!important}
.holding-panel.ritual-running .release-trace{animation:traceDown 4.5s .45s var(--ease) forwards!important}
.holding-panel.ritual-running .rise-trace{animation:traceUp 4.5s .45s var(--ease) forwards!important}
.holding-panel.ritual-running .trace-b{animation-delay:.72s!important}
.holding-panel.ritual-running .trace-d{animation-delay:.8s!important}


/* Rev 119 — slow, readable Holding ritual. */
.holding-panel .holding-copy{opacity:0;transform:translateY(8px)}
.holding-panel.ritual-running .holding-copy{animation:holdingCopySequence 11.1s ease both!important}
.holding-panel.ritual-running .ritual-go{animation:goRitualSlow 10.8s .55s cubic-bezier(.22,.61,.36,1) both!important}
.holding-panel.ritual-running .ritual-in{animation:inRitualSlow 10.8s 1.05s cubic-bezier(.22,.61,.36,1) both!important}
.holding-panel.ritual-running .holding-ripple{animation:holdRippleSlow 6.2s 2.15s ease-out both!important}
.holding-panel.ritual-running .holding-star-response{animation:holdStarSlow 5.8s 4.15s ease-in-out both!important}
.holding-panel.ritual-running .release-trace{animation:traceDownSlow 7.1s 2.55s cubic-bezier(.22,.61,.36,1) forwards!important}
.holding-panel.ritual-running .rise-trace{animation:traceUpSlow 7.1s 2.55s cubic-bezier(.22,.61,.36,1) forwards!important}
.holding-panel.ritual-running .trace-b{animation-delay:2.9s!important}
.holding-panel.ritual-running .trace-d{animation-delay:3.05s!important}

@keyframes holdingCopySequence{
  0%{opacity:0;transform:translateY(8px)}
  7%{opacity:1;transform:none}
  78%{opacity:1;transform:none}
  92%,100%{opacity:0;transform:translateY(-6px)}
}
@keyframes goRitualSlow{
  0%,4%{opacity:0;transform:translate(-50%,6px) scale(.985);filter:blur(3px)}
  14%{opacity:.82;transform:translate(-50%,0) scale(1);filter:blur(0)}
  67%{opacity:.78;transform:translate(-50%,0) scale(1);filter:blur(0)}
  84%{opacity:.44;transform:translate(-50%,2vh) scale(.97);filter:blur(1px)}
  100%{opacity:0;transform:translate(-50%,7vh) scale(.9);filter:blur(6px)}
}
@keyframes inRitualSlow{
  0%,4%{opacity:0;transform:translate(-50%,8px) scale(.985);filter:blur(3px)}
  14%{opacity:.84;transform:translate(-50%,0) scale(1);filter:blur(0)}
  67%{opacity:.8;transform:translate(-50%,0) scale(1);filter:blur(0)}
  84%{opacity:.46;transform:translate(-50%,-2vh) scale(.97);filter:blur(1px)}
  100%{opacity:0;transform:translate(-50%,-7vh) scale(.9);filter:blur(6px)}
}
@keyframes holdRippleSlow{
  0%{opacity:0;transform:translateX(-50%) scale(.35)}
  15%{opacity:.62}
  58%{opacity:.44}
  100%{opacity:0;transform:translateX(-50%) scale(12)}
}
@keyframes holdStarSlow{
  0%,12%{opacity:.12;transform:scale(.72)}
  42%{opacity:.5;transform:scale(1.05)}
  62%{opacity:1;transform:scale(1.55)}
  82%{opacity:.52;transform:scale(1.08)}
  100%{opacity:.18;transform:scale(.9)}
}
@keyframes traceDownSlow{
  0%{opacity:0;transform:translateY(-4vh) scaleY(.35)}
  18%{opacity:.42}
  66%{opacity:.28;transform:translateY(5vh) scaleY(1)}
  100%{opacity:0;transform:translateY(12vh) scaleY(.65)}
}
@keyframes traceUpSlow{
  0%{opacity:0;transform:translateY(4vh) scaleY(.35)}
  18%{opacity:.42}
  66%{opacity:.28;transform:translateY(-5vh) scaleY(1)}
  100%{opacity:0;transform:translateY(-12vh) scaleY(.65)}
}

@media (prefers-reduced-motion:reduce){
  .holding-panel.ritual-running .holding-copy{animation:none!important;opacity:1!important;transform:none!important}
  .holding-panel.ritual-running .ritual-go{animation:none!important;opacity:.78!important;transform:translateX(-50%)!important;filter:none!important}
  .holding-panel.ritual-running .ritual-in{animation:none!important;opacity:.8!important;transform:translateX(-50%)!important;filter:none!important}
  .holding-panel.ritual-running .holding-ripple,
  .holding-panel.ritual-running .holding-star-response,
  .holding-panel.ritual-running .release-trace,
  .holding-panel.ritual-running .rise-trace{display:none!important}
}

/* Rev 120 — desktop-only Holding label readability. */
@media (min-width:701px){
  .holding-panel .holding-copy .kicker{
    font-size:clamp(15px,1.15vw,18px);
    line-height:1.25;
    letter-spacing:.2em;
    margin-bottom:18px;
    color:rgba(255,248,224,.82);
    text-shadow:0 3px 22px rgba(0,0,0,.48);
  }
}


/* Rev 121 — artful Holding composition and phrase treatment. */
@media (min-width:701px){
  .holding-panel .holding-copy{
    margin-top:8.2vh;
  }
  .holding-panel .holding-copy h2{
    font-size:clamp(54px,6.2vw,88px);
    line-height:.92;
    text-shadow:0 8px 34px rgba(0,0,0,.26),0 0 18px rgba(255,248,224,.1);
  }
  .holding-panel .ritual{
    width:min(32vw,380px);
    font-size:clamp(42px,4.9vw,76px);
    line-height:.96;
    letter-spacing:-.02em;
    font-weight:500;
    position:absolute;
    isolation:isolate;
  }
  .holding-panel .ritual::before,
  .holding-panel .ritual::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    pointer-events:none;
    transform:translate(-50%,-50%);
    z-index:-1;
  }
  .holding-panel .ritual-in{
    top:29.5%;
    margin-left:8.4vw;
    color:rgba(255,249,234,.98);
    text-shadow:0 0 14px rgba(255,249,226,.44),0 0 30px rgba(255,235,176,.42),0 0 56px rgba(255,205,112,.22),0 4px 30px rgba(32,20,6,.22);
  }
  .holding-panel .ritual-in::before{
    width:152%;
    height:208%;
    background:radial-gradient(ellipse at center,rgba(255,250,232,.24) 0,rgba(255,239,186,.18) 28%,rgba(255,220,150,.1) 56%,transparent 80%);
    filter:blur(14px);
    opacity:.98;
  }
  .holding-panel .ritual-in::after{
    width:168%;
    height:228%;
    background:radial-gradient(circle at 28% 38%,rgba(255,255,255,.34) 0 1.4px,transparent 2px),radial-gradient(circle at 72% 26%,rgba(255,247,214,.28) 0 1.2px,transparent 1.8px),radial-gradient(circle at 62% 70%,rgba(255,255,255,.2) 0 1px,transparent 1.6px),radial-gradient(ellipse at center,rgba(255,255,255,.14) 0,rgba(255,255,255,.08) 22%,transparent 62%);
    filter:blur(10px);
    opacity:.7;
  }
  .holding-panel .ritual-go{
    top:70.5%;
    margin-left:-1.2vw;
    width:min(30vw,360px);
    color:rgba(245,238,222,.88);
    text-shadow:0 0 18px rgba(255,240,205,.16),0 0 40px rgba(86,139,196,.18),0 4px 30px rgba(8,16,34,.28);
  }
  .holding-panel .ritual-go::before{
    width:154%;
    height:170%;
    background:radial-gradient(ellipse at center,rgba(255,244,220,.12) 0,rgba(77,120,180,.12) 32%,rgba(39,86,148,.09) 48%,transparent 76%);
    filter:blur(14px);
    opacity:.84;
  }
  .holding-panel .ritual-go::after{
    width:124%;
    height:88%;
    background:radial-gradient(ellipse at center,rgba(255,248,224,.08) 0,rgba(255,255,255,.04) 34%,transparent 70%);
    filter:blur(9px);
    opacity:.58;
  }
  .holding-panel .holding-ripple{
    bottom:16.5%;
    width:52px;
    height:16px;
    border-color:rgba(255,240,168,.5);
    box-shadow:0 0 18px rgba(255,230,140,.16);
  }
  .holding-panel .holding-star-response{
    top:8.9%;
    left:52.4%;
    width:14px;
    height:14px;
    box-shadow:0 0 22px 10px rgba(255,240,168,.28);
  }
}

.holding-panel.ritual-running .holding-copy{animation:holdingCopySequence121 9.56s ease both!important}
.holding-panel.ritual-running .ritual-go{animation:goRitualSlow121 9.28s .56s cubic-bezier(.22,.61,.36,1) both!important}
.holding-panel.ritual-running .ritual-in{animation:inRitualSlow121 9.28s .92s cubic-bezier(.22,.61,.36,1) both!important}
.holding-panel.ritual-running .holding-ripple{animation:holdRippleSlow121 5.76s 2.04s ease-out both!important}
.holding-panel.ritual-running .holding-star-response{animation:holdStarSlow121 4.96s 3.92s ease-in-out both!important}
.holding-panel.ritual-running .release-trace{animation:traceDownSlow121 6.24s 2.44s cubic-bezier(.22,.61,.36,1) forwards!important}
.holding-panel.ritual-running .rise-trace{animation:traceUpSlow121 6.24s 2.44s cubic-bezier(.22,.61,.36,1) forwards!important}
.holding-panel.ritual-running .trace-b{animation-delay:2.72s!important}
.holding-panel.ritual-running .trace-d{animation-delay:2.84s!important}

@keyframes holdingCopySequence121{
  0%{opacity:0;transform:translateY(10px)}
  6%{opacity:1;transform:none}
  80%{opacity:1;transform:none}
  95%,100%{opacity:0;transform:translateY(-8px)}
}
@keyframes goRitualSlow121{
  0%,4%{opacity:0;transform:translate(-50%,8px) scale(.985);filter:blur(4px)}
  18%{opacity:.92;transform:translate(-50%,0) scale(1.03);filter:blur(0)}
  64%{opacity:.86;transform:translate(-50%,0) scale(1.01);filter:blur(0)}
  82%{opacity:.58;transform:translate(-50%,1.8vh) scale(.98);filter:blur(1px)}
  100%{opacity:0;transform:translate(-50%,7.5vh) scale(.92);filter:blur(8px)}
}
@keyframes inRitualSlow121{
  0%,4%{opacity:0;transform:translate(-50%,10px) scale(.985);filter:blur(4px)}
  18%{opacity:.98;transform:translate(-50%,0) scale(1.04);filter:blur(0)}
  64%{opacity:.9;transform:translate(-50%,0) scale(1.01);filter:blur(0)}
  82%{opacity:.62;transform:translate(-50%,-1.6vh) scale(.985);filter:blur(1px)}
  100%{opacity:0;transform:translate(-50%,-7.8vh) scale(.92);filter:blur(8px)}
}
@keyframes holdRippleSlow121{
  0%{opacity:0;transform:translateX(-50%) scale(.32)}
  14%{opacity:.72}
  54%{opacity:.5}
  100%{opacity:0;transform:translateX(-50%) scale(13.5)}
}
@keyframes holdStarSlow121{
  0%,16%{opacity:.12;transform:scale(.68)}
  38%{opacity:.48;transform:scale(1.02)}
  58%{opacity:1;transform:scale(1.72)}
  76%{opacity:.56;transform:scale(1.1)}
  100%{opacity:.2;transform:scale(.88)}
}
@keyframes traceDownSlow121{
  0%{opacity:0;transform:translateY(-4vh) scaleY(.28)}
  18%{opacity:.36}
  62%{opacity:.3;transform:translateY(4.5vh) scaleY(1)}
  100%{opacity:0;transform:translateY(11vh) scaleY(.72)}
}
@keyframes traceUpSlow121{
  0%{opacity:0;transform:translateY(4vh) scaleY(.28)}
  18%{opacity:.36}
  62%{opacity:.3;transform:translateY(-4.5vh) scaleY(1)}
  100%{opacity:0;transform:translateY(-11vh) scaleY(.72)}
}

@media(max-width:700px){
  .holding-panel .holding-copy{
    margin-top:clamp(74px,9.5dvh,100px);
  }
  .holding-copy .kicker{
    font-size:10px;
    letter-spacing:.2em;
    max-width:300px;
    margin-bottom:12px;
    color:rgba(255,248,224,.8);
  }
  .holding-copy h2{
    font-size:clamp(41px,11vw,56px);
    line-height:.94;
  }
  .holding-panel .ritual{
    font-size:clamp(29px,8.4vw,40px);
    line-height:.98;
    letter-spacing:-.018em;
    width:74vw;
    max-width:312px;
    position:absolute;
    isolation:isolate;
  }
  .holding-panel .ritual::before,
  .holding-panel .ritual::after{
    content:"";
    position:absolute;
    left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:-1;
  }
  .holding-panel .ritual-in{
    top:30.5%!important;
    margin-left:8.3vw;
    color:rgba(255,249,234,.98);
    text-shadow:0 0 12px rgba(255,247,214,.34),0 0 30px rgba(255,221,150,.22),0 0 44px rgba(255,214,126,.16),0 3px 22px rgba(12,10,8,.24);
  }
  .holding-panel .ritual-in::before{
    width:136%;height:190%;background:radial-gradient(ellipse at center,rgba(255,248,224,.18) 0,rgba(255,237,176,.1) 34%,transparent 76%);filter:blur(12px);opacity:.8;
  }
  .holding-panel .ritual-go{
    top:70.5%!important;
    margin-left:-1.2vw;
    color:rgba(245,238,222,.88);
    text-shadow:0 0 14px rgba(255,240,205,.12),0 0 28px rgba(86,139,196,.16),0 3px 20px rgba(8,16,34,.24);
  }
  .holding-panel .ritual-go::before{
    width:148%;height:170%;background:radial-gradient(ellipse at center,rgba(255,244,220,.1) 0,rgba(77,120,180,.11) 34%,transparent 76%);filter:blur(12px);opacity:.76;
  }
  .holding-panel .holding-ripple{
    bottom:18.6%!important;
    width:44px;height:14px;border-color:rgba(255,240,168,.45);
  }
  .holding-panel .holding-star-response{
    top:10.2%!important;
    width:13px;height:13px;box-shadow:0 0 22px 9px rgba(255,240,168,.3);
  }
}

@media (prefers-reduced-motion:reduce){
  .holding-panel.ritual-running .holding-copy{animation:none!important;opacity:1!important;transform:none!important}
  .holding-panel.ritual-running .ritual-go,.holding-panel.ritual-running .ritual-in{filter:none!important}
}


/* Rev 122 — lighter, flicker-free digital wall permission screen. */
.phase-share .art-main,
.phase-share .art-sky-detail,
.phase-share .art-writing-wash,
.phase-share .art-writing-detail,
.phase-share .art-water-detail,
.phase-share .moving-light,
.phase-share .horizon-glow,
.phase-share .water-sheen,
.phase-share .water-ripples,
.phase-share .star-field,
.phase-share #fx,
.phase-share .geo,
.phase-share .geo::before,
.phase-share .geo::after{
  animation-play-state:paused!important;
  transition:none!important;
}
.phase-share .scene{transform:translateZ(0);backface-visibility:hidden}
.share-panel .flow-shell{
  width:min(920px,calc(100vw - 112px));
  padding:clamp(34px,4vw,54px) clamp(36px,4.2vw,60px);
  border:1px solid rgba(255,248,224,.12);
  border-radius:28px;
  background:linear-gradient(180deg,rgba(12,17,32,.48),rgba(8,13,27,.3));
  box-shadow:0 26px 88px rgba(3,7,18,.25),inset 0 1px 0 rgba(255,255,255,.035);
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  contain:layout paint;
  transform:translateZ(0);
  backface-visibility:hidden;
}
.share-panel .flow-shell>.kicker{
  margin-bottom:14px;
  color:rgba(255,248,224,.72);
}
.share-panel .flow-shell h2{
  max-width:780px;
  margin-bottom:18px;
}

.share-title-mobile{display:none}
.share-title-desktop{display:inline}
.share-panel .flow-intro{
  max-width:58ch;
  margin-bottom:30px;
  color:rgba(235,238,247,.76);
}
.share-panel .share-choices{
  grid-template-columns:1fr 1fr;
  gap:34px;
  margin:0;
}
.share-panel .phrase-choice{
  min-height:0;
  padding:8px 0 20px;
  border:0;
  border-bottom:1px solid rgba(255,248,224,.18);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  transition:border-color .35s ease,filter .35s ease;
  contain:layout paint;
}
.share-panel .phrase-choice.is-selected{
  border-bottom-color:rgba(232,90,10,.68);
}
.share-panel .choice-context{
  font-size:10px;
  letter-spacing:.21em;
  color:rgba(255,248,224,.58);
}
.share-panel .choice-phrase{
  min-height:100px;
  padding:20px 0 18px;
  align-items:center;
  font-size:clamp(36px,4vw,56px);
  line-height:.98;
  color:rgba(255,248,224,.96);
  text-shadow:0 0 24px rgba(255,248,224,.09);
  transition:color .35s ease,text-shadow .35s ease,transform .35s ease;
}
.share-panel .phrase-choice.is-selected .choice-phrase{
  color:#fff8e0;
  text-shadow:0 0 16px rgba(255,240,168,.3),0 0 42px rgba(232,90,10,.13);
  transform:translateY(-1px);
}
.share-panel .choice-control{
  align-items:center;
  gap:12px;
  color:rgba(255,248,224,.72);
}
.share-panel .choice-box{
  flex:0 0 20px;
  width:20px;
  height:20px;
  border:1px solid rgba(255,248,224,.42);
  border-radius:50%;
  background:rgba(255,255,255,.015);
  box-shadow:0 0 0 0 rgba(232,90,10,0);
  transition:border-color .28s ease,background .28s ease,box-shadow .28s ease,transform .28s ease;
}
.share-panel input:checked+.choice-box{
  border-color:rgba(255,240,168,.9);
  background:radial-gradient(circle at center,#fff0a8 0 28%,rgba(232,90,10,.72) 30% 46%,transparent 48%);
  box-shadow:0 0 16px rgba(232,90,10,.26);
  transform:scale(1.04);
}
.share-panel input:checked+.choice-box::after{display:none}
.share-panel .privacy-note{
  max-width:68ch;
  margin:24px 0 0;
  color:rgba(235,238,247,.66);
  font-size:12px;
  line-height:1.6;
}
.share-panel .flow-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  margin-top:24px;
}
.share-panel #shareButton{
  order:1;
  max-width:none;
  min-height:48px;
  font-size:14px;
  text-align:right;
  white-space:nowrap;
}
.share-panel #privateButton{
  order:2;
  min-height:38px;
  padding:4px 0;
  color:rgba(255,248,224,.52);
  font-size:11px;
  letter-spacing:.03em;
}
.share-panel #privateButton:hover,
.share-panel #privateButton:focus-visible{color:rgba(255,248,224,.82)}
.share-panel #shareButton:disabled{opacity:.28}

@media(max-width:900px) and (min-width:701px){
  .share-panel .flow-shell{width:min(760px,calc(100vw - 56px));padding:34px 38px}
  .share-panel .share-choices{gap:26px}
  .share-panel .choice-phrase{font-size:clamp(34px,5vw,48px)}
}


/* Rev 125 — slower, dreamlike Holding ritual with radiant environmental response. */
.holding-panel .holding-light-bridge,
.holding-panel .holding-water-aurora,
.holding-panel .holding-sky-aurora,
.holding-panel .holding-magic{position:absolute;pointer-events:none;opacity:0}
.holding-panel .holding-light-bridge{
  left:50%;top:8%;bottom:13%;width:4px;transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,251,238,0) 0%,rgba(255,246,212,.14) 10%,rgba(255,236,180,.42) 30%,rgba(255,222,146,.68) 48%,rgba(183,224,255,.48) 68%,rgba(255,246,224,.16) 88%,rgba(255,251,238,0) 100%);
  box-shadow:0 0 16px rgba(255,230,156,.16),0 0 26px rgba(134,198,255,.12);
  filter:blur(.6px);
  border-radius:999px;
  transform-origin:center;
}
.holding-panel .holding-sky-aurora{
  left:50%;top:12%;width:min(52vw,620px);height:min(28vw,300px);transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(255,250,229,.23),rgba(255,219,143,.14) 30%,rgba(153,178,255,.07) 55%,transparent 75%);
  filter:blur(18px);
}
.holding-panel .holding-water-aurora{
  left:50%;bottom:7%;width:min(64vw,760px);height:min(22vw,240px);transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(255,244,214,.18),rgba(103,167,226,.12) 32%,rgba(31,84,147,.12) 58%,transparent 80%);
  filter:blur(16px);
}
.holding-panel .holding-magic{left:50%;width:min(45vw,520px);height:28vh;transform:translateX(-50%);z-index:5}
.holding-panel .holding-magic-sky{top:5%}
.holding-panel .holding-magic-water{bottom:4%}
.holding-panel .holding-magic span{
  --x:0%;--y:0%;--d:0s;--s:1;
  position:absolute;left:50%;top:50%;width:5px;height:5px;border-radius:50%;
  background:rgba(255,252,232,.96);box-shadow:0 0 8px 3px rgba(255,236,173,.38),0 0 20px rgba(255,208,111,.18);
  transform:translate(var(--x),var(--y)) scale(var(--s));opacity:0;
}
.holding-panel .holding-magic-water span{background:rgba(228,244,255,.92);box-shadow:0 0 8px 3px rgba(166,211,255,.28),0 0 18px rgba(101,162,222,.2)}

.holding-panel.ritual-running .holding-copy{animation:holdingCopy125 14.30s ease both!important}
.holding-panel.ritual-running .ritual-in{animation:holdingInvite125 13.90s .65s cubic-bezier(.22,.61,.36,1) both!important}
.holding-panel.ritual-running .ritual-go{animation:holdingRelease125 13.73s 1s cubic-bezier(.22,.61,.36,1) both!important}
.holding-panel.ritual-running .holding-ripple{animation:holdingRipple125 10.38s 2.8s ease-out both!important}
.holding-panel.ritual-running .holding-star-response{animation:holdingStar125 8.45s 5.1s ease-in-out both!important}
.holding-panel.ritual-running .holding-light-bridge{animation:holdingBridge125 11.26s 2.4s ease-in-out both!important}
.holding-panel.ritual-running .holding-sky-aurora{animation:holdingAuroraSky125 11.62s 1.7s ease-in-out both!important}
.holding-panel.ritual-running .holding-water-aurora{animation:holdingAuroraWater125 11.62s 2s ease-in-out both!important}
.holding-panel.ritual-running .holding-magic-sky{animation:holdingMagicField125 11.88s 1.4s ease-in-out both!important}
.holding-panel.ritual-running .holding-magic-water{animation:holdingMagicField125 11.88s 1.8s ease-in-out both!important}
.holding-panel.ritual-running .holding-magic-sky span{animation:holdingSparkleSky125 4.93s var(--d) ease-in-out infinite}
.holding-panel.ritual-running .holding-magic-water span{animation:holdingSparkleWater125 5.46s var(--d) ease-in-out infinite}
.holding-panel.ritual-running .release-trace{animation:traceDown138 9.33s 3.15s cubic-bezier(.22,.61,.36,1) forwards!important}
.holding-panel.ritual-running .rise-trace{animation:traceUp138 9.33s 3.15s cubic-bezier(.22,.61,.36,1) forwards!important}
.holding-panel.ritual-running .trace-b{animation-delay:3.55s!important}
.holding-panel.ritual-running .trace-d{animation-delay:3.75s!important}

@keyframes holdingCopy125{
  0%{opacity:0;transform:translateY(12px)}
  6%{opacity:1;transform:none}
  76%{opacity:1;transform:none}
  91%{opacity:.55;transform:translateY(-4px)}
  100%{opacity:0;transform:translateY(-10px)}
}
@keyframes holdingInvite125{
  0%,6%{opacity:0;transform:translate(-50%,22vh) scale(.72);filter:blur(12px)}
  16%{opacity:.72;transform:translate(-50%,16vh) scale(.9);filter:blur(3px)}
  34%{opacity:1;transform:translate(-50%,8vh) scale(1.06);filter:blur(0)}
  52%{opacity:1;transform:translate(-50%,1vh) scale(1.03);filter:blur(0)}
  68%{opacity:.98;transform:translate(-50%,-4vh) scale(1);filter:blur(0)}
  80%{opacity:.88;transform:translate(-50%,-6.5vh) scale(.99);filter:blur(.4px)}
  92%{opacity:.42;transform:translate(-50%,-10vh) scale(.94);filter:blur(3px)}
  100%{opacity:0;transform:translate(-50%,-14vh) scale(.84);filter:blur(11px)}
}
@keyframes holdingRelease125{
  0%,7%{opacity:0;transform:translate(-50%,-23vh) scale(.8);filter:blur(10px)}
  18%{opacity:.86;transform:translate(-50%,-18vh) scale(.95);filter:blur(2px)}
  38%{opacity:.98;transform:translate(-50%,-9vh) scale(1.06);filter:blur(0)}
  57%{opacity:.94;transform:translate(-50%,-3vh) scale(1.02);filter:blur(0)}
  71%{opacity:.9;transform:translate(-50%,0) scale(1);filter:blur(0)}
  84%{opacity:.72;transform:translate(-50%,2.5vh) scale(.98);filter:blur(1px)}
  94%{opacity:.3;transform:translate(-50%,7vh) scale(.91);filter:blur(4px)}
  100%{opacity:0;transform:translate(-50%,13vh) scale(.82);filter:blur(12px)}
}
@keyframes holdingRipple125{
  0%{opacity:0;transform:translateX(-50%) scale(.22)}
  15%{opacity:.74}
  40%{opacity:.62;transform:translateX(-50%) scale(4.5)}
  70%{opacity:.38;transform:translateX(-50%) scale(9.5)}
  100%{opacity:0;transform:translateX(-50%) scale(16.5)}
}
@keyframes holdingStar125{
  0%,12%{opacity:.06;transform:scale(.45)}
  30%{opacity:.38;transform:scale(.92)}
  48%{opacity:1;transform:scale(2.55)}
  62%{opacity:.92;transform:scale(1.62)}
  80%{opacity:.42;transform:scale(1.02)}
  100%{opacity:.1;transform:scale(.76)}
}
@keyframes holdingBridge125{
  0%,8%{opacity:0;transform:translateX(-50%) scaleY(.18) scaleX(.7)}
  24%{opacity:.26;transform:translateX(-50%) scaleY(.5) scaleX(.9)}
  48%{opacity:.82;transform:translateX(-50%) scaleY(1) scaleX(1)}
  68%{opacity:.6;transform:translateX(-50%) scaleY(1.04) scaleX(1.02)}
  100%{opacity:0;transform:translateX(-50%) scaleY(.82) scaleX(.76)}
}
@keyframes holdingAuroraSky125{0%,8%{opacity:0;transform:translateX(-50%) scale(.72)}28%{opacity:.56;transform:translateX(-50%) scale(.92)}52%{opacity:.82;transform:translateX(-50%) scale(1.04)}74%{opacity:.66;transform:translateX(-50%) scale(1.08)}100%{opacity:0;transform:translateX(-50%) scale(1.22)}}
@keyframes holdingAuroraWater125{0%,8%{opacity:0;transform:translateX(-50%) scale(.7)}38%{opacity:.64;transform:translateX(-50%) scale(1)}70%{opacity:.48}100%{opacity:0;transform:translateX(-50%) scale(1.26)}}
@keyframes holdingMagicField125{0%,5%{opacity:0}22%{opacity:.85}74%{opacity:.72}100%{opacity:0}}
@keyframes holdingSparkleSky125{0%,100%{opacity:0;transform:translate(var(--x),calc(var(--y) + 18px)) scale(calc(var(--s)*.48))}24%{opacity:.82}54%{opacity:1;transform:translate(var(--x),calc(var(--y) - 8px)) scale(calc(var(--s)*1.02))}74%{opacity:.46;transform:translate(var(--x),calc(var(--y) - 26px)) scale(var(--s))}}
@keyframes holdingSparkleWater125{0%,100%{opacity:0;transform:translate(var(--x),calc(var(--y) - 10px)) scale(calc(var(--s)*.5))}30%{opacity:.72}66%{opacity:.35;transform:translate(var(--x),calc(var(--y) + 16px)) scale(var(--s))}}
@keyframes traceDown138{0%{opacity:0;transform:translateY(-3vh) scaleY(.25) rotate(0deg)}18%{opacity:.28}52%{opacity:.68;transform:translateY(5vh) scaleY(1)}78%{opacity:.34;transform:translateY(10vh) scaleY(1.06)}100%{opacity:0;transform:translateY(15vh) scaleY(.72)}}
@keyframes traceUp138{0%{opacity:0;transform:translateY(3vh) scaleY(.25) rotate(0deg)}18%{opacity:.28}52%{opacity:.68;transform:translateY(-5vh) scaleY(1)}78%{opacity:.34;transform:translateY(-10vh) scaleY(1.06)}100%{opacity:0;transform:translateY(-15vh) scaleY(.72)}}

@media(max-width:700px){
  .holding-panel .holding-magic{width:78vw;height:24vh}
  .holding-panel .holding-magic-sky{top:2%}
  .holding-panel .holding-magic-water{bottom:5%}
  .holding-panel .holding-sky-aurora{top:8%;width:88vw;height:28vh}
  .holding-panel .holding-water-aurora{bottom:4%;width:94vw;height:24vh}
  .holding-panel .holding-light-bridge{top:7%;bottom:13%;width:3px;border-radius:999px;filter:blur(.6px);box-shadow:0 0 14px rgba(255,226,140,.18),0 0 24px rgba(132,193,255,.14)}
}

@media(prefers-reduced-motion:reduce){
  .holding-panel .holding-light-bridge,
  .holding-panel .holding-water-aurora,
  .holding-panel .holding-sky-aurora,
  .holding-panel .holding-magic{display:none!important}
}


/* Rev 126 — required reflection validation and legible wall action states. */
.reflection-error{
  min-height:20px;
  margin:8px 0 0;
  color:rgba(255,214,175,.96);
  font:500 12px/1.45 Manrope,sans-serif;
  letter-spacing:.01em;
  text-shadow:0 2px 14px rgba(0,0,0,.45);
  opacity:0;
  transform:translateY(-3px);
  transition:opacity .22s ease,transform .22s ease;
}
.reflection-error:not(:empty){opacity:1;transform:none}
.prompt textarea.has-error{
  border-bottom-color:rgba(255,169,112,.95)!important;
  box-shadow:0 12px 28px -24px rgba(255,133,73,.9)!important;
}
.prompt textarea.has-error:focus{border-bottom-color:#ffb27f!important}

.share-panel #shareButton:disabled{
  opacity:.62!important;
  color:rgba(255,248,224,.72)!important;
  border-bottom-color:rgba(232,90,10,.48)!important;
  cursor:not-allowed;
  text-shadow:0 2px 16px rgba(0,0,0,.28);
}
.share-panel #shareButton:disabled::after{width:28%;opacity:.5}
.share-panel #shareButton.is-ready{
  opacity:1!important;
  color:rgba(255,248,224,1)!important;
  text-shadow:0 0 20px rgba(255,240,168,.16),0 2px 18px rgba(0,0,0,.35);
}


/* Rev 127 — stable compositing for Holding and email CTA hover. */
@media (hover:hover) and (pointer:fine) and (min-width:701px){
  .email-panel .flow-shell{
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:linear-gradient(180deg,rgba(17,20,35,.94),rgba(9,14,29,.94))!important;
    contain:paint;
    transform:translateZ(0);
  }
  .email-panel .text-action,
  .email-panel .quiet{
    transform:translateZ(0);
    backface-visibility:hidden;
    transition:color .24s ease,opacity .24s ease!important;
  }
  .email-panel .text-action::after{display:none!important}
  .email-panel .text-action:hover,
  .email-panel .text-action:focus-visible{
    color:#fff6d8!important;
    text-shadow:0 0 12px rgba(255,231,170,.18)!important;
  }
}


/* Rev 131 — digital wall reveal between email and completion. */
.wall-panel{display:block}
.wall-shell{position:relative;width:100%;height:100%}
.wall-copy{position:absolute;left:clamp(42px,5vw,90px);bottom:clamp(54px,9vh,102px);z-index:4;max-width:min(450px,34vw)}
.wall-copy h2{font-size:clamp(58px,6.4vw,88px);line-height:.92;margin-bottom:18px;max-width:10ch}
.wall-copy .flow-intro{max-width:36ch;margin-bottom:24px;color:rgba(244,241,234,.82)}
.wall-constellation{position:absolute;inset:0;z-index:2;pointer-events:none}
.wall-zone{position:absolute;left:0;right:0}
.wall-zone-sky{top:5%;height:38%}
.wall-zone-water{bottom:3%;height:42%}
.wall-word{position:absolute;display:inline-block;max-width:min(280px,22vw);padding:.08em .15em;white-space:normal;text-align:center;font:italic 500 clamp(26px,2.5vw,42px)/1 'Cormorant Garamond',serif;letter-spacing:.01em;opacity:.58;animation:wallWordFloat var(--dur,11s) ease-in-out infinite;animation-delay:var(--delay,0s);transform:translate(-50%,-50%)}
.wall-word-sky{color:rgba(255,246,226,.88);text-shadow:0 0 18px rgba(255,248,224,.12),0 0 48px rgba(164,205,255,.18)}
.wall-word-water{color:rgba(255,243,226,.78);text-shadow:0 0 14px rgba(255,226,162,.1),0 0 36px rgba(72,132,215,.18)}
.wall-word.is-featured{font-size:clamp(38px,3.6vw,62px);opacity:.98;color:#fff8ea;text-shadow:0 0 22px rgba(255,248,224,.34),0 0 70px rgba(255,190,118,.22);filter:drop-shadow(0 0 18px rgba(255,248,224,.2))}
.wall-word.is-featured.wall-word-sky::after,.wall-word.is-featured.wall-word-water::after{content:'';position:absolute;inset:52% auto auto 50%;width:140%;height:125%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,245,214,.18),rgba(255,245,214,0) 72%);z-index:-1}
.phase-wall .scene-overlay{background:linear-gradient(180deg,rgba(7,12,24,.16),rgba(7,12,24,.36) 38%,rgba(7,12,24,.54) 100%)}
.phase-wall .art-main{filter:brightness(.8) saturate(1.02)}
.phase-wall .water-sheen{opacity:.72}
.phase-wall .moving-light{opacity:.32}
@keyframes wallWordFloat{0%,100%{transform:translate(-50%,-50%) translate3d(0,0,0)}50%{transform:translate(-50%,-50%) translate3d(calc(var(--drift,10px)*.5),-10px,0)}}

/* Rev 132 — poetic digital wall refinement.
   Make the wall screen feel more installation-like and reduce flashing by
   using a calmer, more stable composition with slower motion. */
.phase-wall .art-main{
  animation:none!important;
  transform:scale(1.08) translate3d(0,2.2%,0)!important;
  filter:brightness(.8) saturate(1.08)!important;
}
.phase-wall .art-writing-wash,
.phase-wall .art-writing-detail,
.phase-wall .art-water-detail,
.phase-wall .art-sky-detail,
.phase-wall .geo,
.phase-wall .water-sheen,
.phase-wall .moving-light,
.phase-wall .horizon-glow{
  animation:none!important;
}
.phase-wall .art-writing-wash,
.phase-wall .art-writing-detail{opacity:0!important;visibility:hidden!important}
.phase-wall .art-water-detail{opacity:.14!important;transform:scale(1.08)!important}
.phase-wall .art-sky-detail{opacity:.14!important;transform:scale(1.04)!important}
.phase-wall .geo,
.phase-wall .water-sheen{opacity:0!important;visibility:hidden!important}
.phase-wall .scene-overlay{
  background:
    linear-gradient(90deg,rgba(9,13,26,.12) 0,rgba(9,13,26,.04) 20%,rgba(9,13,26,.04) 80%,rgba(9,13,26,.12) 100%),
    linear-gradient(180deg,rgba(8,12,24,.18),rgba(8,12,24,.04) 34%,rgba(8,12,24,.14) 58%,rgba(8,12,24,.52));
}
.phase-wall #fx{opacity:.84}

.wall-panel{display:block;overflow:hidden;padding:0}
.wall-shell{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate}
.wall-shell::before{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(circle at 50% 18%,rgba(255,245,224,.08),transparent 18%),
    radial-gradient(circle at 50% 79%,rgba(12,24,58,.18),transparent 30%),
    linear-gradient(180deg,rgba(9,13,26,.02),rgba(9,13,26,0) 20%,rgba(9,13,26,.08) 62%,rgba(9,13,26,.26));
}
.wall-atmosphere{
  position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;transform:translateY(10px);
  transition:opacity 1s var(--ease),transform 1.15s var(--ease);
}
.wall-aura,.wall-orbit{position:absolute;pointer-events:none}
.wall-aura-sky{
  left:50%;top:11%;width:min(54vw,760px);height:min(26vw,320px);transform:translateX(-50%);
  background:radial-gradient(circle,rgba(255,248,228,.16) 0,rgba(255,221,168,.08) 24%,rgba(136,188,255,.08) 54%,transparent 78%);
  opacity:.92;
}
.wall-aura-water{
  left:50%;bottom:6%;width:min(76vw,1100px);height:min(18vw,210px);transform:translateX(-50%);
  background:radial-gradient(ellipse at center,rgba(255,205,138,.11) 0,rgba(92,160,230,.08) 42%,transparent 78%);
  opacity:.88;
}
.wall-orbit{border:1px solid rgba(255,244,225,.12);border-radius:50%;opacity:.2}
.wall-orbit-a{left:50%;bottom:10%;width:min(68vw,980px);height:min(13vw,172px);transform:translateX(-50%)}
.wall-orbit-b{left:50%;top:10%;width:min(22vw,280px);height:min(22vw,280px);transform:translateX(-50%)}
.wall-header{
  position:absolute;left:50%;top:clamp(30px,5.6vh,58px);transform:translateX(-50%) translateY(14px);z-index:6;
  width:min(1040px,calc(100% - 120px));text-align:center;opacity:0;transition:opacity .95s var(--ease),transform 1.1s var(--ease);
}
.wall-header h2{
  margin:0;font:700 clamp(18px,1.55vw,24px)/1.18 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.22em;
  color:rgba(255,245,226,.94);text-shadow:0 6px 24px rgba(0,0,0,.22),0 0 18px rgba(255,245,226,.08);
}
.wall-intro{
  margin:14px auto 0;max-width:43ch;font-size:clamp(14px,1.05vw,16px);line-height:1.7;
  color:rgba(243,240,233,.82);text-shadow:0 4px 20px rgba(0,0,0,.2);
}
.wall-footer{
  position:absolute;left:50%;bottom:clamp(24px,5vh,46px);transform:translateX(-50%) translateY(14px);z-index:6;width:min(900px,calc(100% - 120px));
  display:flex;flex-direction:column;align-items:center;gap:14px;opacity:0;transition:opacity 1s var(--ease),transform 1.12s var(--ease);
}
.wall-note{
  margin:0;font-size:10px;line-height:1.5;letter-spacing:.22em;text-transform:uppercase;text-align:center;
  color:rgba(255,245,226,.54);max-width:42ch;
}
.wall-footer .text-action{
  padding-top:12px;border-bottom-color:rgba(232,90,10,.56);text-shadow:0 0 16px rgba(255,244,225,.09);font-size:clamp(26px,2vw,34px)
}
.wall-footer .text-action::after{background:linear-gradient(90deg,rgba(255,244,225,.26),rgba(232,90,10,.94),rgba(255,244,225,.22))}
.wall-constellation{
  position:absolute;inset:0;z-index:4;pointer-events:none;opacity:0;transition:opacity .9s ease .02s;
}
.wall-constellation::before{
  content:"";position:absolute;left:50%;top:15%;width:1px;height:34%;transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(255,248,224,0),rgba(255,248,224,.42) 18%,rgba(255,220,160,.16) 68%,rgba(255,220,160,0));
  opacity:.46;
}
.wall-constellation::after{
  content:"";position:absolute;left:50%;bottom:11.5%;width:min(70vw,1020px);height:min(14vw,178px);transform:translateX(-50%);
  border-radius:50%;border:1px solid rgba(255,244,225,.16);box-shadow:0 0 36px rgba(255,215,145,.06) inset;opacity:.3;
}
.wall-zone{position:absolute;left:0;right:0}
.wall-zone-sky{top:22%;height:18%}
.wall-zone-water{bottom:16%;height:22%}
.wall-word{
  position:absolute;display:inline-block;max-width:min(260px,18vw);padding:.06em .16em;white-space:normal;text-align:center;
  font:italic 500 clamp(28px,2.2vw,38px)/1.02 "Cormorant Garamond",serif;letter-spacing:.01em;
  transform:translate3d(-50%,-50%,0);opacity:.48;will-change:transform,opacity;backface-visibility:hidden;
  animation:wallWordDrift var(--dur,24s) ease-in-out infinite;
}
.wall-word-sky{color:rgba(255,246,227,.86);text-shadow:0 0 18px rgba(255,248,224,.12),0 0 38px rgba(136,188,255,.14)}
.wall-word-water{color:rgba(255,242,223,.8);text-shadow:0 0 14px rgba(255,223,170,.08),0 0 30px rgba(79,132,215,.16)}
.wall-word.is-featured{
  max-width:min(340px,24vw);font-size:clamp(44px,3.8vw,62px);opacity:1;color:#fff8eb;
  text-shadow:0 0 20px rgba(255,248,224,.24),0 0 60px rgba(255,193,128,.18);
  animation:wallWordFeaturedDrift var(--dur,28s) ease-in-out infinite;
}
.wall-word.is-featured::before{
  content:"";position:absolute;left:50%;top:50%;width:170%;height:150%;transform:translate(-50%,-50%);border-radius:999px;
  background:radial-gradient(circle,rgba(255,245,224,.14),rgba(255,245,224,.04) 36%,rgba(255,245,224,0) 72%);z-index:-1;
}
.wall-word.is-featured.wall-word-water::after{
  content:"";position:absolute;left:50%;top:108%;width:125%;height:2px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,241,214,.54),transparent);opacity:.44;
}
.wall-word.is-featured.wall-word-sky::after{
  content:"";position:absolute;left:50%;top:-12%;width:72%;height:2px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,rgba(255,241,214,.54),transparent);opacity:.34;
}
.wall-ready .wall-atmosphere{opacity:1;transform:none}
.wall-ready .wall-constellation{opacity:1}
.wall-ready .wall-header,
.wall-ready .wall-footer{opacity:1;transform:translateX(-50%) translateY(0)}
@keyframes wallWordDrift{
  0%,100%{transform:translate3d(calc(-50% + var(--x1,0px)),calc(-50% + var(--y1,0px)),0) rotate(var(--word-rot,0deg)) scale(var(--word-scale,1));opacity:var(--word-opacity,var(--o1,.45))}
  32%{transform:translate3d(calc(-50% + var(--x2,10px)),calc(-50% + var(--y2,-10px)),0) rotate(var(--word-rot,0deg)) scale(var(--word-scale,1));opacity:var(--word-opacity,var(--o2,.68))}
  66%{transform:translate3d(calc(-50% + var(--x3,-8px)),calc(-50% + var(--y3,7px)),0) rotate(var(--word-rot,0deg)) scale(var(--word-scale,1));opacity:var(--word-opacity,var(--o3,.54))}
}
@keyframes wallWordFeaturedDrift{
  0%,100%{transform:translate3d(calc(-50% + var(--fx1,0px)),calc(-50% + var(--fy1,0px)),0);opacity:1}
  38%{transform:translate3d(calc(-50% + var(--fx2,14px)),calc(-50% + var(--fy2,-12px)),0);opacity:1}
  72%{transform:translate3d(calc(-50% + var(--fx3,-12px)),calc(-50% + var(--fy3,10px)),0);opacity:.94}
}

/* Rev 154 — desktop living wall composition. */
.wall-header{
  top:clamp(4px,.7vh,8px)!important;
  width:min(1280px,calc(100% - 56px))!important;
  z-index:8!important;
}
.wall-header h2{
  font-weight:800!important;
  font-size:clamp(18px,1.42vw,24px)!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
.wall-intro{
  margin-top:6px!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(12px,.92vw,14px)!important;
  line-height:1.25!important;
  letter-spacing:.025em!important;
}
.wall-constellation{
  inset:0 2vw!important;
}
.wall-constellation::before{
  top:13%!important;
  height:36%!important;
  opacity:.34!important;
}
.wall-constellation::after{
  bottom:10.2%!important;
  width:min(76vw,1120px)!important;
  height:min(15vw,190px)!important;
  opacity:.22!important;
}
.wall-zone-sky{
  top:9%!important;
  height:28%!important;
}
.wall-zone-water{
  bottom:12%!important;
  height:30%!important;
}
.wall-word{
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(22px,1.82vw,34px)!important;
  line-height:1!important;
  transition:opacity .38s ease,filter .38s ease!important;
}
.wall-word.is-swapping{
  opacity:.16!important;
  filter:blur(2px)!important;
}
.wall-word.is-featured{
  max-width:none!important;
  white-space:nowrap!important;
  font-size:clamp(42px,3.4vw,60px)!important;
  opacity:1!important;
}
.wall-footer{
  bottom:clamp(18px,3.4vh,36px)!important;
  width:min(920px,calc(100% - 80px))!important;
}
.wall-note{
  display:none!important;
  max-width:48ch!important;
}


/* Rev 137 — non-overlapping living wall with curated spacing. */
.wall-word{padding:.02em .08em!important}
.wall-word-sky{color:rgba(255,247,229,.82)!important}
.wall-word-water{color:rgba(255,243,225,.74)!important}
.wall-word.is-featured{z-index:3!important;opacity:1!important;text-shadow:0 0 22px rgba(255,248,224,.25),0 0 56px rgba(255,193,128,.16)!important}
.wall-header{top:clamp(4px,.7vh,8px)!important}
.wall-footer{bottom:clamp(16px,3vh,32px)!important}


/* Rev 205 — increased ambient wall word visibility and arrival glow. */
.wall-word{
  opacity:1;
  filter:drop-shadow(0 0 10px rgba(8,14,28,.22));
}
.wall-word-sky{
  color:rgba(255,251,240,.96)!important;
  text-shadow:0 0 16px rgba(255,250,238,.22),0 0 36px rgba(142,197,255,.22)!important;
}
.wall-word-water{
  color:rgba(255,248,235,.92)!important;
  text-shadow:0 0 16px rgba(255,240,208,.2),0 0 32px rgba(97,149,224,.2)!important;
}
.wall-word.is-featured{
  text-shadow:0 0 24px rgba(255,248,224,.38),0 0 72px rgba(255,193,128,.24)!important;
}
/* Arrival glow — soft halo behind each incoming word */
.wall-word::before{
  content:"";
  position:absolute;
  inset:-30% -20%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,248,224,.12) 0,rgba(255,248,224,0) 70%);
  pointer-events:none;
  z-index:-1;
  opacity:0;
  animation:wallWordArrival var(--dur,24s) ease-in-out infinite;
}
.wall-word-sky::before{
  background:radial-gradient(circle,rgba(200,220,255,.14) 0,rgba(200,220,255,0) 70%);
}
@keyframes wallWordArrival{
  0%,100%{opacity:0}
  18%{opacity:.8}
  45%{opacity:.42}
  72%{opacity:.6}
}


/* Rev 263 — email signup invitation aligned with the seven-day commitment. */
.email-shell{
  width:min(760px,calc(100vw - 96px));
  padding:clamp(30px,3.2vw,46px) clamp(36px,4vw,56px);
}
.email-shell #emailJourneyHeadline{
  max-width:13ch;
  margin-bottom:16px;
  font-size:clamp(48px,5vw,70px);
  line-height:.94;
}
.email-kicker{margin-bottom:12px}
.email-delivery-intro,
.email-personal-note,
.email-question{
  margin:0;
  color:rgba(238,241,247,.82);
  font:400 15px/1.5 Manrope,sans-serif;
}
.email-delivery-intro{margin-bottom:10px}
.email-delivery-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 22px;
  margin:0 0 16px;
  padding:0;
  list-style:none;
}
.email-delivery-list li{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  color:rgba(255,248,229,.94);
  font:500 14px/1.35 Manrope,sans-serif;
}
.email-delivery-list li span:first-child{
  flex:0 0 22px;
  width:22px;
  text-align:center;
  font-size:17px;
  line-height:1;
}
.email-personal-note{max-width:60ch;margin-bottom:16px;color:rgba(238,241,247,.72)}
.email-question{margin-bottom:2px;font-weight:600;color:rgba(255,248,229,.96)}
.email-free-note{margin:3px 0 9px;color:rgba(255,255,255,.72);font:italic 400 .82rem/1.35 Manrope,sans-serif;letter-spacing:.005em}
.email-panel .email-free-note + .email-field{margin-top:0!important}
/* Rev 143 — compact email field, privacy reassurance, and artist opt-in spacing. */
.email-panel .email-field{margin-top:22px!important}
.email-panel .field-error{margin-top:4px!important;min-height:12px!important}
.email-panel .privacy-note{margin:4px 0 0!important;max-width:62ch!important}
.email-panel .news-choice{margin-top:10px!important}
.email-panel .flow-actions{margin-top:20px!important}


/* Rev 144 — correct email CTA visual hierarchy. */
.email-panel #skipEmailButton{
  color:rgba(231,233,239,.46)!important;
  font-weight:400!important;
  opacity:.78!important;
  text-shadow:none!important;
}

.email-panel #sendReflectionButton{
  color:rgba(255,250,237,.98)!important;
  font-weight:700!important;
  opacity:1!important;
  letter-spacing:.025em!important;
  text-shadow:0 0 18px rgba(255,245,220,.18)!important;
  border-bottom-color:rgba(232,90,10,.92)!important;
}

.email-panel #sendReflectionButton::after{
  width:100%!important;
  background:linear-gradient(90deg,rgba(232,90,10,.35),rgba(232,90,10,1),rgba(255,218,170,.42))!important;
}

.email-panel #sendReflectionButton:disabled{
  color:rgba(255,250,237,.66)!important;
  opacity:.72!important;
  cursor:not-allowed!important;
  border-bottom-color:rgba(232,90,10,.48)!important;
  text-shadow:0 0 14px rgba(255,245,220,.1)!important;
}

.email-panel #sendReflectionButton:not(:disabled){
  filter:drop-shadow(0 0 12px rgba(255,226,174,.12))!important;
}
/* Rev 207 — skip button disabled when artist news is selected */
.email-panel #skipEmailButton.skip-required,
.email-panel #skipEmailButton:disabled{
  opacity:.28!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}


/* Rev 145 — stable email focus and stronger reassurance placement. */
.email-panel .email-field{
  margin-bottom:0!important;
}

.email-panel .field-error{
  margin-bottom:0!important;
}

.email-panel .privacy-note{
  margin:1px 0 0!important;
  font-size:12px!important;
  line-height:1.42!important;
  color:rgba(238,241,247,.7)!important;
}

.experience.email-editing .email-panel,
.experience.email-editing .email-shell,
.experience.email-editing .email-field,
.experience.email-editing .email-field input{
  transform:translateZ(0)!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
  will-change:auto!important;
}

.experience.email-editing .scene,
.experience.email-editing .scene-overlay,
.experience.email-editing #fx,
.experience.email-editing .star-field,
.experience.email-editing .water-ripples{
  animation-play-state:paused!important;
}


/* Rev 146 — never expose the legacy handwriting layers during Invite-to-Holding handoff. */
.experience.invite-handoff-armed .art-writing-wash,
.experience.invite-handoff-armed .art-writing-detail,
.experience.invite-handoff-armed .art-water-detail,
.experience.invite-handoff-armed .art-sky-detail{
  opacity:0!important;
  visibility:hidden!important;
  animation:none!important;
  transition:none!important;
}


/* Rev 148 — remove redundant email-screen kicker and reclaim vertical space. */
.email-panel .email-shell{transform:translateY(-12px)}

/* Rev 149 — make the email input comfortably taller before focus. */
.email-panel .email-field input{
  min-height:58px!important;
  box-sizing:border-box!important;
  padding:12px 0 14px!important;
  line-height:1.08!important;
}


/* Rev 149 refinement — final screen now has one focused action. */
.completion-actions{gap:0!important}

/* Rev 150 — final screen rebuilt to match the mockup direction. */
.completion-panel{
  align-items:stretch;
}
.completion-shell-mockup{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  width:min(980px,calc(100vw - 120px));
  min-height:min(84vh,980px);
  margin:0 auto;
  padding:clamp(86px,10vh,126px) 0 clamp(54px,8vh,84px);
  gap:clamp(42px,6vh,72px);
}
.completion-topline{
  position:relative;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:end;
  gap:clamp(28px,4vw,64px);
  width:100%;
  padding:0 clamp(10px,2vw,24px);
}
.completion-axis-line{
  width:min(44vw,520px);
  height:1px;
  background:linear-gradient(90deg,rgba(255,242,190,.12),rgba(255,246,215,.78),rgba(255,242,190,.12));
  box-shadow:0 0 24px rgba(255,227,150,.22);
  align-self:center;
  margin-bottom:18px;
}
.completion-word{
  padding:0;
  border:0;
}
.completion-word-in{text-align:left;justify-self:start}
.completion-word-go{text-align:right;justify-self:end}
.completion-word span{
  display:block;
  margin:0 0 10px;
  font:600 10px/1.2 Manrope,sans-serif;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,248,224,.72);
}
.completion-word em{
  display:block;
  font:italic 500 clamp(42px,4.5vw,72px)/.95 "Cormorant Garamond",serif;
  color:rgba(255,248,224,.98);
  text-shadow:0 0 18px rgba(255,250,235,.12);
}
.completion-copy{
  width:min(860px,100%);
  max-width:100%;
}
.completion-copy .kicker{
  margin-bottom:18px;
}
.completion-copy h2{
  max-width:8.3ch;
  font-size:clamp(70px,9vw,126px);
  line-height:.9;
  margin:0 0 24px;
  text-wrap:balance;
}
.completion-status{
  display:grid;
  gap:14px;
  max-width:30ch;
  color:rgba(241,241,245,.9);
  font:400 clamp(18px,1.45vw,28px)/1.45 Manrope,sans-serif;
}
.completion-actions{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  margin-top:34px;
  width:min(760px,100%);
}
.artist-link-primary{
  display:flex;
  align-items:center;
  gap:18px;
  width:100%;
  padding:18px 4px 20px;
  border:0;
  border-top:1px solid rgba(255,243,194,.22);
  border-bottom:1px solid rgba(255,243,194,.55);
  background:none;
  color:rgba(255,246,225,.97);
  font:500 clamp(24px,2vw,42px)/1.1 "Cormorant Garamond",serif;
  text-align:left;
  cursor:pointer;
}
.artist-link-primary .artist-link-icon{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  flex:0 0 62px;
  border-radius:50%;
  border:1px solid rgba(255,234,160,.72);
  box-shadow:0 0 0 4px rgba(255,218,111,.08),0 0 28px rgba(255,222,145,.22);
  color:rgba(255,238,184,.98);
  font-size:28px;
}
.artist-link-primary .artist-link-label{
  flex:1;
  padding-left:8px;
}
.artist-link-primary .artist-link-arrow{
  flex:0 0 auto;
  font-size:clamp(28px,2.4vw,44px);
  line-height:1;
}
.artist-link-primary:hover,
.artist-link-primary:focus-visible{
  color:#fffaf1;
  border-bottom-color:rgba(255,244,201,.88);
}
.artist-link-primary:hover .artist-link-icon,
.artist-link-primary:focus-visible .artist-link-icon{
  box-shadow:0 0 0 4px rgba(255,218,111,.12),0 0 34px rgba(255,234,176,.28);
}



@keyframes artistCtaGlowPulse{
  0%,100%{
    transform:scale(1);
    filter:brightness(1) drop-shadow(0 0 0 rgba(255,226,139,0));
  }
  22%{
    transform:scale(1.03);
    filter:brightness(1.04) drop-shadow(0 0 10px rgba(255,225,140,.22));
  }
  45%{
    transform:scale(1.055);
    filter:brightness(1.1) drop-shadow(0 0 16px rgba(255,226,139,.34));
  }
  68%{
    transform:scale(1.025);
    filter:brightness(1.05) drop-shadow(0 0 8px rgba(255,226,139,.18));
  }
}
@keyframes artistCtaHaloPulse{
  0%,100%{
    opacity:.16;
    transform:scale(.92);
  }
  40%{
    opacity:.42;
    transform:scale(1.08);
  }
  65%{
    opacity:.12;
    transform:scale(1.2);
  }
}

/* Rev 157 — desktop-only holding refinement and share intro single-line polish.
   Mobile CSS is intentionally untouched. */
@media (min-width:701px){
  .share-panel .flow-intro{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(13px,.9vw,15px);
    line-height:1.45;
  }

  .holding-panel .holding-light-bridge{
    top:8%;
    bottom:14%;
    width:2px;
    border-radius:999px;
    background:linear-gradient(180deg,
      rgba(255,251,238,0) 0%,
      rgba(255,246,214,.08) 14%,
      rgba(255,234,176,.26) 34%,
      rgba(255,226,156,.46) 50%,
      rgba(182,223,255,.28) 70%,
      rgba(255,248,229,.08) 88%,
      rgba(255,251,238,0) 100%);
    box-shadow:0 0 8px rgba(255,230,156,.12),0 0 16px rgba(134,198,255,.08);
    filter:blur(.18px);
    overflow:visible;
  }
  .holding-panel .holding-light-bridge::before,
  .holding-panel .holding-light-bridge::after,
  .holding-panel .holding-sky-aurora::before,
  .holding-panel .holding-sky-aurora::after,
  .holding-panel .holding-water-aurora::before,
  .holding-panel .holding-water-aurora::after{
    content:"";
    position:absolute;
    pointer-events:none;
    opacity:0;
  }
  .holding-panel .holding-light-bridge::before{
    left:50%;
    top:-2%;
    bottom:-2%;
    width:12px;
    transform:translateX(-50%);
    border-radius:999px;
    background:linear-gradient(180deg,
      rgba(255,251,238,0) 0%,
      rgba(255,243,206,.05) 22%,
      rgba(185,223,255,.08) 52%,
      rgba(255,251,238,.04) 78%,
      rgba(255,251,238,0) 100%);
    filter:blur(5px);
    opacity:1;
  }
  .holding-panel .holding-light-bridge::after{
    left:50%;
    top:16%;
    bottom:16%;
    width:5px;
    transform:translateX(-50%);
    border-radius:999px;
    background:linear-gradient(180deg,
      rgba(255,251,238,0) 0%,
      rgba(255,239,191,.1) 28%,
      rgba(255,247,226,.26) 50%,
      rgba(182,223,255,.1) 72%,
      rgba(255,251,238,0) 100%);
    filter:blur(1.8px);
    opacity:.88;
  }
  .holding-panel .holding-sky-aurora,
  .holding-panel .holding-water-aurora{
    overflow:visible;
  }
  .holding-panel .holding-sky-aurora::before{
    left:50%;
    top:-8%;
    width:min(19vw,220px);
    height:min(7.2vw,84px);
    transform:translateX(-50%) scale(.66);
    border-radius:50%;
    border:1px solid rgba(255,239,191,.28);
    box-shadow:0 0 22px rgba(255,223,144,.18),0 0 34px rgba(145,189,255,.14), inset 0 0 16px rgba(255,245,214,.08);
    filter:blur(.3px);
  }
  .holding-panel .holding-sky-aurora::after{
    left:50%;
    top:-18%;
    width:min(26vw,320px);
    height:min(11vw,132px);
    transform:translateX(-50%) scale(.72);
    border-radius:50%;
    background:radial-gradient(ellipse at center,
      rgba(255,248,229,.18) 0%,
      rgba(255,227,155,.14) 24%,
      rgba(185,223,255,.12) 46%,
      rgba(149,156,255,.06) 62%,
      transparent 76%);
    filter:blur(12px);
  }
  .holding-panel .holding-water-aurora::before{
    left:50%;
    top:58%;
    width:min(18vw,210px);
    height:min(4vw,48px);
    transform:translateX(-50%) scale(.8,.42);
    border-radius:50%;
    border:1px solid rgba(190,229,255,.22);
    box-shadow:0 0 16px rgba(164,214,255,.12), inset 0 0 12px rgba(217,241,255,.06);
  }
  .holding-panel .holding-water-aurora::after{
    left:50%;
    top:42%;
    width:min(28vw,330px);
    height:min(8vw,96px);
    transform:translateX(-50%) scale(.74,.52);
    border-radius:50%;
    background:radial-gradient(ellipse at center,
      rgba(225,244,255,.12) 0%,
      rgba(103,167,226,.12) 30%,
      rgba(31,84,147,.09) 56%,
      transparent 74%);
    filter:blur(10px);
  }

  .holding-panel.ritual-running .ritual-in{animation:desktopHoldingInvite188 12.54s .55s linear both!important}
  .holding-panel.ritual-running .ritual-go{animation:desktopHoldingRelease188 12.36s .85s linear both!important}
  .holding-panel.ritual-running .holding-ripple{animation:desktopHoldRipple157 10.38s 2.8s ease-out both!important}
  .holding-panel.ritual-running .holding-light-bridge{animation:desktopHoldingWhisper157 11.26s 2.45s ease-in-out both!important}
  .holding-panel.ritual-running .release-trace{animation:desktopTraceDown157 9.33s 3.15s cubic-bezier(.2,.64,.34,1) forwards!important}
  .holding-panel.ritual-running .rise-trace{animation:desktopTraceUp157 9.33s 3.15s cubic-bezier(.2,.64,.34,1) forwards!important}
  .holding-panel.ritual-running .holding-sky-aurora::before{animation:desktopSkyPortalRing157 5.10s 8.10s ease-out both}
  .holding-panel.ritual-running .holding-sky-aurora::after{animation:desktopSkyPortalGlow157 5.46s 7.83s ease-out both}
  .holding-panel.ritual-running .holding-water-aurora::before{animation:desktopWaterPortalRing157 4.58s 7.92s ease-out both}
  .holding-panel.ritual-running .holding-water-aurora::after{animation:desktopWaterPortalGlow157 4.93s 7.74s ease-out both}

  .holding-panel .ritual-in{
    color:rgba(255,251,235,.99)!important;
    text-shadow:0 0 10px rgba(255,255,255,.52),0 0 28px rgba(255,232,164,.58),0 0 62px rgba(255,200,96,.26),0 5px 26px rgba(23,13,4,.38)!important;
  }
  .holding-panel .ritual-go{
    color:rgba(248,244,232,.97)!important;
    text-shadow:0 0 10px rgba(255,246,219,.3),0 0 30px rgba(112,181,242,.36),0 0 64px rgba(55,120,198,.22),0 8px 30px rgba(3,10,24,.48)!important;
  }
  @keyframes desktopHoldingInvite188{
    0%{opacity:0;transform:translate3d(-50%,22vh,0) scale(.72);filter:blur(11px)}
    10%{opacity:.42;transform:translate3d(-50%,18.5vh,0) scale(.82);filter:blur(5px)}
    22%{opacity:.82;transform:translate3d(-50%,13.2vh,0) scale(.93);filter:blur(1.5px)}
    36%{opacity:1;transform:translate3d(-50%,7.5vh,0) scale(1.045);filter:blur(0)}
    52%{opacity:1;transform:translate3d(-50%,1.2vh,0) scale(1.025);filter:blur(0)}
    68%{opacity:.97;transform:translate3d(-50%,-4.8vh,0) scale(1);filter:blur(0)}
    82%{opacity:.78;transform:translate3d(-50%,-10.2vh,0) scale(.955);filter:blur(1px)}
    92%{opacity:.38;transform:translate3d(-50%,-15.8vh,0) scale(.82);filter:blur(4px)}
    100%{opacity:0;transform:translate3d(-50%,-22vh,0) scale(.58);filter:blur(11px)}
  }
  @keyframes desktopHoldingRelease188{
    0%{opacity:0;transform:translate3d(-50%,-23vh,0) scale(.8);filter:blur(10px)}
    10%{opacity:.42;transform:translate3d(-50%,-20vh,0) scale(.87);filter:blur(5px)}
    23%{opacity:.86;transform:translate3d(-50%,-15.2vh,0) scale(.96);filter:blur(1.5px)}
    38%{opacity:1;transform:translate3d(-50%,-9vh,0) scale(1.05);filter:blur(0)}
    54%{opacity:.98;transform:translate3d(-50%,-3.4vh,0) scale(1.025);filter:blur(0)}
    70%{opacity:.92;transform:translate3d(-50%,1.1vh,0) scale(1);filter:blur(0)}
    83%{opacity:.7;transform:translate3d(-50%,5.3vh,0) scale(.95);filter:blur(1px)}
    93%{opacity:.34;transform:translate3d(-50%,10.3vh,0) scale(.8);filter:blur(4px)}
    100%{opacity:0;transform:translate3d(-50%,16.2vh,0) scale(.58);filter:blur(11px)}
  }
  @keyframes desktopHoldingInvite157{
    0%,6%{opacity:0;transform:translate(-50%,22vh) scale(.72);filter:blur(12px)}
    16%{opacity:.72;transform:translate(-50%,16vh) scale(.9);filter:blur(3px)}
    34%{opacity:1;transform:translate(-50%,8vh) scale(1.055);filter:blur(0)}
    52%{opacity:1;transform:translate(-50%,1vh) scale(1.025);filter:blur(0)}
    68%{opacity:.98;transform:translate(-50%,-4.2vh) scale(1);filter:blur(0)}
    80%{opacity:.9;transform:translate(-50%,-7.8vh) scale(.985);filter:blur(.4px)}
    90%{opacity:.52;transform:translate(-50%,-12.8vh) scale(.9);filter:blur(2px)}
    96%{opacity:.18;transform:translate(-50%,-17vh) scale(.74);filter:blur(5px)}
    100%{opacity:0;transform:translate(-50%,-21vh) scale(.58);filter:blur(12px)}
  }
  @keyframes desktopHoldingRelease157{
    0%,7%{opacity:0;transform:translate(-50%,-23vh) scale(.8);filter:blur(10px)}
    18%{opacity:.86;transform:translate(-50%,-18vh) scale(.95);filter:blur(2px)}
    38%{opacity:.98;transform:translate(-50%,-9vh) scale(1.06);filter:blur(0)}
    57%{opacity:.94;transform:translate(-50%,-3vh) scale(1.02);filter:blur(0)}
    71%{opacity:.9;transform:translate(-50%,0) scale(1);filter:blur(0)}
    84%{opacity:.74;transform:translate(-50%,3.2vh) scale(.98);filter:blur(.6px)}
    92%{opacity:.36;transform:translate(-50%,8vh) scale(.88);filter:blur(2px)}
    97%{opacity:.14;transform:translate(-50%,12.4vh) scale(.72);filter:blur(5px)}
    100%{opacity:0;transform:translate(-50%,15.8vh) scale(.58);filter:blur(12px)}
  }
  @keyframes desktopHoldRipple157{
    0%{opacity:0;transform:translateX(-50%) scale(.18)}
    14%{opacity:.72}
    38%{opacity:.62;transform:translateX(-50%) scale(4.8)}
    68%{opacity:.32;transform:translateX(-50%) scale(10.4)}
    100%{opacity:0;transform:translateX(-50%) scale(17.4)}
  }
  @keyframes desktopHoldingWhisper157{
    0%,8%{opacity:0;transform:translateX(-50%) scaleY(.16) scaleX(.72)}
    24%{opacity:.18;transform:translateX(-50%) scaleY(.5) scaleX(.9)}
    48%{opacity:.44;transform:translateX(-50%) scaleY(1) scaleX(1)}
    68%{opacity:.3;transform:translateX(-50%) scaleY(1.03) scaleX(.98)}
    100%{opacity:0;transform:translateX(-50%) scaleY(.8) scaleX(.72)}
  }
  @keyframes desktopTraceDown157{
    0%{opacity:0;transform:translateY(-3vh) scaleY(.25) rotate(0deg)}
    18%{opacity:.24}
    52%{opacity:.58;transform:translateY(5vh) scaleY(1)}
    78%{opacity:.28;transform:translateY(10vh) scaleY(1.03)}
    100%{opacity:0;transform:translateY(15vh) scaleY(.62)}
  }
  @keyframes desktopTraceUp157{
    0%{opacity:0;transform:translateY(3vh) scaleY(.25) rotate(0deg)}
    18%{opacity:.24}
    52%{opacity:.58;transform:translateY(-5vh) scaleY(1)}
    78%{opacity:.28;transform:translateY(-10vh) scaleY(1.03)}
    100%{opacity:0;transform:translateY(-15.8vh) scaleY(.62)}
  }
  @keyframes desktopSkyPortalRing157{
    0%{opacity:0;transform:translateX(-50%) scale(.64);filter:blur(.3px)}
    24%{opacity:.34;transform:translateX(-50%) scale(.88);filter:blur(.25px)}
    52%{opacity:.82;transform:translateX(-50%) scale(1.02);filter:blur(.18px)}
    78%{opacity:.4;transform:translateX(-50%) scale(1.14);filter:blur(.24px)}
    100%{opacity:0;transform:translateX(-50%) scale(1.24);filter:blur(.36px)}
  }
  @keyframes desktopSkyPortalGlow157{
    0%{opacity:0;transform:translateX(-50%) scale(.72);filter:blur(14px)}
    28%{opacity:.28;transform:translateX(-50%) scale(.92);filter:blur(12px)}
    56%{opacity:.62;transform:translateX(-50%) scale(1.06);filter:blur(10px)}
    82%{opacity:.24;transform:translateX(-50%) scale(1.16);filter:blur(13px)}
    100%{opacity:0;transform:translateX(-50%) scale(1.26);filter:blur(16px)}
  }
  @keyframes desktopWaterPortalRing157{
    0%{opacity:0;transform:translateX(-50%) scale(.8,.42)}
    24%{opacity:.22;transform:translateX(-50%) scale(.96,.56)}
    54%{opacity:.46;transform:translateX(-50%) scale(1.08,.72)}
    82%{opacity:.18;transform:translateX(-50%) scale(1.18,.84)}
    100%{opacity:0;transform:translateX(-50%) scale(1.28,.92)}
  }
  @keyframes desktopWaterPortalGlow157{
    0%{opacity:0;transform:translateX(-50%) scale(.76,.54);filter:blur(12px)}
    30%{opacity:.2;transform:translateX(-50%) scale(.94,.72);filter:blur(10px)}
    58%{opacity:.34;transform:translateX(-50%) scale(1.08,.9);filter:blur(9px)}
    84%{opacity:.14;transform:translateX(-50%) scale(1.18,1);filter:blur(10px)}
    100%{opacity:0;transform:translateX(-50%) scale(1.28,1.08);filter:blur(12px)}
  }
}


/* Rev 158 — Grant portrait replacement and desktop-only privacy note line fit. */
@media (min-width:701px){
  .share-panel .privacy-note{
    max-width:none!important;
    width:100%!important;
    white-space:nowrap!important;
    font-size:clamp(10px,.72vw,12px)!important;
    line-height:1.4!important;
  }
}


/* Rev 159 — isolate the Share-to-Email handoff so no outgoing panel or partial
   email layout can flash during the transition. */
.experience.email-handoff .share-panel{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  transition:none!important;
}
.experience.email-handoff .email-panel.active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  transition:none!important;
}
.experience.email-handoff .email-shell{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(-12px)!important;
  transition:none!important;
}
@media(max-width:700px){
  .experience.email-handoff .email-shell{transform:none!important}
}


/* Rev 160 — desktop-only stable interaction compositing for the share screen.
   Prevents full-screen flashes when selecting phrases or hovering CTAs. */
@media (min-width:701px){
  .phase-share .scene,
  .phase-share .art,
  .phase-share .scene-overlay,
  .share-panel,
  .share-panel .flow-shell{
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }

  .share-panel .flow-shell{
    isolation:isolate;
    contain:layout paint;
    transform:translateZ(0);
    will-change:auto;
  }

  .share-panel .phrase-choice,
  .share-panel .choice-phrase,
  .share-panel .choice-box,
  .share-panel #shareButton,
  .share-panel #privateButton,
  .share-panel .text-action::after{
    transition:none!important;
    animation:none!important;
    filter:none!important;
  }

  .share-panel .phrase-choice{
    transform:none!important;
    will-change:auto!important;
  }

  .share-panel .phrase-choice.is-selected{
    border-bottom-color:rgba(232,90,10,.76)!important;
    transform:none!important;
    filter:none!important;
  }

  .share-panel .choice-phrase,
  .share-panel .phrase-choice.is-selected .choice-phrase{
    transform:none!important;
    text-shadow:none!important;
  }

  .share-panel .choice-box,
  .share-panel input:checked + .choice-box{
    box-shadow:none!important;
    transform:none!important;
  }

  .share-panel input:checked + .choice-box{
    border-color:rgba(255,240,168,.92)!important;
    background:radial-gradient(circle at center,#fff0a8 0 28%,rgba(232,90,10,.72) 30% 46%,transparent 48%)!important;
  }

  .share-panel #shareButton::after,
  .share-panel #privateButton::after{
    display:none!important;
    width:0!important;
  }

  .share-panel #shareButton,
  .share-panel #privateButton{
    transform:none!important;
    text-shadow:none!important;
    will-change:auto!important;
  }

  .share-panel #shareButton:hover,
  .share-panel #shareButton.is-ready:hover{
    color:#fffaf0!important;
    border:1px solid rgba(244,121,45,.72)!important;
    border-bottom-color:rgba(244,121,45,.95)!important;
    background:linear-gradient(180deg,rgba(244,121,45,.17),rgba(232,90,10,.08))!important;
    transform:none!important;
    filter:none!important;
    text-shadow:none!important;
    box-shadow:none!important;
  }

  .share-panel #privateButton:hover{
    color:rgba(255,248,229,.9)!important;
    border:1px solid rgba(255,244,214,.42)!important;
    background:rgba(255,249,235,.03)!important;
    transform:none!important;
    filter:none!important;
    text-shadow:none!important;
    box-shadow:none!important;
  }

  .share-panel #shareButton:focus-visible,
  .share-panel #shareButton.is-ready:focus-visible,
  .share-panel #privateButton:focus-visible{
    outline:2px solid rgba(255,240,168,.78)!important;
    outline-offset:3px!important;
  }
}

/* Rev 207 — consent row must remain fully interactive regardless of Rev 160 overrides */
.share-consent-row{
  pointer-events:auto!important;
  cursor:pointer!important;
  position:relative!important;
  z-index:10!important;
}
.share-consent-row .choice-box{
  transition:border-color .18s ease,background .18s ease!important;
  animation:none!important;
  filter:none!important;
  transform:none!important;
}
.share-consent-row input:checked+.choice-box{
  border-color:rgba(255,240,168,.95)!important;
  background:rgba(255,240,168,.18)!important;
}
.share-consent-row input:checked+.choice-box::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:5px!important;top:2px!important;width:6px!important;height:10px!important;
  border:solid #fff0a8!important;border-width:0 2px 2px 0!important;
  transform:rotate(45deg)!important;
}


/* Rev 161 — desktop-only clean Share-to-Email switch and translucent email card.
   Mobile styling and transition behavior are intentionally unchanged. */
@media (min-width:701px){
  .email-panel,
  .email-panel.active,
  .email-panel .email-shell{
    transition:none!important;
    animation:none!important;
  }

  .email-panel .flow-shell,
  .email-panel .email-shell{
    background:linear-gradient(180deg,rgba(12,19,38,.62),rgba(10,16,31,.34))!important;
    border-color:rgba(255,248,224,.16)!important;
    box-shadow:0 28px 90px rgba(2,6,18,.28)!important;
    backdrop-filter:blur(12px) saturate(108%)!important;
    -webkit-backdrop-filter:blur(12px) saturate(108%)!important;
    contain:none!important;
    transform:translateY(-12px)!important;
    backface-visibility:visible!important;
  }

  .experience.email-handoff .share-panel,
  .experience.email-handoff .email-panel,
  .experience.email-handoff .email-shell{
    transition:none!important;
  }
}


/* Rev 162 — verified desktop Share-to-Email direct swap.
   This is desktop-only. Mobile CSS and the mobile handoff are unchanged. */
@media (min-width:701px){
  .experience.desktop-email-entry .panel{
    transition:none!important;
    animation:none!important;
  }
  .experience.desktop-email-entry .panel:not(.email-panel){
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .experience.desktop-email-entry .email-panel.active{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  .experience.desktop-email-entry .email-shell{
    opacity:1!important;
    visibility:visible!important;
    transform:translateY(-12px)!important;
    transition:none!important;
    animation:none!important;
  }

  .email-panel .flow-shell,
  .email-panel .email-shell{
    background:linear-gradient(180deg,rgba(12,19,38,.46),rgba(10,16,31,.24))!important;
    border-color:rgba(255,248,224,.15)!important;
    box-shadow:0 24px 82px rgba(2,6,18,.22)!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
}


/* Rev 163 — verified desktop email-screen interaction stability.
   Keep the email panel isolated for its full lifetime and prevent the artist
   opt-in control from rebuilding full-screen composited layers. Mobile is untouched. */
@media (min-width:701px){
  .experience.phase-email.desktop-email-entry .scene,
  .experience.phase-email.desktop-email-entry .art,
  .experience.phase-email.desktop-email-entry .scene-overlay,
  .experience.phase-email.desktop-email-entry #fx,
  .experience.phase-email.desktop-email-entry .moving-light,
  .experience.phase-email.desktop-email-entry .horizon-glow,
  .experience.phase-email.desktop-email-entry .water-sheen,
  .experience.phase-email.desktop-email-entry .water-ripples,
  .experience.phase-email.desktop-email-entry .star-field,
  .experience.phase-email.desktop-email-entry .ink-edge,
  .experience.phase-email.desktop-email-entry .geo,
  .experience.phase-email.desktop-email-entry .geo::before,
  .experience.phase-email.desktop-email-entry .geo::after{
    animation-play-state:paused!important;
    transition:none!important;
    will-change:auto!important;
  }

  .experience.phase-email.desktop-email-entry .email-panel,
  .experience.phase-email.desktop-email-entry .email-shell,
  .experience.phase-email.desktop-email-entry .email-shell > *,
  .experience.phase-email.desktop-email-entry #emailJourneyHeadline,
  .experience.phase-email.desktop-email-entry .email-journey-intro,
  .experience.phase-email.desktop-email-entry .email-journey-body,
  .experience.phase-email.desktop-email-entry .email-field,
  .experience.phase-email.desktop-email-entry .privacy-note,
  .experience.phase-email.desktop-email-entry .news-choice,
  .experience.phase-email.desktop-email-entry .flow-actions{
    opacity:1!important;
    visibility:visible!important;
    animation:none!important;
    transition:none!important;
    filter:none!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    will-change:auto!important;
  }

  .experience.phase-email.desktop-email-entry .email-shell{
    contain:none!important;
    isolation:isolate;
    transform:translateY(-12px)!important;
  }

  .email-panel .news-choice{
    position:relative;
    transform:none!important;
    text-shadow:none!important;
    outline:none;
    user-select:none;
    -webkit-user-select:none;
  }
  .email-panel .news-choice:hover,
  .email-panel .news-choice:focus-visible,
  .email-panel .news-choice:active{
    transform:none!important;
    filter:none!important;
    text-shadow:none!important;
    color:rgba(255,248,224,.82)!important;
  }
  .email-panel .news-choice .choice-box,
  .email-panel .news-choice .choice-box::after{
    transition:none!important;
    animation:none!important;
    filter:none!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .email-panel .news-choice.is-selected .choice-box,
  .email-panel .news-choice input:checked + .choice-box{
    border-color:rgba(255,240,168,.92)!important;
    background:rgba(255,240,168,.12)!important;
  }
  .email-panel .news-choice.is-selected .choice-box::after,
  .email-panel .news-choice input:checked + .choice-box::after{
    content:""!important;
    display:block!important;
    position:absolute!important;
    left:5px!important;
    top:2px!important;
    width:5px!important;
    height:9px!important;
    border:solid #fff0a8!important;
    border-width:0 2px 2px 0!important;
    transform:rotate(45deg)!important;
  }

  .email-panel #sendReflectionButton,
  .email-panel #skipEmailButton,
  .email-panel #sendReflectionButton::after,
  .email-panel #skipEmailButton::after{
    transition:none!important;
    animation:none!important;
    filter:none!important;
    transform:none!important;
    will-change:auto!important;
  }
}


/* Rev 164 — desktop-only final screen refresh and stable artist link hover. */
@media (min-width:701px){
  .completion-panel{
    align-items:center;
  }
  .completion-shell-mockup{
    justify-content:flex-start;
    width:min(960px,calc(100vw - 120px));
    min-height:auto;
    margin:0 auto;
    padding:clamp(42px,6vh,72px) 0 clamp(42px,6vh,68px);
    gap:clamp(24px,3.6vh,40px);
  }
  .completion-topline{
    gap:clamp(18px,2.5vw,34px);
    padding:0;
    align-items:center;
  }
  .completion-axis-line{
    width:min(26vw,300px);
    margin-bottom:0;
    opacity:.82;
  }
  .completion-word{
    max-width:min(32vw,340px);
  }
  .completion-word span{
    margin:0 0 8px;
    font-size:9px;
    letter-spacing:.24em;
  }
  .completion-word em{
    font-size:clamp(28px,3vw,46px);
    line-height:1.02;
    text-wrap:balance;
    overflow-wrap:anywhere;
  }
  .completion-copy{
    width:min(760px,100%);
  }
  .completion-copy .kicker{
    margin-bottom:14px;
  }
  .completion-copy h2{
    max-width:9.5ch;
    margin:0 0 18px;
    font-size:clamp(54px,6.4vw,86px);
    line-height:.92;
    letter-spacing:-.02em;
  }
  .completion-status{
    gap:10px;
    max-width:34ch;
    font-size:clamp(16px,1.2vw,22px);
    line-height:1.5;
  }
  .completion-actions{
    width:min(820px,100%);
    margin-top:24px;
  }
  .artist-link-primary{
    display:grid;
    grid-template-columns:62px minmax(0,1fr) auto;
    align-items:center;
    gap:16px;
    padding:16px 4px 18px;
    width:100%;
    font-size:clamp(20px,1.8vw,30px);
    line-height:1.08;
    white-space:nowrap;
    transition:border-color .18s ease,color .18s ease,background-color .18s ease;
    will-change:auto;
  }
  .artist-link-primary .artist-link-label{
    white-space:nowrap;
  }
  .artist-link-primary .artist-link-icon{
    width:56px;
    height:56px;
    flex-basis:56px;
    font-size:24px;
    box-shadow:none;
    background:rgba(255,240,188,.04);
    transition:border-color .18s ease,color .18s ease,background-color .18s ease;
  }
  .artist-link-primary .artist-link-arrow{
    font-size:clamp(24px,2vw,34px);
  }
  .artist-link-primary:hover,
  .artist-link-primary:focus-visible{
    color:#fffaf1;
    border-top-color:rgba(255,244,201,.34);
    border-bottom-color:rgba(255,244,201,.78);
    background:rgba(255,249,235,.02);
  }
  .artist-link-primary:hover .artist-link-icon,
  .artist-link-primary:focus-visible .artist-link-icon{
    box-shadow:none;
    border-color:rgba(255,234,160,.88);
    background:rgba(255,240,188,.08);
  }
}


/* Rev 165 — desktop-only single-surface Release-to-Let-In handoff. */
@media (min-width:701px){
  .experience.desktop-release-return.strict-panel-isolation .letin-panel.active{
    display:grid!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .experience.desktop-release-return .release-video-end-bridge{
    z-index:18;
    opacity:1;
    visibility:visible;
    transition:none;
    transform:translateZ(0) scale(1.001);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    contain:strict;
  }
  .experience.desktop-release-return .release-video{
    z-index:17;
    transition:none!important;
    transform:translateZ(0) scale(1.001);
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
  }
  .experience.desktop-release-return.desktop-release-scene-ready .scene,
  .experience.desktop-release-return.desktop-release-scene-ready .letin-panel{
    opacity:1!important;
    visibility:visible!important;
    transform:translateZ(0)!important;
    backface-visibility:hidden;
    -webkit-backface-visibility:hidden;
    contain:layout paint;
  }
  .experience.desktop-release-return.release-end-dissolve .release-video-end-bridge{
    opacity:0;
    visibility:hidden;
    transition:opacity 1.18s cubic-bezier(.22,.61,.36,1),visibility 0s linear 1.18s;
  }
  .experience.desktop-release-return .letin-prompt,
  .experience.desktop-release-return .letin-input-wrap,
  .experience.desktop-release-return .letin-panel .prompt-actions,
  .experience.desktop-release-return .zone-sky{
    opacity:0!important;
    visibility:visible!important;
    transform:translateY(7px)!important;
    transition:opacity .58s ease,transform .58s ease!important;
  }
  .experience.desktop-release-return.release-ui-reveal .letin-prompt,
  .experience.desktop-release-return.release-ui-reveal .letin-input-wrap,
  .experience.desktop-release-return.release-ui-reveal .letin-panel .prompt-actions,
  .experience.desktop-release-return.release-ui-reveal .zone-sky{
    opacity:1!important;
    transform:none!important;
  }
  .experience.desktop-release-return.release-ui-settled .letin-prompt,
  .experience.desktop-release-return.release-ui-settled .letin-input-wrap,
  .experience.desktop-release-return.release-ui-settled .letin-panel .prompt-actions,
  .experience.desktop-release-return.release-ui-settled .zone-sky{
    transition:none!important;
    will-change:auto!important;
  }
}

/* Rev 166 — desktop-only final screen hard reset after Rev 164 clipping regression. */
@media (min-width:701px){
  .result-panel.completion-panel{
    display:grid!important;
    place-items:center!important;
    padding:64px 32px 44px!important;
    overflow:visible!important;
  }
  .result-panel .completion-shell-mockup{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    width:min(1040px,calc(100vw - 96px))!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    padding:0!important;
    gap:clamp(24px,3.2vh,36px)!important;
    overflow:visible!important;
  }
  .result-panel .completion-topline{
    flex:0 0 auto!important;
    display:grid!important;
    grid-template-columns:minmax(180px,1fr) minmax(150px,260px) minmax(180px,1fr)!important;
    align-items:center!important;
    width:100%!important;
    gap:clamp(20px,3vw,42px)!important;
    padding:0!important;
    overflow:visible!important;
  }
  .result-panel .completion-word{
    width:100%!important;
    max-width:360px!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .result-panel .completion-word-in{justify-self:start!important;text-align:left!important}
  .result-panel .completion-word-go{justify-self:end!important;text-align:right!important}
  .result-panel .completion-word span{
    margin:0 0 7px!important;
    font-size:9px!important;
    line-height:1.2!important;
    letter-spacing:.22em!important;
  }
  .result-panel .completion-word em{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(30px,3vw,46px)!important;
    line-height:1.04!important;
    white-space:normal!important;
    overflow:visible!important;
    overflow-wrap:anywhere!important;
    text-wrap:balance!important;
  }
  .result-panel .completion-axis-line{
    width:100%!important;
    max-width:260px!important;
    margin:0!important;
  }
  .result-panel .completion-copy{
    flex:0 0 auto!important;
    width:min(820px,100%)!important;
    max-width:none!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .result-panel .completion-copy .kicker{
    margin:0 0 12px!important;
  }
  .result-panel .completion-copy h2{
    display:block!important;
    width:auto!important;
    max-width:13ch!important;
    height:auto!important;
    max-height:none!important;
    margin:0 0 18px!important;
    padding:0 0 .08em!important;
    font-size:clamp(50px,5.4vw,76px)!important;
    line-height:.98!important;
    letter-spacing:-.025em!important;
    white-space:normal!important;
    overflow:visible!important;
    clip-path:none!important;
    -webkit-clip-path:none!important;
    text-wrap:balance!important;
  }
  .result-panel .completion-status{
    gap:8px!important;
    max-width:38ch!important;
    font-size:clamp(15px,1.15vw,20px)!important;
    line-height:1.48!important;
  }
  .result-panel .completion-actions{
    width:min(820px,100%)!important;
    margin-top:22px!important;
    overflow:visible!important;
  }
  .result-panel .artist-link-primary{
    grid-template-columns:56px minmax(0,1fr) auto!important;
    gap:16px!important;
    width:100%!important;
    padding:15px 4px 17px!important;
    font-size:clamp(20px,1.7vw,29px)!important;
    line-height:1.08!important;
    white-space:nowrap!important;
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    will-change:auto!important;
  }
  .result-panel .artist-link-primary .artist-link-label{
    min-width:0!important;
    white-space:nowrap!important;
  }
  .result-panel .artist-link-primary:hover,
  .result-panel .artist-link-primary:focus-visible,
  .result-panel .artist-link-primary:hover .artist-link-icon,
  .result-panel .artist-link-primary:focus-visible .artist-link-icon{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
  }
}

@media (min-width:701px) and (max-height:760px){
  .result-panel.completion-panel{padding-top:48px!important;padding-bottom:34px!important}
  .result-panel .completion-shell-mockup{gap:20px!important}
  .result-panel .completion-copy h2{font-size:clamp(46px,5vw,64px)!important;margin-bottom:14px!important}
  .result-panel .completion-status{font-size:15px!important;gap:6px!important}
  .result-panel .completion-actions{margin-top:16px!important}
  .result-panel .artist-link-primary{padding-top:12px!important;padding-bottom:14px!important}
}


/* Rev 167 — desktop artist drawer full-height repair and stable open state. */
@media (min-width:701px){
  .artist-panel{
    display:block!important;
    overflow:hidden!important;
    contain:layout paint!important;
  }
  .artist-panel-inner{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:min(620px,42vw)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:0!important;
    padding:clamp(62px,7vh,82px) clamp(34px,4vw,58px) 48px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    scrollbar-gutter:stable!important;
    transform:translate3d(100%,0,0)!important;
    transition:transform .52s cubic-bezier(.22,.61,.36,1)!important;
    will-change:transform!important;
    contain:layout paint!important;
  }
  .artist-panel.open .artist-panel-inner{
    transform:translate3d(0,0,0)!important;
  }
  .artist-close{
    position:fixed!important;
    top:22px!important;
    right:24px!important;
    z-index:103!important;
    min-width:54px!important;
    text-align:right!important;
  }
  .artist-panel h2{
    margin:0 0 24px!important;
    font-size:clamp(46px,4.6vw,68px)!important;
    line-height:.94!important;
  }
  .artist-portrait{
    aspect-ratio:4/3!important;
    margin:0 0 20px!important;
    background-image:linear-gradient(135deg,rgba(89,116,204,.10),rgba(232,90,10,.08)),url("images/artist-grant-stephanie.jpg")!important;
    background-position:22% 34%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
  .artist-names{
    margin:0 0 10px!important;
    font-size:32px!important;
  }
  .artist-statement{
    margin:0 0 24px!important;
    font-size:14px!important;
    line-height:1.62!important;
  }
  .experience.desktop-artist-open .result-panel{
    pointer-events:none!important;
  }
  .experience.desktop-artist-open #fx,
  .experience.desktop-artist-open .moving-light,
  .experience.desktop-artist-open .horizon-glow,
  .experience.desktop-artist-open .star-field,
  .experience.desktop-artist-open .water-ripples{
    animation-play-state:paused!important;
  }
}


/* Rev 168 — updated artist portrait with Grant and Stephanie, cropped to keep both faces visible. */
@media (max-width:700px){
  .artist-portrait{
    aspect-ratio:4/3!important;
    background-image:linear-gradient(135deg,rgba(89,116,204,.10),rgba(232,90,10,.08)),url("images/artist-grant-stephanie.jpg")!important;
    background-position:24% 34%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
}

/* Rev 171 — desktop-only final screen rebuilt as one stable visual state. */
@media (min-width:701px){
  .experience.phase-result .scene{
    background:#0d1525!important;
    isolation:isolate!important;
  }
  .experience.phase-result .scene .art-main{
    display:block!important;
    inset:0!important;
    opacity:1!important;
    background-image:url("images/artwork-wide.jpeg")!important;
    background-position:center 50%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    transform:none!important;
    filter:brightness(.76) saturate(1.04)!important;
    animation:none!important;
    transition:none!important;
  }
  .experience.phase-result .scene .release-wide-art,
  .experience.phase-result .scene .release-video-bridge,
  .experience.phase-result .scene .release-video,
  .experience.phase-result .scene .release-video-end-bridge,
  .experience.phase-result .scene .invite-video-start-bridge,
  .experience.phase-result .scene .invite-video,
  .experience.phase-result .scene .invite-video-end-bridge,
  .experience.phase-result .scene .art-sky-detail,
  .experience.phase-result .scene .art-writing-wash,
  .experience.phase-result .scene .art-writing-detail,
  .experience.phase-result .scene .art-water-detail,
  .experience.phase-result .scene .top-star-mask,
  .experience.phase-result .scene .ink-edge,
  .experience.phase-result .scene .geo-marks,
  .experience.phase-result .scene .moving-light,
  .experience.phase-result .scene .horizon-glow,
  .experience.phase-result .scene .water-sheen,
  .experience.phase-result .scene .water-ripples,
  .experience.phase-result .scene .star-field,
  .experience.phase-result .scene canvas{
    display:none!important;
  }
  .experience.phase-result .scene .scene-overlay{
    display:block!important;
    opacity:1!important;
    background:
      linear-gradient(90deg,rgba(7,11,22,.50) 0%,rgba(7,11,22,.14) 45%,rgba(7,11,22,.12) 100%),
      linear-gradient(180deg,rgba(7,11,22,.05) 0%,rgba(7,11,22,.03) 47%,rgba(7,11,22,.54) 100%)!important;
    animation:none!important;
    transition:none!important;
    transform:none!important;
  }
  .experience.phase-result .result-panel.active{
    display:grid!important;
    place-items:center!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  .experience.phase-result .completion-shell-mockup{
    width:min(960px,calc(100vw - 120px))!important;
    min-height:auto!important;
    margin:0 auto!important;
    padding:clamp(44px,6vh,68px) 0 clamp(38px,5vh,58px)!important;
    gap:clamp(24px,3.2vh,36px)!important;
    justify-content:center!important;
    transform:none!important;
    animation:none!important;
    transition:none!important;
  }
  .experience.phase-result .completion-shell-mockup *{
    animation:none!important;
    transition:none!important;
    filter:none!important;
  }
  .experience.phase-result .completion-topline{
    width:100%!important;
    grid-template-columns:minmax(180px,1fr) minmax(120px,280px) minmax(180px,1fr)!important;
    gap:clamp(18px,2.4vw,32px)!important;
    align-items:center!important;
    padding:0!important;
  }
  .experience.phase-result .completion-axis-line{
    display:none!important;
  }
  .experience.phase-result .completion-word{
    max-width:300px!important;
    min-width:0!important;
  }
  .experience.phase-result .completion-word em{
    font-size:clamp(28px,3vw,44px)!important;
    line-height:1!important;
    overflow-wrap:anywhere!important;
  }
  .experience.phase-result .completion-copy{
    width:min(760px,100%)!important;
  }
  .experience.phase-result .completion-copy h2{
    max-width:10ch!important;
    margin:0 0 18px!important;
    font-size:clamp(54px,6vw,82px)!important;
    line-height:.92!important;
  }
  .experience.phase-result .completion-status{
    gap:8px!important;
    max-width:36ch!important;
    font-size:clamp(15px,1.15vw,20px)!important;
    line-height:1.48!important;
  }
  .experience.phase-result .completion-actions{
    width:min(820px,100%)!important;
    margin-top:22px!important;
  }
  .experience.phase-result .artist-link-primary{
    display:grid!important;
    grid-template-columns:56px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:16px!important;
    width:100%!important;
    padding:16px 4px 18px!important;
    white-space:nowrap!important;
    font-size:clamp(25px,2.25vw,36.25px)!important;
    transform:none!important;
    box-shadow:none!important;
    filter:none!important;
  }
  .experience.phase-result .artist-link-primary .artist-link-label{
    white-space:nowrap!important;
  }
  .experience.phase-result .artist-link-primary .artist-link-icon{
    position:relative!important;
    isolation:isolate!important;
    width:56px!important;
    height:56px!important;
    box-shadow:0 0 0 1px rgba(255,232,165,.72),0 0 18px rgba(255,220,126,.18)!important;
    background:rgba(255,240,188,.05)!important;
    animation:artistCtaGlowPulse 3.8s ease-in-out infinite!important;
    will-change:transform,filter,box-shadow!important;
  }
  .experience.phase-result .artist-link-primary .artist-link-icon::after{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:50%;
    border:1px solid rgba(255,233,169,.42);
    opacity:.16;
    pointer-events:none;
    animation:artistCtaHaloPulse 3.8s ease-out infinite!important;
  }
  .experience.phase-result .artist-link-primary:hover,
  .experience.phase-result .artist-link-primary:focus-visible{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    background:rgba(255,249,235,.025)!important;
  }
  .experience.phase-result .artist-link-primary:hover .artist-link-icon,
  .experience.phase-result .artist-link-primary:focus-visible .artist-link-icon{
    box-shadow:0 0 0 1px rgba(255,236,180,.82),0 0 22px rgba(255,226,150,.28)!important;
    background:rgba(255,240,188,.08)!important;
  }

  /* Stable full-height desktop artist drawer. */
  .artist-panel{
    display:block!important;
    position:fixed!important;
    inset:0!important;
    z-index:1000!important;
    overflow:hidden!important;
    background:rgba(3,7,18,.68)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .32s ease,visibility 0s linear .32s!important;
    will-change:opacity!important;
  }
  .artist-panel.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:opacity .32s ease,visibility 0s!important;
  }
  .artist-panel-inner{
    display:block!important;
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:min(620px,42vw)!important;
    height:100vh!important;
    max-height:100vh!important;
    padding:clamp(66px,8vh,88px) clamp(34px,4vw,58px) 48px!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:linear-gradient(180deg,#111a31 0%,#09101f 100%)!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translate3d(100%,0,0)!important;
    animation:none!important;
    transition:transform .38s cubic-bezier(.22,.61,.36,1)!important;
    contain:none!important;
    will-change:transform!important;
    backface-visibility:hidden!important;
    -webkit-backface-visibility:hidden!important;
  }
  .artist-panel.open .artist-panel-inner{
    transform:translate3d(0,0,0)!important;
  }
  .artist-panel-inner > *{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
  }
  .artist-close{
    position:absolute!important;
    top:20px!important;
    right:22px!important;
    z-index:5!important;
  }
  .artist-panel h2{
    margin:0 0 24px!important;
    font-size:clamp(46px,4.5vw,66px)!important;
    line-height:.94!important;
  }
  .artist-portrait{
    aspect-ratio:4/3!important;
    margin:0 0 20px!important;
    background-image:linear-gradient(135deg,rgba(89,116,204,.10),rgba(232,90,10,.08)),url("images/artist-grant-stephanie.jpg")!important;
    background-position:22% 34%!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
}

/* Rev 178/285 — Support Theme step before email; obsolete Practice Preference selectors removed. */
.phase-support-theme .scene-overlay{
  background:linear-gradient(180deg,rgba(7,11,25,.3),rgba(7,11,25,.66));
}
.phase-support-theme .art-main{
  filter:brightness(.62) saturate(.98);
}
.journey-choice-shell{
  width:min(980px,calc(100vw - 96px));
  padding:clamp(34px,4vw,54px) clamp(38px,4.6vw,64px);
  background:linear-gradient(180deg,rgba(10,17,34,.62),rgba(8,14,29,.4));
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.journey-choice-shell>.kicker{
  margin-bottom:12px;
}
.journey-choice-shell h2{
  max-width:820px;
  margin-bottom:16px;
  font-size:clamp(46px,5vw,70px);
  line-height:.96;
}
.journey-choice-shell .flow-intro{
  max-width:68ch;
  margin-bottom:28px;
  color:rgba(236,239,247,.8);
}
.journey-option-grid{
  display:grid;
  gap:12px;
}
.support-theme-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.journey-option{
  position:relative;
  min-width:0;
  cursor:pointer;
}
.journey-option input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.journey-option span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:82px;
  padding:15px 22px;
  border:1px solid rgba(255,244,214,.22);
  border-radius:22px;
  background:rgba(255,249,235,.025);
  color:rgba(255,248,229,.86);
  text-align:left;
  transition:border-color .22s ease,background-color .22s ease,color .22s ease;
}
.journey-option strong{
  display:block;
  margin-bottom:4px;
  font:600 clamp(16px,1.2vw,19px)/1.15 Manrope,sans-serif;
  color:inherit;
}
.journey-option em{
  display:block;
  font:400 clamp(12px,.88vw,14px)/1.35 Manrope,sans-serif;
  font-style:normal;
  color:rgba(236,239,247,.7);
}
.journey-option:hover span,
.journey-option:focus-within span{
  border-color:rgba(255,229,153,.58);
  color:#fffaf0;
  background:rgba(255,238,190,.055);
}
.journey-option.is-selected span,
.journey-option input:checked+span{
  border-color:rgba(244,121,45,.9);
  background:linear-gradient(180deg,rgba(244,121,45,.2),rgba(244,121,45,.08));
  color:#fffaf0;
  box-shadow:inset 0 0 0 1px rgba(255,225,170,.08),0 0 20px rgba(232,90,10,.12);
}
.journey-option.is-selected em,
.journey-option input:checked+span em{
  color:rgba(255,248,229,.82);
}
.journey-choice-actions{
  margin-top:30px;
}
.journey-choice-actions .text-action:disabled{
  opacity:.34;
}
@media (min-width:701px) and (max-height:760px){
  .journey-choice-shell{padding-top:28px;padding-bottom:28px}
  .journey-choice-shell h2{font-size:clamp(40px,4.4vw,58px);margin-bottom:12px}
  .journey-choice-shell .flow-intro{margin-bottom:20px}
  .journey-option span{min-height:70px;padding:11px 18px}
  .journey-choice-actions{margin-top:22px}
}


/* Rev 182/285 — stable Support Theme screen. */
@media (min-width:701px){
  .phase-support-theme .support-theme-panel.active{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:78px 34px 54px!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .phase-support-theme .journey-choice-shell{
    display:block!important;
    width:min(980px,calc(100vw - 96px))!important;
    min-height:0!important;
    max-height:none!important;
    margin:0 auto!important;
    overflow:visible!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    contain:layout paint!important;
  }
  .phase-support-theme .journey-choice-shell>*{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }
  .phase-support-theme .journey-choice-shell h2{
    display:block!important;
    max-width:820px!important;
    font-size:clamp(42px,4.5vw,64px)!important;
    line-height:.98!important;
  }
}


/* Rev 183/285 — authoritative stable Support Theme rendering. */
@media (min-width:701px){
  .experience.phase-support-theme .scene,
  .experience.phase-support-theme .scene *{
    animation-play-state:paused!important;
    transition:none!important;
  }
  .experience.phase-support-theme .support-theme-panel{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:78px 34px 54px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:none!important;
    transition:none!important;
  }
  .experience.phase-support-theme .support-theme-panel.active{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  .experience.phase-support-theme .journey-choice-shell{
    display:block!important;
    width:min(980px,calc(100vw - 96px))!important;
    min-height:0!important;
    max-height:calc(100vh - 132px)!important;
    margin:0 auto!important;
    padding:clamp(34px,4vw,54px) clamp(38px,4.6vw,64px)!important;
    overflow:auto!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
    contain:none!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    background:linear-gradient(180deg,rgba(10,17,34,.72),rgba(8,14,29,.55))!important;
  }
  .experience.phase-support-theme .journey-choice-shell>*{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    transition:none!important;
  }
  .experience.phase-support-theme .journey-option{
    outline:none!important;
    -webkit-tap-highlight-color:transparent!important;
  }
  .experience.phase-support-theme .journey-option span{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    transition:none!important;
  }
  .experience.phase-support-theme .journey-option:hover span,
  .experience.phase-support-theme .journey-option:focus span,
  .experience.phase-support-theme .journey-option:focus-visible span{
    border-color:rgba(255,229,153,.52)!important;
    color:#fffaf0!important;
    background:rgba(255,238,190,.045)!important;
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
  }
  .experience.phase-support-theme .journey-option.is-selected span,
  .experience.phase-support-theme .journey-option input:checked+span{
    border-color:rgba(255,139,66,.98)!important;
    color:#fffaf0!important;
    background:linear-gradient(180deg,rgba(205,88,30,.34),rgba(145,55,18,.24))!important;
    transform:none!important;
    filter:none!important;
    box-shadow:inset 0 0 0 1px rgba(255,229,184,.18),0 0 20px rgba(232,90,10,.18)!important;
  }
  .experience.phase-support-theme .journey-choice-actions .text-action,
  .experience.phase-support-theme .journey-choice-actions .quiet{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    transition:none!important;
  }
  .experience.phase-support-theme .journey-choice-actions .text-action::after{
    display:none!important;
  }
  .experience.phase-support-theme .support-theme-back{
    display:none!important;
  }
  .experience.phase-support-theme .journey-option span{position:relative!important;padding-left:34px!important;padding-right:34px!important}
  .experience.phase-support-theme .journey-option.is-selected span::after,
  .experience.phase-support-theme .journey-option input:checked+span::after{
    content:"✓";
    position:absolute;
    right:17px;
    top:50%;
    transform:translateY(-52%);
    font:600 16px/1 Manrope,sans-serif;
    color:#ffd7a8;
  }
}
@media (max-width:700px){
  .support-theme-panel{overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .support-theme-panel .journey-choice-shell{width:100%;padding:92px 18px 34px}
  .support-theme-panel .journey-choice-shell h2{font-size:clamp(36px,10vw,48px);line-height:1.02;margin-bottom:14px}
  .support-theme-panel .flow-intro{margin-bottom:22px}
  .support-theme-grid{grid-template-columns:1fr;gap:10px}
  .support-theme-grid .journey-option span{min-height:72px;padding:13px 18px;border-radius:18px}
  .support-theme-grid .journey-option strong{font-size:16px}
  .support-theme-grid .journey-option em{font-size:12px;line-height:1.3}
  .support-theme-panel .journey-choice-actions{margin-top:22px;padding-bottom:max(8px,env(safe-area-inset-bottom))}
}
.support-copy-mobile{display:none}
.support-copy-desktop{display:inline}

/* Rev 184 — Batch 1: opening clarity, Let Go input clarity, and consent flow. */
@keyframes beginJourneyBreath184{
  0%,100%{box-shadow:0 0 0 0 rgba(255,225,142,0),0 0 22px rgba(255,215,120,.08);background:rgba(255,248,224,.015)}
  50%{box-shadow:0 0 0 7px rgba(255,225,142,.035),0 0 34px rgba(255,221,139,.2);background:rgba(255,248,224,.035)}
}
@keyframes beginArrowNudge184{
  0%,68%,100%{transform:translateX(0);opacity:.72}
  78%{transform:translateX(5px);opacity:1}
  88%{transform:translateX(1px);opacity:.88}
}
@keyframes openingWhisperA186{
  0%,10%{opacity:0;transform:translate3d(0,12px,0) scale(.965);filter:blur(6px)}
  26%,66%{opacity:.62;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  88%,100%{opacity:0;transform:translate3d(0,-16px,0) scale(1.03);filter:blur(4px)}
}
@keyframes openingWhisperB186{
  0%,18%{opacity:0;transform:translate3d(0,14px,0) scale(.972);filter:blur(6px)}
  38%,70%{opacity:.54;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
  92%,100%{opacity:0;transform:translate3d(0,-12px,0) scale(1.02);filter:blur(4px)}
}
.phase-opening .art-main{
  filter:brightness(.96) saturate(1.07)!important;
}
.phase-opening .art-writing-wash{
  opacity:.122!important;
}
.phase-opening .art-writing-detail{
  opacity:.29!important;
}
.begin{
  display:inline-flex;
  align-items:center;
  gap:14px;
  min-height:50px;
  padding:12px 18px 10px!important;
  border:1px solid rgba(255,239,190,.22)!important;
  border-bottom-color:rgba(232,90,10,.78)!important;
  border-radius:999px;
  animation:beginJourneyBreath184 3.8s ease-in-out infinite;
  transition:border-color .2s ease,background-color .2s ease,color .2s ease;
}
.begin::after{display:none!important}
.begin:hover,.begin:focus-visible{
  border-color:rgba(255,237,180,.66)!important;
  border-bottom-color:rgba(244,121,45,.95)!important;
  background:rgba(255,248,224,.055)!important;
}
.begin-arrow{
  display:inline-block;
  font-size:1.25em;
  line-height:1;
  animation:beginArrowNudge184 3.8s ease-in-out infinite;
}
.opening-whispers{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility 0s linear .18s;
}
.opening-whispers span{
  position:absolute;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  color:rgba(255,253,239,.98);
  text-shadow:0 0 10px rgba(255,252,228,.92),0 0 26px rgba(255,226,158,.68),0 4px 18px rgba(6,10,23,.72);
  opacity:0;
  white-space:normal;
  line-height:.92;
  text-align:center;
  will-change:opacity,transform;
}
.experience.journey-whispers-active .opening-whispers{
  top:0;
  right:0;
  bottom:auto;
  left:0;
  height:44vh;
  overflow:hidden;
  opacity:1;
  visibility:visible;
  transition-delay:0s;
  z-index:6;
}
.experience.journey-whispers-active .opening-whispers span{
  transition:
    opacity var(--fade-dur,1.5s) ease-in-out,
    transform var(--move-dur,5.8s) ease-in-out;
}
.opening-whispers span.is-visible{
  opacity:var(--visible-opacity,.84);
  transform:translate3d(var(--float-x,0px),var(--float-y,-10px),0) scale(1.012);
}
.experience.phase-opening.opening-departure .opening-copy-block{
  opacity:.34;
  transition:opacity .55s ease;
}

@keyframes openingWhisperFloat{
  0%,14%{opacity:0;transform:translate3d(0,12px,0) scale(.988)}
  28%{opacity:.12;transform:translate3d(0,6px,0) scale(.994)}
  42%{opacity:.4;transform:translate3d(0,0,0) scale(1)}
  58%{opacity:.56;transform:translate3d(calc(var(--drift-x,4px) * .25),calc(var(--drift-y,-12px) * .18),0) scale(1.006)}
  76%{opacity:.54;transform:translate3d(calc(var(--drift-x,4px) * .65),calc(var(--drift-y,-12px) * .6),0) scale(1.01)}
  100%{opacity:0;transform:translate3d(var(--drift-x,4px),var(--drift-y,-12px),0) scale(1.014)}
}

/* Let Go field: a clearly defined, focused writing surface. */

.letgo-panel .letgo-input-wrap{
  width:min(650px,100%)!important;
  padding:14px 18px 0!important;
  border:1px solid rgba(255,244,214,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(11,18,34,.34),rgba(8,14,28,.19))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 50px rgba(3,7,18,.12)!important;
  transition:border-color .2s ease,background-color .2s ease!important;
}
.letgo-panel .letgo-input-wrap:focus-within{
  border-color:rgba(255,222,145,.58)!important;
  background:linear-gradient(180deg,rgba(11,18,34,.42),rgba(8,14,28,.25))!important;
}
.letgo-panel .letgo-input-wrap::after{
  left:18px!important;
  right:18px!important;
  bottom:0!important;
  height:2px!important;
  background:linear-gradient(90deg,rgba(244,121,45,.96),rgba(232,90,10,.64) 72%,rgba(232,90,10,.2))!important;
}
.letgo-panel .input-example-label{
  display:block;
  margin:0 0 2px;
  color:rgba(255,248,224,.58);
  font:600 9px/1.2 Manrope,sans-serif;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.letgo-panel textarea{
  min-height:98px!important;
  padding:10px 0 18px!important;
  border:0!important;
  background:transparent!important;
}
.letgo-panel textarea::placeholder{
  color:rgba(255,248,224,.42)!important;
}
.letgo-panel .letgo-actions{
  margin-top:18px!important;
}


/* Let In field: mirror the Let Go clarity improvements while preserving the right-side composition. */
.letin-panel .letin-input-wrap{
  width:min(650px,100%)!important;
  padding:14px 18px 0!important;
  border:1px solid rgba(255,244,214,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(11,18,34,.34),rgba(8,14,28,.19))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 50px rgba(3,7,18,.12)!important;
  transition:border-color .2s ease,background-color .2s ease!important;
}
.letin-panel .letin-input-wrap:focus-within{
  border-color:rgba(255,222,145,.58)!important;
  background:linear-gradient(180deg,rgba(11,18,34,.42),rgba(8,14,28,.25))!important;
}
.letin-panel .letin-input-wrap::after{
  left:18px!important;
  right:18px!important;
  bottom:0!important;
  height:2px!important;
  background:linear-gradient(270deg,rgba(244,121,45,.96),rgba(232,90,10,.64) 72%,rgba(232,90,10,.2))!important;
}
.letin-panel .input-example-label{
  display:block;
  margin:0 0 2px;
  color:rgba(255,248,224,.58);
  font:600 9px/1.2 Manrope,sans-serif;
  letter-spacing:.19em;
  text-transform:uppercase;
  text-align:left;
}
.letin-panel textarea{
  min-height:98px!important;
  padding:10px 0 18px!important;
  border:0!important;
  background:transparent!important;
}
.letin-panel textarea::placeholder{
  color:rgba(255,248,224,.42)!important;
}
.letin-panel .letin-actions{
  margin-top:18px!important;
}
.letin-panel .invite-action{min-width:190px;text-align:left}
.letin-panel .invite-action span{display:inline-block;margin-left:8px;transition:transform .45s var(--ease)}
.letin-panel .invite-action:hover span,.letin-panel .invite-action:focus-visible span{transform:translateX(5px)}

/* Consent is now a separate, explicit decision after the email invitation. */
.share-panel .share-choices-display{
  grid-template-columns:1fr 1fr!important;
  gap:34px!important;
  margin:0!important;
}
.share-panel .phrase-display{
  cursor:default!important;
  pointer-events:none!important;
  padding:8px 0 20px!important;
  border-bottom:1px solid rgba(255,248,224,.18)!important;
}
.share-panel .phrase-display .choice-phrase{
  min-height:78px!important;
  padding:16px 0 10px!important;
}
/* Rev 205 — single consent checkbox replacing per-phrase checkboxes */
.share-consent-row{
  display:flex;
  align-items:flex-start;
  gap:13px;
  margin:22px 0 0;
  cursor:pointer;
  font:500 14px/1.48 Manrope,sans-serif;
  color:rgba(255,248,224,.88);
  user-select:none;
}
.share-consent-row input{
  position:absolute;
  opacity:0;
  pointer-events:auto;
  width:100%;
  height:100%;
  cursor:pointer;
}
.share-consent-row .choice-box{
  flex:0 0 20px;
  width:20px;
  height:20px;
  margin-top:1px;
  border:1px solid rgba(255,248,224,.48);
  border-radius:4px;
  position:relative;
  background:rgba(255,255,255,.015);
  transition:border-color .22s ease,background .22s ease;
}
.share-consent-row input:checked+.choice-box{
  border-color:rgba(255,240,168,.9);
  background:rgba(255,240,168,.14);
}
.share-consent-row input:checked+.choice-box::after{
  content:"";
  display:block!important;
  position:absolute;
  left:5px;top:2px;width:6px;height:10px;
  border:solid #fff0a8;border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.share-decision-actions{
  display:flex!important;
  flex-direction:column!important;
  gap:14px!important;
  align-items:stretch!important;
  margin-top:24px!important;
}
.share-decision-actions button{
  min-height:52px!important;
  padding:13px 22px!important;
  border-radius:999px!important;
  text-align:center!important;
  justify-content:center!important;
}
.share-choice-button{
  display:flex!important;
  align-items:center!important;
  border:1px solid rgba(244,121,45,.72)!important;
  border-bottom-color:rgba(244,121,45,.95)!important;
  background:linear-gradient(180deg,rgba(244,121,45,.17),rgba(232,90,10,.08))!important;
  color:#fffaf0!important;
  font-size:14px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.share-choice-button::after{display:none!important}
.share-choice-button:hover{
  background:linear-gradient(180deg,rgba(244,121,45,.17),rgba(232,90,10,.08))!important;
  border:1px solid rgba(244,121,45,.72)!important;
  border-bottom-color:rgba(244,121,45,.95)!important;
  color:#fffaf0!important;
}
.share-choice-button:disabled{
  opacity:.36!important;
  cursor:not-allowed!important;
}
.private-choice-button{
  border:1px solid rgba(255,244,214,.42)!important;
  color:rgba(255,248,229,.9)!important;
  background:rgba(255,249,235,.03)!important;
  font-size:14px!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
  cursor:pointer;
}
.private-choice-button:hover{
  border:1px solid rgba(255,244,214,.42)!important;
  color:rgba(255,248,229,.9)!important;
  background:rgba(255,249,235,.03)!important;
}
.private-choice-button:disabled,
.private-choice-button[aria-disabled="true"]{
  opacity:.34!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
  border-color:rgba(255,244,214,.2)!important;
  color:rgba(255,248,229,.42)!important;
  background:rgba(255,249,235,.015)!important;
}

/* Let Go remains visually focused: no ambient handwriting on this screen. */
.phase-letgo .art-writing-wash,
.phase-letgo .art-writing-detail{
  opacity:0!important;
  visibility:hidden!important;
}

/* Rev 224 — desktop share screen must fit completely inside the viewport. */
@media (min-width:701px){
  .experience.phase-share .share-panel{
    padding:72px 24px 34px!important;
    align-items:center!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
  }

  .experience.phase-share .share-panel .flow-shell{
    width:min(900px,calc(100vw - 72px))!important;
    max-height:calc(100dvh - 112px)!important;
    margin:auto!important;
    padding:26px 38px 28px!important;
    overflow-y:auto!important;
    scrollbar-width:thin;
    box-sizing:border-box!important;
  }

  .experience.phase-share .share-panel .flow-shell>.kicker{
    margin-bottom:8px!important;
  }

  .experience.phase-share .share-panel .flow-shell h2{
    max-width:760px!important;
    margin-bottom:10px!important;
    font-size:clamp(44px,4.5vw,64px)!important;
    line-height:.94!important;
  }

  .experience.phase-share .share-panel .flow-intro{
    margin-bottom:18px!important;
    font-size:13px!important;
    line-height:1.45!important;
  }

  .experience.phase-share .share-panel .share-choices-display{
    gap:28px!important;
  }

  .experience.phase-share .share-panel .phrase-display{
    padding:4px 0 12px!important;
  }

  .experience.phase-share .share-panel .phrase-display .choice-phrase{
    min-height:54px!important;
    padding:8px 0 6px!important;
    font-size:clamp(34px,3.2vw,48px)!important;
  }

  .experience.phase-share .share-consent-row{
    margin-top:14px!important;
    font-size:13px!important;
    line-height:1.4!important;
  }

  .experience.phase-share .share-panel .privacy-note{
    margin-top:12px!important;
    font-size:11px!important;
    line-height:1.45!important;
  }

  .experience.phase-share .share-decision-actions{
    gap:10px!important;
    margin-top:16px!important;
  }

  .experience.phase-share .share-decision-actions button{
    min-height:44px!important;
    padding:10px 20px!important;
  }
}

@media (min-width:701px) and (max-height:760px){
  .experience.phase-share .share-panel{
    padding-top:54px!important;
    padding-bottom:20px!important;
    align-items:start!important;
  }
  .experience.phase-share .share-panel .flow-shell{
    max-height:calc(100dvh - 74px)!important;
    padding-top:22px!important;
    padding-bottom:22px!important;
  }
}

/* Rev 229: definitive desktop-only digital-wall CTA stability.
   The share scene is rendered as a fully static composition and the CTA buttons
   use non-translucent, non-animated paint states so hovering cannot trigger a
   Chromium compositing flash. Mobile remains unchanged. */
@media (hover:hover) and (pointer:fine) and (min-width:701px){
  .experience.phase-share .scene,
  .experience.phase-share .scene *,
  .experience.phase-share .share-panel,
  .experience.phase-share .share-panel *{
    animation-play-state:paused!important;
  }

  .experience.phase-share .scene *,
  .experience.phase-share .share-panel .share-decision-actions button,
  .experience.phase-share .share-panel .share-decision-actions button::before,
  .experience.phase-share .share-panel .share-decision-actions button::after{
    transition:none!important;
    animation:none!important;
  }

  .experience.phase-share #fx,
  .experience.phase-share .moving-light,
  .experience.phase-share .horizon-glow,
  .experience.phase-share .water-sheen,
  .experience.phase-share .water-ripples,
  .experience.phase-share .star-field,
  .experience.phase-share .opening-whispers,
  .experience.phase-share .release-video,
  .experience.phase-share .invite-video,
  .experience.phase-share .release-video-bridge,
  .experience.phase-share .release-video-end-bridge,
  .experience.phase-share .invite-video-start-bridge,
  .experience.phase-share .invite-video-end-bridge{
    display:none!important;
  }

  .experience.phase-share .scene,
  .experience.phase-share .share-panel .flow-shell,
  .experience.phase-share .share-panel .share-decision-actions,
  .experience.phase-share .share-panel .share-decision-actions button{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }

  .experience.phase-share .share-panel #shareButton,
  .experience.phase-share .share-panel #shareButton:hover,
  .experience.phase-share .share-panel #shareButton:active,
  .experience.phase-share .share-panel #shareButton.is-ready,
  .experience.phase-share .share-panel #shareButton.is-ready:hover,
  .experience.phase-share .share-panel #shareButton.is-ready:active{
    border:1px solid rgb(181,88,36)!important;
    background:rgb(91,49,27)!important;
    color:rgb(255,250,240)!important;
    text-shadow:none!important;
    box-shadow:none!important;
  }

  .experience.phase-share .share-panel #shareButton:disabled,
  .experience.phase-share .share-panel #shareButton:disabled:hover,
  .experience.phase-share .share-panel #shareButton:disabled:active{
    border:1px solid rgb(108,67,44)!important;
    background:rgb(57,42,34)!important;
    color:rgb(145,139,129)!important;
    opacity:1!important;
  }

  .experience.phase-share .share-panel #privateButton,
  .experience.phase-share .share-panel #privateButton:hover,
  .experience.phase-share .share-panel #privateButton:active{
    border:1px solid rgb(117,114,105)!important;
    background:rgb(31,34,45)!important;
    color:rgb(229,225,212)!important;
    text-shadow:none!important;
    box-shadow:none!important;
  }

  .experience.phase-share .share-panel #shareButton::before,
  .experience.phase-share .share-panel #shareButton::after,
  .experience.phase-share .share-panel #privateButton::before,
  .experience.phase-share .share-panel #privateButton::after{
    content:none!important;
    display:none!important;
  }

  .experience.phase-share .share-panel #shareButton:focus-visible,
  .experience.phase-share .share-panel #privateButton:focus-visible{
    outline:2px solid rgb(255,222,159)!important;
    outline-offset:3px!important;
  }
}


/* Rev 235 — Let In sky words on desktop and mobile, using both release and invitation language. */
.letin-panel .letin-prompt{position:relative;z-index:5}
.letin-whispers{
  display:block;
  position:absolute;
  top:0;right:0;left:0;
  height:42vh;
  overflow:hidden;
  z-index:4;
  pointer-events:none;
  opacity:1;
  visibility:visible;
}
.letin-whispers span{
  position:absolute;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-style:italic;
  color:rgb(255,253,239);
  text-shadow:0 0 12px rgba(255,248,214,.82),0 0 28px rgba(255,222,155,.58),0 4px 16px rgba(4,8,20,.78);
  opacity:0;
  white-space:normal;
  line-height:.92;
  text-align:center;
  transition:opacity var(--fade-dur,1.5s) ease-in-out,transform var(--move-dur,5.8s) ease-in-out;
  will-change:opacity,transform;
}
.letin-whispers span.is-visible{
  opacity:var(--visible-opacity,.84);
  transform:translate3d(var(--float-x,0px),var(--float-y,-10px),0) scale(1.012);
}
@media (max-width:700px){
  .letin-whispers{
    top:max(env(safe-area-inset-top),6px);
    height:18dvh;
    z-index:4;
  }
  .letin-whispers span{
    color:rgba(255,252,235,1);
    text-shadow:0 0 12px rgba(255,248,214,.88),0 0 26px rgba(255,222,155,.62),0 3px 14px rgba(4,8,20,.8);
  }
  .letin-whispers span.is-visible{
    opacity:var(--visible-opacity,.86);
  }
}


/* Rev 236 — ensure Let In sky words render clearly above the artwork on desktop and mobile. */
@media (min-width:701px){
  .experience.phase-letin .letin-whispers,
  .experience.desktop-release-return .letin-whispers,
  .experience.desktop-release-return.desktop-release-scene-ready .letin-whispers{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    z-index:4!important;
  }
  .experience.phase-letin .letin-whispers .liw-slot.is-visible,
  .experience.desktop-release-return .letin-whispers .liw-slot.is-visible{
    opacity:var(--visible-opacity,.84)!important;
  }
}


/* Rev 241 — desktop Let In should show only the single original star from the base painting.
   The shifted sky-detail overlay was duplicating the star on desktop, creating a double-star artifact.
   Keep the base artwork star and remove the desktop-only duplicate overlay contribution. */
@media (min-width:701px){
  .phase-letin .art-sky-detail{
    opacity:0 !important;
    transform:none !important;
  }
}


/* Rev 242 — desktop invite animation should not show Let In sky words.
   Hide the whisper layer as soon as the desktop invite transition starts. */
@media (min-width:701px){
  .experience.invite-transition .letin-whispers,
  .experience.invite-video-arming .letin-whispers,
  .experience.invite-video-playing .letin-whispers,
  .experience.invite-start-ready .letin-whispers,
  .experience.invite-start-retired .letin-whispers{
    opacity:0 !important;
    visibility:hidden !important;
    display:none !important;
  }
}


/* Rev 243 — remove the desktop Let In auxiliary labels. */
@media (min-width:701px){
  .letin-panel .letin-prompt .kicker,
  .letin-panel .zone-label.zone-sky{
    display:none !important;
  }
}


/* Commitment step between support selection and email signup. */
.phase-commitment .scene-overlay{background:linear-gradient(180deg,rgba(7,11,25,.34),rgba(7,11,25,.68))}
.phase-commitment .art-main{filter:brightness(.58) saturate(.96)}
.commitment-panel{display:flex;align-items:center;justify-content:center}
.commitment-shell{width:min(820px,calc(100vw - 72px));padding:clamp(34px,4vw,56px);background:linear-gradient(180deg,rgba(10,17,34,.74),rgba(8,14,29,.58));}
.commitment-shell h2{max-width:760px;font-size:clamp(38px,4.2vw,60px);line-height:1.02;margin:0 0 24px}
.commitment-copy{font:400 clamp(17px,1.35vw,21px)/1.55 Manrope,sans-serif;color:rgba(245,242,232,.84);margin-bottom:24px}
.commitment-copy p{margin:0 0 4px}
.commitment-question{font:500 clamp(18px,1.45vw,22px)/1.45 Manrope,sans-serif;color:#fff7e8;margin:0 0 26px}
.commitment-actions{display:flex;justify-content:space-between;align-items:center;gap:24px}
.commitment-confirm{display:inline-flex;align-items:center;gap:10px}
.commitment-circle{font-size:1.25em;line-height:1}
@media(min-width:701px){
  /* Keep this screen in one stable paint layer. Chrome can drop descendants of
     a backdrop-filtered panel when a child hover/focus layer is promoted. */
  .experience.phase-commitment .scene,
  .experience.phase-commitment .scene *{
    animation-play-state:paused!important;
    transition:none!important;
  }
  .experience.phase-commitment .commitment-panel,
  .experience.phase-commitment .commitment-panel.active{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    transition:none!important;
  }
  .experience.phase-commitment .commitment-shell{
    isolation:isolate;
    contain:layout paint;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    background:linear-gradient(180deg,rgba(10,17,34,.90),rgba(8,14,29,.84))!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }
  .experience.phase-commitment .commitment-shell>*{
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    filter:none!important;
    transition:none!important;
  }
  .experience.phase-commitment .commitment-actions .text-action,
  .experience.phase-commitment .commitment-actions .quiet{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
    transition:none!important;
    -webkit-tap-highlight-color:transparent;
  }
  .experience.phase-commitment .commitment-actions .text-action::after{
    display:none!important;
  }
  .experience.phase-commitment .commitment-actions .text-action:hover,
  .experience.phase-commitment .commitment-actions .text-action:focus-visible,
  .experience.phase-commitment .commitment-actions .quiet:hover,
  .experience.phase-commitment .commitment-actions .quiet:focus-visible{
    transform:none!important;
    filter:none!important;
    box-shadow:none!important;
  }
}
@media(max-width:700px){
  .commitment-panel{align-items:flex-start;overflow-y:auto;padding:0!important}
  .commitment-shell{width:100%;min-height:100%;padding:84px 22px 34px;background:linear-gradient(180deg,rgba(10,17,34,.48),rgba(8,14,29,.66))}
  .commitment-shell .kicker{margin-bottom:16px}
  .commitment-shell h2{font-size:clamp(34px,9vw,46px);line-height:1.02;margin-bottom:24px}
  .commitment-copy{font-size:17px;line-height:1.5;margin-bottom:24px}
  .commitment-question{font-size:18px;line-height:1.42;margin-bottom:28px}
  .commitment-actions{align-items:flex-end}
}


/* Rev 264 — email signup field now uses the same clear boxed writing surface
   language as the other text-entry screens, so it is obvious where to type. */
.email-panel .email-field{
  position:relative!important;
  display:block!important;
  margin-top:22px!important;
  padding:14px 18px 0!important;
  border:1px solid rgba(255,244,214,.22)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(11,18,34,.34),rgba(8,14,28,.19))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025),0 18px 50px rgba(3,7,18,.12)!important;
  transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease!important;
}
.email-panel .email-field:focus-within{
  border-color:rgba(255,222,145,.58)!important;
  background:linear-gradient(180deg,rgba(11,18,34,.42),rgba(8,14,28,.25))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 18px 50px rgba(3,7,18,.16)!important;
}
.email-panel .email-field::after{
  content:'';
  position:absolute;
  left:18px;
  right:18px;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,rgba(244,121,45,.96),rgba(232,90,10,.64) 72%,rgba(232,90,10,.2));
  pointer-events:none;
}
.email-panel .email-field>span{
  display:block!important;
  margin:0 0 2px!important;
  color:rgba(255,248,224,.58)!important;
  font:600 9px/1.2 Manrope,sans-serif!important;
  letter-spacing:.19em!important;
  text-transform:uppercase!important;
}
.email-panel .email-field input{
  width:100%!important;
  min-height:72px!important;
  padding:10px 0 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#fff8e0!important;
  font:italic 500 clamp(28px,3vw,40px)/1.1 "Cormorant Garamond",serif!important;
  outline:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.email-panel .email-field input::placeholder{
  color:rgba(255,248,224,.42)!important;
  opacity:1!important;
}

/* Rev 280 — mobile artist-card scroll stability and invitation-word isolation. */
@media (max-width:700px){
  .artist-panel{
    will-change:auto!important;
  }
  .experience.invite-transition .letin-whispers,
  .experience.invite-video-arming .letin-whispers,
  .experience.invite-video-playing .letin-whispers,
  .experience.invite-start-ready .letin-whispers,
  .experience.invite-start-retired .letin-whispers,
  .experience.invite-ending .letin-whispers,
  .experience.invite-end-ready .letin-whispers,
  .experience.invite-end-dissolve .letin-whispers{
    opacity:0!important;
    visibility:hidden!important;
    display:none!important;
  }
}


/* Rev 281 — mobile artist drawer uses a non-scrolling animated shell and a stable 2D scroll surface. */
@media (max-width:700px){
  .artist-panel{
    display:block!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .24s ease,visibility 0s linear .24s!important;
    will-change:auto!important;
  }
  .artist-panel.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transition:opacity .24s ease,visibility 0s!important;
  }
  .artist-panel-shell{
    display:block!important;
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:linear-gradient(180deg,#111a31 0%,#09101f 100%)!important;
    transform:translateY(100%)!important;
    transition:transform .38s cubic-bezier(.22,.61,.36,1)!important;
    will-change:transform!important;
    isolation:auto!important;
    contain:none!important;
  }
  .artist-panel.open .artist-panel-shell{
    transform:translateY(0)!important;
  }
  .artist-panel-inner{
    position:relative!important;
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    background:transparent!important;
    transform:none!important;
    transition:none!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
    isolation:auto!important;
    contain:none!important;
  }
  .artist-panel.open .artist-panel-inner{
    transform:none!important;
  }
  .artist-close{
    position:absolute!important;
    z-index:3!important;
  }
  .artist-portrait{
    transform:none!important;
    will-change:auto!important;
    contain:none!important;
    backface-visibility:visible!important;
    -webkit-backface-visibility:visible!important;
  }
}
