:root{
  color-scheme:dark;
  --night:#080d1d;
  --ink:#10142b;
  --white:#f2edfa;
  --lavender:#d9cfeb;
  --pink:#e984d0;
  --red:#e65a54;
  --cyan:#75d8ef;
  --sans:Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#080d1d}
@view-transition{navigation:none}
body{margin:0;background:var(--night);color:var(--white);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
a:focus-visible{outline:2px solid var(--cyan);outline-offset:5px}
.skip-link{position:absolute;z-index:20;top:-60px;left:12px;padding:12px;background:#fff;color:#000}
.skip-link:focus{top:12px}

/* The existing header and its visual rhythm are intentionally retained. */
.site-header{height:85px;position:absolute;z-index:10;top:0;left:0;width:100%;padding:0 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(209,194,245,.2)}
.wordmark{font-size:19px;letter-spacing:.14em;font-weight:900;white-space:nowrap;color:#e7e0f5}
.wordmark{view-transition-name:none}
.wordmark-star{display:none}
.wordmark-dot,.footer-mark span{color:var(--pink)}
.site-header nav{display:flex;align-items:center;gap:34px}
.site-header nav a{font-size:12px;font-weight:700;letter-spacing:.07em;transition:color .45s ease,background .45s ease,border-color .45s ease,box-shadow .45s ease}
@media (hover: hover) and (pointer: fine){
.site-header nav a:not(.nav-contact):hover{color:var(--pink)}}
.nav-contact{border:1px solid rgba(226,204,248,.55);padding:13px 17px;background:rgba(191,139,229,.09)}
.nav-contact span{display:inline-block;margin-left:20px;color:var(--red);transition:transform .55s cubic-bezier(.16,1,.3,1),color .45s ease}.nav-contact:focus-visible{background:#e8def5;color:#11132a;box-shadow:0 0 28px rgba(228,178,247,.22)}
@media (hover: hover) and (pointer: fine){
.nav-contact:hover{background:#e8def5;color:#11132a;box-shadow:0 0 28px rgba(228,178,247,.22)}}.nav-contact:focus-visible span{color:#bd384c;transform:translate3d(3px,-3px,0)}
@media (hover: hover) and (pointer: fine){
.nav-contact:hover span{color:#bd384c;transform:translate3d(3px,-3px,0)}}

/* A face and two intersecting orbits remain the opening image. */
.hero{height:100svh;min-height:0;position:relative;overflow:hidden;background:radial-gradient(circle at 72% 43%,#38205e 0,#181c43 34%,#080d1d 72%)}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(6,10,27,.92) 0%,rgba(7,12,31,.4) 52%,rgba(8,12,32,.08) 100%),linear-gradient(0deg,#080d1d 0%,transparent 35%)}
.hero-art{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse at 74% 42%,rgba(219,71,180,.3),transparent 39%),radial-gradient(ellipse at 94% 15%,rgba(64,164,231,.2),transparent 31%)}
.hero-orbital-field{position:absolute;inset:0;transform:translate3d(var(--orb-x,0px),var(--orb-y,0px),0);transition:transform .85s cubic-bezier(.16,1,.3,1);will-change:transform;pointer-events:none}
.hero-orbit{position:absolute;width:min(65vw,900px);aspect-ratio:1;border:1px solid rgba(207,130,246,.35);border-radius:50%;left:54%;top:13%;transform:rotate(-22deg) scaleX(.67);box-shadow:inset 0 0 75px rgba(160,88,225,.16),0 0 90px rgba(177,82,228,.19)}
.orbit-two{left:60%;top:15%;transform:rotate(22deg) scaleX(.67);border-color:rgba(131,218,249,.19)}
.hero-flare{position:absolute;left:var(--period-x,58%);top:var(--period-y,47%);width:clamp(190px,14vw,340px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(186,230,255,.44) 0%,rgba(234,113,217,.3) 9%,rgba(154,70,189,.19) 30%,rgba(99,51,145,.08) 65%,transparent 100%);filter:blur(9px);transform:translate(-50%,-50%) translateX(66px)}
.hero-horizon{position:absolute;width:150%;height:28%;left:15%;bottom:-13%;transform:rotate(-16deg);background:radial-gradient(ellipse at center,rgba(226,75,164,.26),transparent 58%);filter:blur(38px)}
.hero-avatar{position:absolute;top:0;right:-3vw;width:min(56vw,900px);height:100%;object-fit:cover;object-position:right center;opacity:.42;filter:saturate(.82) contrast(1.12);mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 95% 96% at 100% 45%,#000 38%,transparent 100%);mask-image:radial-gradient(ellipse 95% 96% at 100% 45%,#000 38%,transparent 100%)}
.hero-inner{position:relative;z-index:2;width:min(100% - 80px,1608px);margin:auto;height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:70px}
.hero-kicker{display:flex;align-items:center;gap:12px;color:#d8c4e8;font-size:10px;font-weight:700;letter-spacing:.2em;margin:0 0 29px}
.hero-kicker>span:last-child{margin-left:14px;color:#f19bce}
.signal{display:block;flex:none;width:6px;height:6px;background:var(--red);box-shadow:0 0 12px var(--red);border-radius:50%}
.hero h1{font-size:clamp(80px,10.4vw,171px);font-weight:900;letter-spacing:-.095em;line-height:.79;margin:0 0 0 -9px;max-width:1200px;color:#f2edfa}
.hero h1 span{display:block}
.hero-line-two{margin-left:.37em;white-space:nowrap}
.hero-period{display:inline!important;color:var(--red);margin-left:.12em;letter-spacing:0}
.hero-lower{margin-top:59px;width:min(710px,100%);display:flex;justify-content:space-between;align-items:end;gap:35px}
.hero-lower p{font-size:16px;line-height:1.5;max-width:335px;margin:0;color:#cbc1dc}
.hero-explore{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-width:164px;min-height:58px;padding:12px 21px;border:1px solid rgba(240,216,251,.78);border-radius:3px;background:rgba(203,139,231,.12);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;transition:transform .45s cubic-bezier(.16,1,.3,1),background .45s ease,border-color .45s ease,box-shadow .45s ease}
.hero-explore-symbol{display:block;flex:none;width:13px;height:11px;background:var(--pink);clip-path:polygon(0 0,100% 0,50% 100%)}.hero-explore:focus-visible{transform:translateY(-2px);background:rgba(221,165,242,.25);border-color:#f0d9ff;box-shadow:0 14px 36px rgba(169,76,203,.16)}
@media (hover: hover) and (pointer: fine){
.hero-explore:hover{transform:translateY(-2px);background:rgba(221,165,242,.25);border-color:#f0d9ff;box-shadow:0 14px 36px rgba(169,76,203,.16)}}
.hero-edge{position:absolute;z-index:3;right:40px;bottom:35px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;color:#aa9dbf}

/* A single editorial page gives the viewer a pause after the dark hero. */
.declaration{min-height:720px;background:var(--lavender);color:var(--ink);padding:52px max(5.2vw,32px) 66px;position:relative;overflow:hidden}
.declaration-top{display:flex;justify-content:space-between;align-items:start;font-size:11px;font-weight:800;letter-spacing:.2em}
.declaration-star{font-size:37px;line-height:1;color:var(--red);font-weight:400;transform:rotate(17deg)}
.declaration :is(h1,h2){font-family:Georgia,'Times New Roman',serif;font-size:clamp(82px,10.3vw,168px);font-weight:400;letter-spacing:-.078em;line-height:.86;margin:115px 0 0;position:relative;z-index:1}
.declaration :is(h1,h2) .declaration-offset{margin-left:8.5vw;white-space:nowrap}
.declaration-bottom{display:flex;align-items:end;justify-content:flex-end;margin-top:70px;gap:40px}
.declaration-bottom p{max-width:460px;font-size:18px;line-height:1.52;margin:0 3vw 0 0}
.declaration-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-width:280px;min-height:64px;padding:15px 21px;background:#171b38;border:1px solid #171b38;color:#f2edfa;font-size:16px;font-weight:800;letter-spacing:.015em;white-space:nowrap;box-shadow:0 16px 36px rgba(30,20,55,.14);transition:background .5s ease,color .5s ease,transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}
.declaration-link span{color:var(--pink);font-size:24px;font-weight:400;line-height:1;transition:color .5s ease}.declaration-link:focus-visible{background:#49305f;color:#fff;transform:translateY(-3px);box-shadow:0 24px 45px rgba(54,31,77,.24)}
@media (hover: hover) and (pointer: fine){
.declaration-link:hover{background:#49305f;color:#fff;transform:translateY(-3px);box-shadow:0 24px 45px rgba(54,31,77,.24)}}.declaration-link:focus-visible span{color:#fff}
@media (hover: hover) and (pointer: fine){
.declaration-link:hover span{color:#fff}}

.micro-label{font-size:11px;font-weight:800;letter-spacing:.21em;text-transform:uppercase}

.offerings{background:#e5d8e8;color:var(--ink);min-height:850px;padding:75px max(5.2vw,32px) 110px;position:relative;overflow:hidden}
.offerings>.micro-label{display:block}
.offerings-composition{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,39%);gap:3%;align-items:start;margin-top:100px}
.offerings :is(h1,h2){font-size:clamp(90px,11vw,180px);font-weight:400;line-height:.86;letter-spacing:-.085em;margin:0 0 0 -9px;position:relative;z-index:1}
.offerings-side{padding-top:36px;position:relative;z-index:2}
.offerings-lead{font-size:clamp(23px,2.6vw,40px);font-weight:700;letter-spacing:-.05em;line-height:1.06;max-width:330px;margin:20px 0 30px}
.featured-link{display:flex;align-items:center;justify-content:center;width:min(100%,375px);min-height:68px;padding:18px 22px;border:1px solid #28213e;border-radius:3px;background:#171b38;box-shadow:0 15px 38px rgba(34,19,56,.13);color:#f2edfa;font-size:18px;font-weight:800;letter-spacing:-.035em;transition:transform .55s cubic-bezier(.16,1,.3,1),background .55s ease,box-shadow .55s ease}.featured-link:focus-visible{transform:translateY(-4px);background:#392954;box-shadow:0 25px 56px rgba(89,40,111,.22)}
@media (hover: hover) and (pointer: fine){
.featured-link:hover{transform:translateY(-4px);background:#392954;box-shadow:0 25px 56px rgba(89,40,111,.22)}}
.offerings-status{max-width:375px;margin:32px 0 0;font-size:14px;line-height:1.55;color:#474057}

.connect{background:radial-gradient(ellipse at 95% 95%,#392150,#101730 48%,#080d1d 80%);padding:125px max(5.2vw,32px) 150px;overflow:hidden}
.connect-heading{position:relative}
.connect-heading .micro-label{color:#d49cd8}
.connect :is(h1,h2){font-size:clamp(90px,12vw,195px);letter-spacing:-.1em;line-height:.78;font-weight:900;margin:50px 0 25px -9px}
.connect-heading p{font-size:17px;color:#baafd0;margin:0 0 80px 1vw}
.platforms{max-width:1500px;margin:auto;display:flex;flex-direction:column;gap:12px}
.platform{width:max-content;max-width:100%;display:flex;align-items:baseline;gap:24px;position:relative;transition:transform .65s cubic-bezier(.16,1,.3,1),color .5s ease,text-shadow .5s ease}.platform:focus-visible{color:var(--pink);transform:translateX(12px);text-shadow:0 0 34px rgba(221,137,225,.34)}
@media (hover: hover) and (pointer: fine){
.platform:hover{color:var(--pink);transform:translateX(12px);text-shadow:0 0 34px rgba(221,137,225,.34)}}
.platform-name{font-size:clamp(58px,8.2vw,135px);font-weight:800;letter-spacing:-.085em;line-height:1}
.platform-detail{font-size:12px;letter-spacing:.06em;color:#aeb0d1;white-space:nowrap}
.platform-civitai{margin-left:10%}
.platform-fanvue{margin-left:37%;color:#dbafe6}
.platform-bluesky{margin-left:3%}
.platform-patreon{margin-left:19%;color:#b7abc7}

.site-footer{padding:52px max(5.2vw,32px) 42px;background:#080d1d;display:grid;grid-template-columns:1fr 2fr auto;gap:25px;align-items:start;border-top:1px solid rgba(215,198,247,.16)}
.footer-mark{font-size:19px;font-weight:900;letter-spacing:.14em;white-space:nowrap;color:#e7e0f5}
.site-footer p{font-size:12px;line-height:1.55;color:#a49ab8;max-width:470px;margin:0}
.site-footer a{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:10px 17px;border:1px solid #867b9f;border-radius:3px;background:rgba(208,164,233,.08);font-size:12px;white-space:nowrap;transition:background .5s ease,color .5s ease,transform .5s cubic-bezier(.16,1,.3,1)}.site-footer a:focus-visible{color:#10142b;background:#e2c6ed;transform:translateY(-3px)}
@media (hover: hover) and (pointer: fine){
.site-footer a:hover{color:#10142b;background:#e2c6ed;transform:translateY(-3px)}}
.site-footer small{grid-column:1/-1;color:#726985;font-size:10px;letter-spacing:.12em;margin-top:40px}

@media(max-width:1000px){
  .hero-avatar{width:78vw;opacity:.37}
  .hero h1{font-size:clamp(74px,10vw,130px)}
  .declaration :is(h1,h2){font-size:clamp(70px,10vw,120px)}
  .offerings-composition{grid-template-columns:minmax(0,1fr) 39%}
  .offerings :is(h1,h2){font-size:clamp(75px,10vw,120px)}
}
@media(max-width:700px){
  .site-header{height:70px;padding:0 22px}
  .wordmark{font-size:15px}
  .wordmark-star{font-size:20px;margin-right:4px}
  .site-header nav{gap:14px}
  .site-header nav a:not(.nav-contact){display:none}
  .nav-contact{padding:10px 11px;font-size:10px!important;white-space:nowrap}
  .nav-contact span{margin-left:5px}
  .hero{height:100svh;min-height:0;max-height:none}
  .hero-art{background:radial-gradient(ellipse at 65% 34%,rgba(207,75,187,.33),transparent 48%),radial-gradient(ellipse at 89% 18%,rgba(74,177,230,.16),transparent 35%)}
  .hero-orbit{width:125vw;left:22%;top:6%}
  .hero-flare{width:clamp(150px,45vw,220px);transform:translate(-50%,-50%) translateX(38px)}
  .hero-avatar{top:1%;right:0;width:110vw;height:69%;opacity:.4;object-position:center 39%;-webkit-mask-image:radial-gradient(ellipse 94% 82% at 100% 41%,#000 32%,transparent 100%);mask-image:radial-gradient(ellipse 94% 82% at 100% 41%,#000 32%,transparent 100%)}
  .hero::after{background:linear-gradient(0deg,#080d1d 0%,rgba(8,12,31,.69) 50%,transparent 100%)}
  .hero-inner{width:calc(100% - 44px);justify-content:flex-end;padding:0 0 94px}
  .hero-kicker{font-size:9px;letter-spacing:.11em;margin-bottom:22px}
  .hero h1{font-size:clamp(52px,12vw,84px);margin-left:-3px;letter-spacing:-.09em;line-height:.84}
  .hero-line-two{margin-left:0}
  .hero-lower{margin-top:35px;align-items:end;gap:20px}
  .hero-lower p{font-size:13px;max-width:265px}
  .hero-explore{font-size:10px;letter-spacing:.1em}
  .hero-edge{display:none}
  .declaration{min-height:600px;padding:42px 22px 65px}
  .declaration :is(h1,h2){font-size:clamp(53px,12.7vw,88px);margin-top:115px;line-height:.9}
  .declaration :is(h1,h2) .declaration-offset{margin-left:0;white-space:normal}
  .declaration-bottom{margin-top:65px;align-items:start}
  .declaration-bottom p{font-size:15px;margin:0;max-width:340px}
  .declaration-bottom{flex-direction:column;gap:27px;align-items:flex-start}
  .declaration-link{min-width:0;width:min(100%,320px);min-height:59px;font-size:14px}
  .offerings{min-height:0;padding:65px 22px 95px}
  .offerings-composition{display:block;margin-top:90px}
  .offerings :is(h1,h2){font-size:clamp(75px,18vw,118px)}
  .offerings-side{padding-top:0}
  .offerings-lead{font-size:29px;max-width:250px}
  .featured-link{font-size:17px}
  .connect{padding:90px 22px 110px}
  .connect :is(h1,h2){font-size:clamp(78px,18vw,125px);margin-left:-5px}
  .connect-heading p{font-size:15px;margin-bottom:65px}
  .platforms{gap:20px}
  .platform{display:block;max-width:100%;margin-left:0}
  .platform-fanvue{margin-left:15%}
  .platform-name{font-size:clamp(53px,12vw,80px);display:block}
  .platform-detail{display:block;font-size:11px;margin:4px 0 0 4px;white-space:normal}
  .site-footer{padding:42px 22px;display:grid;grid-template-columns:1fr auto;gap:26px}
  .site-footer p{grid-column:1/-1;grid-row:2}
  .site-footer a{grid-column:2;grid-row:1}
  .site-footer small{grid-column:1/-1;margin-top:15px}
}
@media(max-width:390px){
  .hero h1{font-size:12vw}
  .hero-lower{display:block}
  .hero-explore{display:inline-flex;margin-top:20px}
  .declaration-bottom{display:flex}
  .declaration :is(h1,h2){font-size:12.3vw}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* The cast rises through a field of light; each portrait has a name and a place. */
.worlds{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  padding:0 0 55px;
  background:
    radial-gradient(ellipse 48% 47% at 74% 40%,rgba(111,49,144,.42),transparent 84%),
    radial-gradient(ellipse 55% 37% at 20% 82%,rgba(35,90,151,.24),transparent 80%),
    #080d1d;
}
.worlds::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.36;
  background:repeating-linear-gradient(90deg,transparent 0,transparent 10.9%,rgba(131,167,237,.085) 11%,transparent 11.1%);
  mask-image:linear-gradient(transparent 15%,#000 40%,#000 80%,transparent);
}
.worlds-lead{width:min(100% - 10.4vw,1400px);height:615px;margin-inline:auto;padding-top:132px;position:relative;z-index:2;pointer-events:none}
.worlds-lead .micro-label{color:#d8a8e7}
.worlds-lead :is(h1,h2){font-size:clamp(76px,8.7vw,140px);font-weight:900;letter-spacing:-.088em;line-height:.82;margin:42px 0 0;max-width:880px;text-shadow:0 8px 52px rgba(5,7,24,.7)}
.worlds-lead :is(h1,h2) .worlds-period{color:var(--red)}
.worlds-lead>p{max-width:360px;margin:38px 0 0 2vw;font-size:17px;line-height:1.5;color:#dacde9;text-shadow:0 3px 20px #080d1d}
.cast-stage{position:relative;z-index:1;height:1160px;max-width:1580px;margin:-45px auto 0;overflow:hidden;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 84%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 7%,#000 84%,transparent)}
.cast-stage::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,13,29,.43),transparent 28%,transparent 72%,rgba(8,13,29,.19))}
.cast-streaks{position:absolute;inset:-25% 0;pointer-events:none;opacity:.68;background:linear-gradient(102deg,transparent 9%,rgba(100,160,238,.11) 9.2%,transparent 9.4%,transparent 40%,rgba(238,113,215,.13) 40.2%,transparent 40.4%,transparent 72%,rgba(119,207,244,.1) 72.2%,transparent 72.4%);animation:streak-drift 28s ease-in-out infinite alternate}
.cast-lane{position:absolute;top:0;width:31%;height:max-content;display:flex;flex-direction:column;animation:cast-rise var(--rise-time) linear infinite;animation-delay:var(--rise-delay);will-change:transform}
.cast-lane-1{left:2%;--rise-time:116s;--rise-delay:-13s}
.cast-lane-2{left:35%;--rise-time:131s;--rise-delay:-53s}
.cast-lane-3{left:68%;--rise-time:123s;--rise-delay:-31s}
.cast-sequence{display:flex;flex-direction:column;align-items:center;gap:74px;padding:0 0 74px}
.cast-bubble{width:clamp(190px,21vw,295px);max-width:96%;margin:0;position:relative;text-align:center;filter:drop-shadow(0 28px 33px rgba(0,0,0,.42))}
.cast-bubble:nth-child(4n+1){width:clamp(214px,23vw,324px);margin-left:-13%}
.cast-bubble:nth-child(4n+2){width:clamp(165px,18vw,255px);margin-left:17%}
.cast-bubble:nth-child(4n+3){margin-left:-8%}
.cast-bubble:nth-child(4n){width:clamp(204px,22vw,310px);margin-left:12%}
.cast-portrait{display:block;aspect-ratio:1;position:relative;overflow:hidden;border-radius:50%;border:1px solid rgba(236,174,255,.58);background:#272447;box-shadow:inset 0 0 34px rgba(244,173,255,.38),0 0 0 6px rgba(178,111,229,.045),0 0 48px rgba(191,88,214,.28)}
.cast-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 22%;filter:saturate(.82) contrast(1.08)}
.cast-portrait::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 28% 16%,rgba(231,232,255,.33),transparent 36%),linear-gradient(140deg,rgba(159,223,255,.15),transparent 43%,rgba(246,93,188,.13));box-shadow:inset -18px -19px 28px rgba(12,8,42,.42),inset 2px 2px 18px rgba(242,206,255,.34)}
.cast-bubble figcaption{display:block;margin-top:15px;color:#eee2fa;font-size:20px;font-weight:500;letter-spacing:.015em;text-shadow:0 2px 18px #050611}
.cast-directory{position:relative;z-index:3;display:flex;justify-content:center;padding:5px 24px 95px}
.cast-directory-link{display:inline-flex;align-items:center;justify-content:center;min-height:68px;padding:16px 44px;border:1px solid rgba(232,184,243,.7);background:rgba(53,31,90,.58);box-shadow:0 0 0 1px rgba(232,184,243,.08) inset,0 18px 70px rgba(149,60,164,.2);color:#f2edfa;font-size:17px;font-weight:700;letter-spacing:.015em;transition:background .55s ease,color .55s ease,box-shadow .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}.cast-directory-link:focus-visible{background:#d9b4e7;color:#10142b;box-shadow:0 20px 80px rgba(223,137,229,.32);transform:translateY(-4px)}
@media (hover: hover) and (pointer: fine){
.cast-directory-link:hover{background:#d9b4e7;color:#10142b;box-shadow:0 20px 80px rgba(223,137,229,.32);transform:translateY(-4px)}}
@keyframes cast-rise{to{transform:translateY(-50%)}}
@keyframes streak-drift{to{transform:translateX(3%) skewX(-3deg);opacity:.4}}

@media(max-width:1000px){
  .worlds-lead{height:545px;padding-top:110px}
  .worlds-lead :is(h1,h2){font-size:clamp(72px,10vw,110px)}
  .cast-stage{margin-top:-40px;height:1070px}
  .cast-bubble{width:clamp(150px,21vw,240px)}
  .cast-bubble:nth-child(4n+1){width:clamp(160px,23vw,260px)}
  .cast-bubble:nth-child(4n+2){width:clamp(140px,18vw,220px)}
  .cast-bubble:nth-child(4n){width:clamp(155px,22vw,250px)}
}
@media(max-width:700px){
  .worlds{padding-bottom:0}
  .worlds-lead{width:calc(100% - 44px);height:500px;padding-top:85px}
  .worlds-lead :is(h1,h2){font-size:clamp(62px,15vw,96px);margin-top:32px}
  .worlds-lead>p{margin:28px 0 0;max-width:245px;font-size:14px}
  .cast-stage{height:830px;margin-top:-160px}
  .cast-lane{width:35%}
  .cast-lane-1{left:-2%}.cast-lane-2{left:32%}.cast-lane-3{left:67%}
  .cast-sequence{gap:54px;padding-bottom:54px}
  .cast-bubble,.cast-bubble:nth-child(4n),.cast-bubble:nth-child(4n+1),.cast-bubble:nth-child(4n+2){width:clamp(91px,30vw,143px);max-width:96%}
  .cast-bubble:nth-child(4n+2){width:clamp(82px,26vw,125px)}
  .cast-bubble figcaption{font-size:15px;margin-top:10px}
  .cast-directory{padding:25px 22px 85px}
  .cast-directory-link{width:100%;min-height:60px;font-size:16px}
}
@media(max-width:390px){
  .worlds-lead :is(h1,h2){font-size:15vw}
  .cast-stage{height:750px}
  .cast-bubble figcaption{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .cast-stage{height:auto;margin-top:0;overflow:visible;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px 5vw 80px;-webkit-mask-image:none;mask-image:none}
  .cast-stage::before,.cast-streaks{display:none}
  .cast-lane{position:static;width:auto;height:auto;animation:none;will-change:auto}
  .cast-sequence{gap:35px;padding:0}
  .cast-sequence[aria-hidden="true"]{display:none}
  .cast-bubble,.cast-bubble:nth-child(n){width:min(100%,220px);margin:0}
  .cast-bubble figcaption{font-size:16px}
}
@media(prefers-reduced-motion:reduce) and (max-width:700px){
  .cast-stage{grid-template-columns:repeat(3,1fr);gap:5px;padding:0 10px 60px}
  .cast-bubble figcaption{font-size:13px}
}

/* The same face returns as a quiet afterimage between scenes. */
.declaration{isolation:isolate;background:linear-gradient(115deg,#d9cfeb 0%,#d9cfeb 54%,#c8bee2 100%)}
.declaration::before{content:"";position:absolute;z-index:-1;right:-3%;top:-9%;width:55%;height:120%;background:url('assets/hero-motion-poster.webp') center 42%/cover no-repeat;opacity:.29;filter:grayscale(.55) saturate(.7) contrast(1.25);mix-blend-mode:multiply;-webkit-mask-image:linear-gradient(90deg,transparent,#000 35%,#000 74%,transparent);mask-image:linear-gradient(90deg,transparent,#000 35%,#000 74%,transparent);animation:declaration-haze 20s ease-in-out infinite alternate}
.declaration-top,.declaration-bottom{position:relative;z-index:1}
@keyframes declaration-haze{to{transform:translate(-2%,2%) scale(1.045);opacity:.37}}

/* The next face arrives as the previous one fades from view. */
.offerings{isolation:isolate;background:linear-gradient(125deg,#e5d8e8 0%,#e3d4ea 52%,#c9bce1 100%)}
.offerings-echo{position:absolute;z-index:0;right:1%;bottom:-4%;width:43%;height:69%;overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 23%,#000 68%,transparent);mask-image:linear-gradient(to bottom,transparent,#000 23%,#000 68%,transparent);pointer-events:none}
.offerings-echo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center 24%;opacity:0;filter:grayscale(.35) saturate(.83) contrast(1.12);mix-blend-mode:multiply;clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);animation:echo-cycle 18s ease-in-out infinite}
.offerings-echo img:nth-child(2){animation-delay:-12s}
.offerings-echo img:nth-child(3){animation-delay:-6s}
@keyframes echo-cycle{
  0%,28%{opacity:.53;transform:translateY(0) scale(1.015)}
  34%,94%{opacity:0;transform:translateY(-24px) scale(1.075)}
  100%{opacity:.53;transform:translateY(0) scale(1.015)}
}
@media(max-width:700px){
  .declaration::before{width:85%;right:-38%;opacity:.19}
  .offerings{padding-bottom:320px}
  .offerings-echo{right:-6%;bottom:0;width:112%;height:310px}
  .offerings-echo img{object-position:center 20%}
}
@media(prefers-reduced-motion:reduce){
  .declaration::before,.offerings-echo img{animation:none}
  .offerings-echo img:first-child{opacity:.53}
  .offerings-echo img:not(:first-child){display:none}
}

/* A still, browsable counterpart to the moving cast. */
.directory-page,.profile-page{background:#080d1d}
.directory-page .site-header,.profile-page .site-header{position:relative;background:#0b1022}
.catalog-intro{min-height:610px;position:relative;isolation:isolate;overflow:hidden;padding:95px max(5.2vw,32px) 90px;background:radial-gradient(ellipse at 85% 35%,#3c245a,#131a36 48%,#080d1d 80%)}
.catalog-intro::before{content:"";position:absolute;z-index:-1;right:-7%;top:-29%;width:49%;height:145%;background:url('assets/hero-motion-poster.webp') center/cover no-repeat;opacity:.27;filter:saturate(.75);mix-blend-mode:screen;-webkit-mask-image:linear-gradient(90deg,transparent,#000 45%,transparent);mask-image:linear-gradient(90deg,transparent,#000 45%,transparent)}
.catalog-intro .micro-label{color:#dba8e4}
.catalog-intro h1{font-size:clamp(76px,9.1vw,150px);letter-spacing:-.09em;line-height:.83;font-weight:900;max-width:1100px;margin:65px 0 0 -7px;position:relative;z-index:1}
.catalog-intro h1 span{color:var(--red)}
.catalog-invitation{max-width:270px;font-size:17px;line-height:1.5;color:#d2c0e2;margin:55px 6% 0 auto}
.hero-lower p,.declaration-bottom p,.worlds-lead>p,.offerings-lead,.offerings-status,.connect-heading>p,.catalog-invitation{text-transform:uppercase}
.hero-lower p,.declaration-bottom p,.worlds-lead>p,.offerings-status,.connect-heading>p,.catalog-invitation{letter-spacing:.055em;font-weight:700}
.catalog-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:54px 25px;padding:95px max(5.2vw,32px) 160px;max-width:1800px;margin:auto;background:radial-gradient(ellipse at 48% 32%,rgba(96,41,123,.24),transparent 68%)}
.character-card{display:block;min-width:0;align-self:start;transition:transform .32s;color:#f2edfa}
.character-card:nth-child(5n+2),.character-card:nth-child(5n+4){margin-top:60px}.character-card:focus-visible{transform:translateY(-8px)}
@media (hover: hover) and (pointer: fine){
.character-card:hover{transform:translateY(-8px)}}
.character-card-image{display:block;aspect-ratio:1;overflow:hidden;background:#292444;box-shadow:0 20px 50px rgba(0,0,0,.23);border:1px solid rgba(208,169,236,.29)}
.character-card-image img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.84);transition:transform .5s,filter .5s}.character-card:focus-visible img{transform:scale(1.065);filter:saturate(1.08)}
@media (hover: hover) and (pointer: fine){
.character-card:hover img{transform:scale(1.065);filter:saturate(1.08)}}
.character-name{display:block;font-size:clamp(20px,2.1vw,31px);letter-spacing:-.045em;margin-top:15px}
@media (hover: hover) and (pointer: fine){
.character-card:hover .character-name{color:#eca7df}}

/* Individual portraits keep the source image intact and the route unmistakable. */
.profile-hero{min-height:760px;height:calc(100svh - 85px);max-height:1100px;position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 77% 44%,#5b326c,#1b1b3d 43%,#080d1d 80%)}
.profile-photo{position:absolute;z-index:0;right:0;top:0;width:63%;height:100%;overflow:hidden;display:flex;justify-content:flex-end;align-items:center;-webkit-mask-image:linear-gradient(to right,transparent,#000 22%);mask-image:linear-gradient(to right,transparent,#000 22%)}
.profile-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:right bottom;filter:saturate(.88) contrast(1.03)}
.profile-hero::after{content:"";position:absolute;z-index:1;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,13,29,.75),transparent 53%),linear-gradient(0deg,rgba(8,13,29,.85),transparent 28%)}
.profile-copy{position:absolute;z-index:2;left:max(5.2vw,32px);bottom:17%;max-width:80%}
.profile-copy .micro-label{color:#e8b3e8}
.profile-copy h1{font-size:clamp(75px,10vw,168px);line-height:.86;letter-spacing:-.09em;margin:37px 0 50px -6px;font-weight:900;text-shadow:0 15px 70px rgba(8,13,29,.55)}
.profile-copy h1 span{color:var(--red)}
.profile-all{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:13px 25px;border:1px solid rgba(231,195,247,.75);font-size:14px;font-weight:700;background:rgba(27,19,51,.62);transition:background .55s ease,color .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}.profile-all:focus-visible{background:#e6c8ee;color:#11142b;transform:translateY(-3px)}
@media (hover: hover) and (pointer: fine){
.profile-all:hover{background:#e6c8ee;color:#11142b;transform:translateY(-3px)}}
.profile-neighbors{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(217,187,242,.26);border-bottom:1px solid rgba(217,187,242,.26)}
.profile-neighbors a{padding:55px max(5.2vw,32px) 65px;display:flex;flex-direction:column;gap:15px;transition:background .25s}
.profile-neighbors a+a{border-left:1px solid rgba(217,187,242,.26);text-align:right;align-items:flex-end}
@media (hover: hover) and (pointer: fine){
.profile-neighbors a:hover{background:#211b3d}}
.profile-neighbors span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#bb9dc9}
.profile-neighbors strong{font-size:clamp(40px,6vw,90px);line-height:.9;letter-spacing:-.075em}

@media(max-width:1000px){
  .catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .character-card:nth-child(n){margin-top:0}
  .character-card:nth-child(3n+2){margin-top:42px}
}
@media(max-width:700px){
  .catalog-intro{min-height:510px;padding:70px 22px 65px}
  .catalog-intro::before{width:90%;right:-45%;opacity:.17}
  .catalog-intro h1{font-size:clamp(61px,13vw,90px);margin-top:60px}
  .catalog-invitation{font-size:14px;max-width:190px;margin:45px 0 0 auto}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 13px;padding:65px 22px 100px}
  .character-card:nth-child(n){margin-top:0}
  .character-card:nth-child(even){margin-top:36px}
  .character-name{font-size:21px;margin-top:10px}
  .profile-hero{height:calc(100svh - 70px);min-height:720px;max-height:950px}
  .profile-photo{top:0;right:-11%;width:118%;height:78%;-webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%)}
  .profile-photo img{object-position:center top}
  .profile-hero::after{background:linear-gradient(0deg,#080d1d 0%,rgba(8,13,29,.28) 47%,transparent 85%)}
  .profile-copy{left:22px;bottom:8%;max-width:calc(100% - 44px)}
  .profile-copy h1{font-size:clamp(55px,13vw,88px);margin:23px 0 35px -3px}
  .profile-all{min-height:50px}
  .profile-neighbors a{padding:34px 22px 45px}
  .profile-neighbors strong{font-size:clamp(33px,8vw,55px);overflow-wrap:anywhere}
}
@media(prefers-reduced-motion:reduce){.character-card,.character-card-image img{transition:none}}

/* A sequence of scenes, rather than another character directory. */
.looks-page{background:#080d1d}
.looks-page .site-header{position:relative;background:#0b1022}
.looks-intro{position:relative;min-height:calc(100svh - 85px);overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 82% 39%,#3e265b,#141b39 47%,#080d1d 84%)}
.looks-intro-image{position:absolute;inset:0 0 0 auto;width:55%;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 27%);mask-image:linear-gradient(to right,transparent,#000 27%)}
.looks-intro-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 37%;opacity:.62;filter:saturate(.84) contrast(1.08)}
.looks-intro::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#080d1d,transparent 40%),linear-gradient(90deg,rgba(8,13,29,.55),transparent 72%);pointer-events:none}
.looks-intro-copy{position:relative;z-index:1;width:min(100% - 80px,2000px);min-height:calc(100svh - 85px);margin:auto;padding:100px 0 105px;display:flex;flex-direction:column;justify-content:flex-end}
.looks-intro .micro-label{color:#e4a9e2}
.looks-intro h1{font-size:clamp(78px,9vw,180px);letter-spacing:-.09em;line-height:.85;margin:37px 0 44px -8px;max-width:1350px}
.looks-intro-copy p{max-width:390px;margin:0 0 0 28%;font-size:15px;line-height:1.55;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#ddd0eb}
.looks-intro-edge{position:absolute;z-index:2;right:40px;bottom:38px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;color:#d4c6e1}
.looks-gallery{width:min(100% - 10.4vw,1920px);margin:auto;padding:110px 0 230px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5vw 7vw;align-items:start}
.look-panel{min-width:0;margin:0}
.look-panel:nth-child(even){transform:translateY(210px)}
.look-frame{overflow:hidden;position:relative;background:#251d3e;box-shadow:0 35px 80px rgba(0,0,0,.22)}
.look-frame img{display:block;width:100%;height:auto;aspect-ratio:.83;object-fit:cover;object-position:center 33%;filter:saturate(.87)}
.look-panel:nth-child(2) .look-frame img{aspect-ratio:.72;object-position:center 15%}
.look-panel:nth-child(3) .look-frame img{aspect-ratio:.73;object-position:center 22%}
.look-panel:nth-child(4) .look-frame img{aspect-ratio:.9;object-position:center 49%}
.look-panel figcaption{display:flex;justify-content:space-between;gap:32px;padding:21px 0 0;border-top:1px solid rgba(224,198,239,.54);margin-top:19px}
.look-panel figcaption strong{font-size:clamp(21px,2.15vw,38px);letter-spacing:-.055em;line-height:1;font-weight:700}
.look-panel figcaption span{max-width:230px;font-size:11px;line-height:1.45;letter-spacing:.1em;text-transform:uppercase;color:#cdbdda}
@media(min-width:701px) and (max-width:1000px){
  .look-panel figcaption{display:block}
  .look-panel figcaption span{display:block;margin-top:10px;max-width:100%}
}
@media(prefers-reduced-motion:no-preference){
  .looks-intro-copy{animation:hero-enter 1.15s .2s both}
  .looks-motion .look-panel{opacity:0;translate:0 65px;transition:opacity .85s ease,translate 1.2s cubic-bezier(.16,1,.3,1)}
  .looks-motion .look-panel.in-view{opacity:1;translate:0 0}
}
@media(max-width:700px){
  .looks-intro{min-height:calc(100svh - 70px)}
  .looks-intro-image{inset:0;width:100%;-webkit-mask-image:none;mask-image:none}
  .looks-intro-image img{opacity:.53;object-position:center 30%}
  .looks-intro::after{background:linear-gradient(0deg,#080d1d 0%,rgba(8,13,29,.76) 34%,rgba(8,13,29,.09) 100%)}
  .looks-intro-copy{width:calc(100% - 44px);min-height:calc(100svh - 70px);padding:80px 0 65px}
  .looks-intro h1{font-size:clamp(61px,13vw,95px);margin:25px 0 30px -3px;line-height:.91}
  .looks-intro-copy p{margin:0;max-width:310px;font-size:12px}
  .looks-intro-edge{display:none}
  .looks-gallery{width:calc(100% - 44px);padding:70px 0 100px;display:block}
  .look-panel{margin-bottom:75px}
  .look-panel:nth-child(even){transform:none}
  .look-panel figcaption{display:block;margin-top:15px;padding-top:15px}
  .look-panel figcaption strong{display:block;font-size:27px}
  .look-panel figcaption span{display:block;margin-top:9px;max-width:300px}
}
@media(min-width:701px) and (max-width:900px){
  .declaration-bottom{flex-direction:column;align-items:flex-end;gap:25px}
  .declaration-bottom p{margin-right:0}
}
@media(prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root),::view-transition-old(spark-wordmark),::view-transition-new(spark-wordmark){animation-duration:.01ms!important}
}

/* Light travels between chapters; the cast keeps its uninterrupted ascent. */
.declaration::after,.worlds::after,.offerings::before,.connect::before{
  content:"";position:absolute;left:0;right:0;top:0;pointer-events:none;
}
.declaration::after{height:320px;z-index:0;background:linear-gradient(#080d1d 0%,rgba(8,13,29,.72) 24%,rgba(8,13,29,.34) 55%,rgba(8,13,29,.12) 80%,transparent 100%)}
.declaration-top{color:var(--white)}
.worlds::after{height:400px;z-index:0;background:linear-gradient(#d9cfeb 0%,rgba(217,207,235,.7) 24%,rgba(217,207,235,.32) 55%,rgba(217,207,235,.1) 80%,transparent 100%)}
.offerings::before{height:340px;z-index:1;background:linear-gradient(#080d1d 0%,rgba(8,13,29,.7) 24%,rgba(8,13,29,.32) 55%,rgba(8,13,29,.1) 80%,transparent 100%)}
.offerings>.micro-label{position:relative;z-index:2;color:var(--white)}
.connect{position:relative;isolation:isolate}
.connect::before{height:370px;z-index:0;background:linear-gradient(#c9bce1 0%,rgba(201,188,225,.68) 24%,rgba(201,188,225,.3) 55%,rgba(201,188,225,.09) 80%,transparent 100%)}
.connect-heading,.platforms{position:relative;z-index:1}

@media(prefers-reduced-motion:no-preference){
  ::view-transition-old(root){animation:none;opacity:1;filter:none;transform:none}
  ::view-transition-new(root){animation:portal-arrive 2s cubic-bezier(.45,0,.25,1) both}
  ::view-transition-old(spark-wordmark),::view-transition-new(spark-wordmark){animation-duration:2s}
  .orbit-one{animation:orbit-one-drift 24s ease-in-out infinite alternate}
  .orbit-two{animation:orbit-two-drift 29s ease-in-out infinite alternate}
  .hero-flare{animation:flare-orbit 24s linear infinite}
  .hero-avatar{animation:avatar-breathe 18s ease-in-out infinite alternate}
  .hero-kicker{animation:hero-enter .8s .12s both}
  .hero-line-one{animation:hero-enter 1.05s .25s both}
  .hero-line-two{animation:hero-enter 1.15s .42s both}
  .hero-lower{animation:hero-enter .9s .85s both}
  .hero-edge{animation:hero-enter .8s 1.1s both}

  .motion-ready .motion-target{
    transition:opacity .85s cubic-bezier(.19,1,.22,1),transform 1.15s cubic-bezier(.16,1,.3,1);
  }
  .motion-ready .cast-directory-link.motion-target{transition:opacity .85s ease,transform .65s cubic-bezier(.16,1,.3,1),background .55s ease,color .55s ease,box-shadow .55s ease}
  .motion-ready .featured-link.motion-target{transition:opacity .85s ease,transform .65s cubic-bezier(.16,1,.3,1),background .55s ease,box-shadow .55s ease}
  .motion-ready .platform.motion-target{transition:opacity .85s ease,transform .65s cubic-bezier(.16,1,.3,1),color .5s ease,text-shadow .5s ease}
  .motion-ready .motion-target:not(.is-visible){opacity:0;transform:translate3d(0,48px,0)}
  .motion-ready .declaration :is(h1,h2).motion-target:not(.is-visible){transform:translate3d(0,72px,0)}
  .motion-ready .worlds-lead :is(h1,h2).motion-target:not(.is-visible){transform:translate3d(-32px,42px,0)}
  .motion-ready .offerings :is(h1,h2).motion-target:not(.is-visible){transform:translate3d(0,66px,0)}
  .motion-ready .platform.motion-target:not(.is-visible){transform:translate3d(-36px,0,0)}
  .motion-ready .platform-fanvue.motion-target:not(.is-visible){transform:translate3d(36px,0,0)}
  .motion-ready .motion-target.is-visible{opacity:1}
  .motion-ready .declaration-bottom p{transition-delay:.12s}
  .motion-ready .worlds-lead>p{transition-delay:.12s}
  .motion-ready .offerings-lead{transition-delay:.1s}
  .motion-ready .featured-link{transition-delay:.19s,.19s,0s,0s}
  .motion-ready .offerings-status{transition-delay:.28s}
  .motion-ready .connect-heading p{transition-delay:.12s}
  .motion-ready .platform-fanvue{transition-delay:.1s,.1s,0s,0s}
  .motion-ready .platform-bluesky{transition-delay:.17s,.17s,0s,0s}

  .letter-word{display:inline-block;white-space:nowrap}
  .letter-glyph{display:inline-block;opacity:1;transform:translate3d(0,0,0) rotate(0);transition:opacity .7s ease,transform 1.1s cubic-bezier(.16,1,.3,1);transition-delay:var(--glyph-delay,0ms);will-change:transform,opacity}
  .motion-ready .motion-lettered.motion-target:not(.is-visible){opacity:1;transform:none}
  .motion-ready .motion-lettered:not(.is-visible) .letter-glyph{opacity:0;transform:translate3d(0,.7em,0) rotate(7deg)}
}
@keyframes portal-depart{
  0%,38%{opacity:1;transform:none;filter:brightness(1)}
  100%{opacity:0;transform:scale(1.045);filter:brightness(.62)}
}
@keyframes portal-arrive{
  from{clip-path:circle(0% at 50% 76%)}
  to{clip-path:circle(110% at 50% 76%)}
}
@keyframes hero-enter{from{opacity:0;transform:translate3d(0,35px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes orbit-one-drift{to{transform:rotate(-15deg) scaleX(.7) translate3d(-2%,2%,0);opacity:.65}}
@keyframes orbit-two-drift{to{transform:rotate(30deg) scaleX(.64) translate3d(2%,-2%,0);opacity:.5}}
@keyframes flare-orbit{from{transform:translate(-50%,-50%) rotate(0deg) translateX(66px)}to{transform:translate(-50%,-50%) rotate(360deg) translateX(66px)}}
@keyframes avatar-breathe{to{transform:translate3d(-1.3%,0,0) scale(1.02);opacity:.48}}

@media(max-width:700px){
  .hero-flare{animation-name:flare-orbit-mobile}
  .declaration::after{height:230px}
  .worlds::after{height:280px}
  .offerings::before{height:240px}
  .connect::before{height:270px}
}
@keyframes flare-orbit-mobile{from{transform:translate(-50%,-50%) rotate(0deg) translateX(38px)}to{transform:translate(-50%,-50%) rotate(360deg) translateX(38px)}}

/* Luna SPARK's local product collection. */
.shop-entry{display:flex;align-items:center;justify-content:space-between;gap:25px;width:min(100%,375px);min-height:60px;padding:15px 22px;border:1px solid #433357;background:#24213d;color:var(--white);font-size:16px;font-weight:800;transition:background .5s ease,transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease}
.shop-entry span{font-size:24px;font-weight:400;color:var(--pink);line-height:1}.shop-entry:focus-visible{background:#49305f;transform:translateY(-3px);box-shadow:0 16px 40px rgba(95,43,112,.2)}
@media (hover: hover) and (pointer: fine){
.shop-entry:hover{background:#49305f;transform:translateY(-3px);box-shadow:0 16px 40px rgba(95,43,112,.2)}}
.offerings-side .shop-entry{margin-top:16px}
.shop-page,.shop-detail-page{background:var(--night)}
.shop-page .site-header,.shop-detail-page .site-header{position:relative;background:#0b1022}
.shop-intro{padding:80px max(5.2vw,32px) 110px;background:radial-gradient(ellipse at 88% 80%,#34204d,transparent 57%);position:relative}
.shop-intro-top{display:flex;align-items:center;justify-content:space-between;gap:24px}
.shop-intro .micro-label{color:#e4b6e7}
.shop-status{font-size:10px;letter-spacing:.16em;font-weight:800;color:#d4a7dc;white-space:nowrap;padding:10px 13px;border:1px solid rgba(217,173,232,.35)}
.shop-intro h1{font-size:clamp(76px,10vw,180px);line-height:.84;letter-spacing:-.085em;margin:90px 0 55px -8px;max-width:1700px;font-weight:800}
.shop-intro>p{font-size:16px;text-transform:uppercase;letter-spacing:.07em;line-height:1.6;font-weight:700;color:#cbbddc;max-width:440px;margin:0 11% 0 auto}
.shop-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;max-width:2200px;margin:auto;padding:30px max(5.2vw,32px) 180px}
.shop-product{min-width:0;display:block;transition:transform .65s cubic-bezier(.16,1,.3,1)}
.shop-product:nth-child(2){margin-top:125px}
.shop-product-image{aspect-ratio:1;overflow:hidden;background:#15172e;border:1px solid rgba(188,145,215,.15)}
.shop-product-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.toy-gallery{min-width:0}
.toy-gallery-main{display:block;aspect-ratio:1;overflow:hidden;background:#15172e}
.toy-gallery-main img{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .26s ease,transform .9s cubic-bezier(.16,1,.3,1)}
.toy-gallery.is-changing .toy-gallery-main img{opacity:0}
.toy-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:13px}
.toy-thumbnail{display:block;min-width:0;aspect-ratio:1;padding:0;overflow:hidden;cursor:pointer;background:#15172e;border:1px solid rgba(177,140,203,.3);opacity:.62;transition:opacity .4s ease,border-color .4s ease,box-shadow .4s ease}
.toy-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transform:none!important}.toy-thumbnail:focus-visible{opacity:1;border-color:#dab1eb}
@media (hover: hover) and (pointer: fine){
.toy-thumbnail:hover{opacity:1;border-color:#dab1eb}}
.toy-thumbnail[aria-pressed="true"]{opacity:1;border-color:#edb5e8;box-shadow:0 0 0 1px #edb5e8 inset}
.toy-thumbnail:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.shop-product-label{padding-top:26px}
.shop-product-label>span:first-child{font-size:10px;letter-spacing:.21em;font-weight:800;color:#cfabd9}
.shop-product h2{font-size:clamp(36px,3vw,62px);font-weight:700;line-height:1;letter-spacing:-.06em;margin:13px 0 27px}
.shop-product-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:53px;padding:13px 18px;border:1px solid #88759f;background:rgba(163,115,192,.09);font-size:13px;font-weight:800;transition:background .55s ease,border-color .55s ease}
.shop-product-button>span{font-size:23px;line-height:1;color:var(--pink);font-weight:400}.shop-product:focus-visible{transform:translateY(-4px)}
@media (hover: hover) and (pointer: fine){
.shop-product:hover{transform:translateY(-4px)}}.shop-product:focus-visible img{transform:scale(1.025)}
@media (hover: hover) and (pointer: fine){
.shop-product:hover img{transform:scale(1.025)}}.shop-product:focus-visible .shop-product-button{background:#3e2a56;border-color:#d6b1eb}
@media (hover: hover) and (pointer: fine){
.shop-product:hover .shop-product-button{background:#3e2a56;border-color:#d6b1eb}}
.shop-detail{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);align-items:center;gap:6vw;min-height:calc(100svh - 85px);max-width:2400px;margin:auto;padding:70px max(5.2vw,32px) 110px}
.shop-detail-image{min-width:0;overflow:visible;background:transparent}
.shop-detail-image img{display:block;width:100%;height:auto}
.shop-detail .toy-thumbnails{grid-template-columns:repeat(5,minmax(0,110px));gap:12px}
.shop-detail-copy{min-width:0;padding:30px 0}
.shop-detail-top{display:flex;justify-content:space-between;align-items:center;gap:18px}
.shop-detail-top .micro-label{color:#e3b5e9}
.shop-detail h1{font-size:clamp(58px,6.5vw,140px);font-weight:800;letter-spacing:-.075em;line-height:.94;margin:55px 0 35px -5px;overflow-wrap:anywhere}
.shop-detail-line{font-size:clamp(23px,2vw,36px);max-width:550px;line-height:1.15;letter-spacing:-.035em;margin:0 0 25px}
.shop-detail-line{text-transform:uppercase}
.shop-detail-description{max-width:370px;font-size:13px;letter-spacing:.08em;line-height:1.6;text-transform:uppercase;color:#cbbddc;font-weight:700;margin:0 0 50px}
@media(prefers-reduced-motion:no-preference){
  .shop-intro h1{animation:hero-enter 1.1s .15s both}
  .shop-intro>p{animation:hero-enter 1.1s .3s both}
  .shop-detail-copy{animation:hero-enter 1s .15s both}
}
@media(max-width:1000px){
  .shop-gallery{gap:20px}
  .shop-product-button{font-size:11px;gap:18px;padding:12px 13px}
  .shop-detail{gap:4vw;padding-top:50px;padding-bottom:80px}
  .shop-detail-top{align-items:flex-start;flex-direction:column}
}
@media(max-width:700px){
  .shop-intro{padding:45px 22px 65px}
  .shop-intro h1{font-size:clamp(55px,12.5vw,87px);margin:70px 0 38px -3px;line-height:.91}
  .shop-intro>p{font-size:12px;margin:0;max-width:310px}
  .shop-status{font-size:9px;letter-spacing:.12em;padding:9px 10px}
  .shop-gallery{display:block;padding:15px 22px 80px}
  .shop-product{margin-bottom:65px}
  .shop-product:nth-child(2){margin-top:0}
  .shop-product-label{padding-top:20px}
  .shop-product h2{font-size:42px;margin:10px 0 23px}
  .shop-product-button{font-size:13px;min-height:53px;padding:13px 18px;gap:35px}
  .shop-detail{display:flex;flex-direction:column;gap:0;padding:35px 22px 65px;min-height:0}
  .shop-detail-image,.shop-detail-copy{width:100%}
  .shop-detail .toy-gallery{width:100%}
  .shop-detail .toy-thumbnails{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
  .shop-detail-copy{padding:35px 0 0}
  .shop-detail-top{align-items:center;flex-direction:row}
  .shop-detail h1{font-size:clamp(53px,13vw,88px);margin:38px 0 25px -3px}
  .shop-detail-line{font-size:26px}
  .shop-detail-description{margin-bottom:32px;font-size:12px}
}


/* The salmon collection follows the violet collection. */
.shop-gallery-pair{grid-template-columns:repeat(2,minmax(0,1fr));max-width:1800px;padding-top:0;gap:clamp(36px,5vw,110px)}
.shop-gallery-pair .shop-product:nth-child(2){margin-top:80px}
@media(max-width:700px){.shop-gallery-pair .shop-product:nth-child(2){margin-top:0}}

/* Return navigation reveals the finished hero before its ambient motion starts. */
@media(prefers-reduced-motion:no-preference){
  .page-return .hero-kicker,.page-return .hero-line-one,.page-return .hero-line-two,.page-return .hero-lower,.page-return .hero-edge{animation:none}
  .page-transition-active .hero-avatar,.page-transition-active .hero-flare,.page-transition-active .hero-orbit{animation-play-state:paused}
}

@property --portal-radius{syntax:"<length>";inherits:false;initial-value:0px}
.page-transition-cover{position:fixed;inset:0;z-index:2147483647;pointer-events:auto;background:#080d1d;--portal-radius:0px;-webkit-mask-image:radial-gradient(circle at 50% 76%,transparent max(0px,calc(var(--portal-radius) - 2px)),#000 var(--portal-radius));mask-image:radial-gradient(circle at 50% 76%,transparent max(0px,calc(var(--portal-radius) - 2px)),#000 var(--portal-radius))}
.page-transition-cover.is-opening{animation:portal-cover-open 2s cubic-bezier(.45,0,.25,1) both}
@keyframes portal-cover-open{from{--portal-radius:0px}to{--portal-radius:var(--portal-end)}}

/* Character worlds: paired views, selected portraits and films. */
.worlds-collection{width:min(100% - 10vw,2220px);margin:auto;padding:95px 0 150px}
.worlds-toolbar{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:60px}
.worlds-toolbar>p{font-size:clamp(23px,2.4vw,48px);letter-spacing:-.04em;margin:0;max-width:500px}
.worlds-toolbar label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d8c5e5}
.worlds-toolbar input{display:block;margin-top:12px;width:290px;max-width:100%;border:1px solid #6f5c83;background:#17172d;color:#f2eafb;padding:16px 18px;border-radius:0;font:inherit;letter-spacing:.03em}
.character-worlds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:100px 6vw}
.character-world[hidden]{display:none}
.character-world{min-width:0}
.character-world h2{font-size:clamp(30px,3vw,58px);letter-spacing:-.055em;margin:0 0 25px;line-height:1}
.world-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.world-version{min-width:0}
.world-version h3{font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:#d5bcdf;font-weight:500;margin:0 0 14px}
.world-media,.world-empty{position:relative;display:block;width:100%;aspect-ratio:3/4;border:0;background:#17162c;padding:0;overflow:hidden;border-radius:3px}
.world-media{cursor:zoom-in;color:#fff;isolation:isolate}
.world-media>img,.world-media>video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 20%;transition:opacity .5s ease,scale .8s cubic-bezier(.2,.7,.2,1)}
.world-media>video{position:absolute;inset:0;opacity:0;pointer-events:none}
.world-media.is-playing>video{opacity:1}
@media (hover: hover) and (pointer: fine){
.world-media:hover>img{scale:1.025}}
.world-play,.world-expand{position:absolute;bottom:14px;right:14px;display:grid;place-items:center;width:34px;height:34px;background:#0d1027b8;backdrop-filter:blur(8px);border:1px solid #e9cef45c;font-size:20px;transition:background .35s ease}
.world-play{left:14px;right:auto;font-size:11px}
@media (hover: hover) and (pointer: fine){
.world-media:hover .world-expand{background:#774f8ac9}}
.world-empty{display:grid;place-items:center;color:#776487}
.world-alternates{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.world-alternates button{width:44px;height:52px;padding:0;border:1px solid #756181;background:#201e37;color:#edc5eb;cursor:pointer;overflow:hidden;transition:border-color .35s ease,background .35s ease}
@media (hover: hover) and (pointer: fine){
.world-alternates button:hover{border-color:#e6a8df;background:#49334e}}
.world-alternates img{width:100%;height:100%;object-fit:cover;object-position:center 20%}
.world-media:focus-visible,.world-alternates button:focus-visible,.world-lightbox button:focus-visible{outline:2px solid #f3b5e9;outline-offset:4px}
.world-search-status{color:#d6c3e3}
.world-lightbox{position:fixed;inset:0;width:min(1600px,calc(100vw - 60px));height:calc(100dvh - 60px);max-width:none;max-height:none;margin:auto;padding:0 22px;color:#f4edf9;background:#0c1021;border:1px solid #70557b;overflow:hidden}
.world-lightbox[open]{display:grid;grid-template-rows:66px minmax(0,1fr) 62px;animation:world-dialog-in .35s ease both}
.world-lightbox::backdrop{background:#040710e8;backdrop-filter:blur(14px)}
.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.lightbox-bar h2{font-size:16px;letter-spacing:.03em;font-weight:500;margin:0}
.world-lightbox button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:0 12px;background:#251d39;border:1px solid #71567e;color:#f5e6ff;cursor:pointer;transition:background .3s ease}
@media (hover: hover) and (pointer: fine){
.world-lightbox button:hover{background:#594065}}
.lightbox-stage{min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lightbox-stage>img,.lightbox-stage>video{display:block;width:100%;height:100%;object-fit:contain}
.lightbox-controls{display:flex;justify-content:center;align-items:center;gap:25px;font-size:12px;letter-spacing:.1em}
.lightbox-controls button[hidden]{display:none}
.world-lightbox-open{overflow:hidden}
@keyframes world-dialog-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:2000px){.world-pair{gap:26px}.character-worlds{gap:120px 7vw}.world-alternates button{width:55px;height:64px}}
@media(max-width:900px){.character-worlds{grid-template-columns:1fr;gap:65px}.worlds-collection{width:calc(100% - 44px);padding:65px 0 90px}.worlds-toolbar{display:block;margin-bottom:45px}.worlds-toolbar label{display:block;margin-top:30px}.worlds-toolbar input{width:100%}.world-pair{gap:12px}.world-alternates{gap:6px}.world-alternates button{width:36px;height:44px}.world-lightbox{width:calc(100vw - 20px);height:calc(100dvh - 20px);padding:0 10px}.lightbox-bar h2{font-size:13px}.world-play,.world-expand{width:28px;height:28px;bottom:8px;right:8px}.world-play{left:8px;right:auto}}
@media(prefers-reduced-motion:reduce){.world-lightbox[open]{animation:none}.world-media>img,.world-media>video{transition:none}
@media (hover: hover) and (pointer: fine){.world-media:hover>img{scale:none}}}
.world-alternates .world-film{position:relative}
.world-film span{position:absolute;inset:0;display:grid;place-items:center;background:#090b2245;font-size:11px;text-shadow:0 1px 7px #000}
.world-media:not(:has(>img))>video{opacity:1}
.character-gallery{margin-top:24px;border-top:1px solid #665071;border-bottom:1px solid #665071}
.character-gallery-toggle{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:62px;padding:15px 2px;color:#eacfe9;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;list-style:none}
.character-gallery-toggle::-webkit-details-marker{display:none}
.character-gallery-toggle::after{content:'＋';font-size:22px;line-height:1;transition:transform .25s ease}
.character-gallery[open] .character-gallery-toggle::after{transform:rotate(45deg)}
@media (hover: hover) and (pointer: fine){
.character-gallery-toggle:hover{color:#fff}}
.character-gallery-toggle:focus-visible,.character-gallery-item:focus-visible{outline:2px solid #f3b5e9;outline-offset:4px}
.character-media-section{padding:16px 0 28px;border-top:1px solid #3e324d}
.character-media-section h3{margin:0 0 18px;font-size:clamp(22px,2vw,32px);font-weight:500;letter-spacing:-.035em}
.character-media-section>p{color:#bfaecb;font-size:12px}
.character-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.character-gallery-item{position:relative;display:block;min-width:0;padding:0 0 31px;border:1px solid #6e5979;background:#17162c;color:#f3e8f6;text-align:left;cursor:pointer}
.character-gallery-item img{display:block;width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 20%}
@media (hover: hover) and (pointer: fine){
.character-gallery-item:hover{border-color:#d39acb}}
.character-gallery-play{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:30px;height:30px;border:1px solid #e9cef45c;background:#0d1027c9;font-size:11px}
.character-gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:8px 9px;font-size:10px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:600px){.character-media-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.character-gallery-toggle{font-size:11px}.character-gallery-play{top:6px;left:6px;width:25px;height:25px}}
@media(prefers-reduced-motion:reduce){.character-gallery-toggle::after{transition:none}}

/* Personal commission request. */
.commission-page{background:#080d1d}
.commission-page .site-header{position:relative;background:#0b1022}
.commission-opening{position:relative;isolation:isolate;overflow:hidden;padding:100px max(5vw,22px) 85px;min-height:720px;background:radial-gradient(ellipse at 72% 32%,#38244d,transparent 65%)}
.commission-art{position:absolute;z-index:-1;inset:0 0 0 40%;opacity:.42;mask-image:linear-gradient(90deg,transparent,#000 50%)}
.commission-art img{width:100%;height:100%;object-fit:cover;object-position:center 35%}
.commission-opening:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(0deg,#080d1d,transparent 70%)}
.commission-opening .micro-label{color:#e4b0dd}
.commission-opening h1{font-size:clamp(85px,9vw,205px);line-height:.86;letter-spacing:-.075em;margin:34px 0 38px;max-width:1200px}
.commission-opening h1 span{margin-left:15vw;color:#debbeb}
.commission-opening>p{font-size:12px;line-height:1.7;letter-spacing:.09em;color:#d3c2e0;max-width:450px}
.commission-start{display:inline-flex;align-items:center;gap:35px;padding:16px 22px;border:1px solid #9b75af;background:#32223c;margin-top:14px;font-size:12px;text-transform:uppercase;letter-spacing:.09em;transition:background .5s ease,color .5s ease}
@media (hover: hover) and (pointer: fine){
.commission-start:hover{background:#d7b2e6;color:#10142b}}
.commission-workspace{width:min(100% - 10vw,2000px);margin:0 auto;padding:70px 0 150px;display:grid;grid-template-columns:minmax(0,1250px) minmax(220px,1fr);gap:8vw;align-items:start}
#commission-form{min-width:0;scroll-margin-top:35px}
.commission-page fieldset{border:0;padding:0;margin:0;min-width:0}
.commission-format legend{font-size:clamp(32px,3vw,58px);letter-spacing:-.04em;margin-bottom:32px}
.commission-type-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:48px}
.commission-type-options label,.commission-world-options label{cursor:pointer;position:relative}
.commission-type-options input,.commission-world-options input{position:absolute;opacity:0;width:1px;height:1px}
.commission-type-options label>span{min-height:148px;display:flex;position:relative;flex-direction:column;justify-content:center;gap:13px;padding:28px;border:1px solid #5b496b;background:#15162a;transition:border-color .4s ease,background .4s ease,box-shadow .4s ease}
.commission-type-options strong{font-size:30px;letter-spacing:-.04em;font-weight:500}
.commission-type-options small{font-size:11px;color:#ccbbd9;line-height:1.5;max-width:80%}
.commission-type-options b{position:absolute;right:25px;top:30px;color:#c9a6de;font-size:27px;font-weight:400}
.commission-type-options input:checked+span{border-color:#e3a4da;background:#352142;box-shadow:inset 0 0 45px #de89df0c}
.commission-type-options input:focus-visible+span,.commission-world-options input:focus-visible+span{outline:2px solid #8bd4ed;outline-offset:4px}
.commission-fields{display:grid;grid-template-columns:1fr 1fr;gap:30px 24px}
.commission-field,.commission-world legend{display:block;font-size:12px;letter-spacing:.07em;text-transform:uppercase;line-height:1.5;color:#e7d8ee}
.commission-field{min-width:0}
.commission-field input,.commission-field select,.commission-field textarea{display:block;width:100%;padding:17px 18px;margin-top:12px;border:1px solid #61506d;border-radius:0;background:#14172a;color:#f2edfa;font:15px/1.6 Arial,Helvetica,sans-serif;letter-spacing:.015em;transition:border-color .35s ease,background .35s ease}
.commission-field textarea{resize:vertical;min-height:100px}
.commission-field input:focus,.commission-field select:focus,.commission-field textarea:focus{outline:2px solid #d68fc6;outline-offset:2px;background:#1c1c34}
.commission-field input::placeholder,.commission-field textarea::placeholder{color:#a59ab3;opacity:1}
.commission-wide{grid-column:1/-1}
.commission-optional{font-size:10px;color:#b4a2c4;margin-left:6px;letter-spacing:.04em}
.commission-world-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.commission-world-options span{min-height:59px;display:flex;align-items:center;padding:12px 16px;border:1px solid #61506d;background:#14172a;font-size:11px;letter-spacing:.035em;transition:background .35s ease,border-color .35s ease}
.commission-world-options input:checked+span{background:#352142;border-color:#e3a4da}
.commission-references{margin:65px 0}
.commission-references h2{font-size:clamp(32px,3vw,54px);font-weight:500;letter-spacing:-.05em;margin:0 0 18px}
.commission-references>p{font-size:10px;letter-spacing:.09em;line-height:1.6;color:#c9b5da}
.commission-upload{display:block;position:relative;margin-top:26px;cursor:pointer}
.commission-upload input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}
.commission-upload>span{display:block;border:1px dashed #9473a5;padding:28px;background:#1b172e;transition:background .4s ease}
@media (hover: hover) and (pointer: fine){
.commission-upload:hover>span{background:#2a1d3c}}
.commission-upload:focus-within>span{outline:2px solid #8bd4ed;outline-offset:4px}
.commission-upload strong{display:flex;justify-content:space-between;gap:15px;font-size:15px;font-weight:500}
.commission-upload b{font-weight:400;color:#e5a1d5;font-size:21px}
.commission-upload small{display:block;color:#c1adc9;font-size:11px;line-height:1.6;margin-top:12px}
.commission-file-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.commission-file-list>div{display:flex;align-items:center;gap:12px;background:#1c1a30;padding:10px;min-width:0}
.commission-file-list img{width:50px;height:60px;object-fit:cover}
.commission-file-list span{font-size:11px;overflow-wrap:anywhere;min-width:0;flex:1}
.commission-file-list button{flex:none;width:32px;height:36px;border:1px solid #665071;background:#34203c;color:#f4d9f0;cursor:pointer}
.commission-age{display:flex;align-items:center;gap:12px;font-size:13px;margin:35px 0 22px}
.commission-age input{width:20px;height:20px;accent-color:#d68fc6}
.commission-terms{font-size:10px;letter-spacing:.08em;line-height:1.8;color:#bcaacb;max-width:550px;margin-bottom:30px}
.commission-submit,.commission-review-actions button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border:1px solid #d5a4da;padding:20px 28px;background:#d3b6e3;color:#15132a;font:700 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:background .5s ease,color .5s ease,box-shadow .5s ease}
@media (hover: hover) and (pointer: fine){
.commission-submit:hover,.commission-review-actions button:hover{background:#edc8eb;box-shadow:0 8px 45px #cc6fc62b}}
.commission-submit:focus-visible,.commission-review button:focus-visible{outline:2px solid #8bd4ed;outline-offset:4px}
.commission-note{position:sticky;top:50px;padding-top:12px}
.commission-note>span{font-size:10px;letter-spacing:.18em;color:#caa5d4}
.commission-note>p{font-size:clamp(25px,2.3vw,50px);line-height:1.15;letter-spacing:-.04em;margin:25px 0 35px}
.commission-note a{display:inline-flex;align-items:center;gap:20px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;border:1px solid #61506d;padding:16px;transition:background .4s ease}
@media (hover: hover) and (pointer: fine){
.commission-note a:hover{background:#352142}}
.commission-page [hidden]{display:none!important}
.commission-file-error,.commission-form-error,.commission-send-error{color:#ffb6bd!important;font-size:12px;line-height:1.6}
.commission-review{width:min(750px,calc(100vw - 32px));max-height:calc(100dvh - 40px);padding:30px;background:#11162b;border:1px solid #9d74ab;color:#eee2f6;overflow:auto}
.commission-review::backdrop{background:#040715dc;backdrop-filter:blur(12px)}
.commission-review-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
.commission-review h2{font-size:35px;letter-spacing:-.05em;font-weight:500;margin:0}
.commission-review-close{width:44px;height:44px;flex:none;border:1px solid #80618f;background:#2b203d;color:#ecd2f6;cursor:pointer}
.commission-review-content{margin:30px 0}
.commission-review-content>div{padding:16px 0;border-bottom:1px solid #43334f}
.commission-review-content strong{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d7a6dc}
.commission-review-content p{font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0}
.commission-delivery-note{font-size:12px;color:#c7b4d4;line-height:1.7}
.commission-review-actions{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:25px}
.commission-review-actions button{font-size:10px;padding:16px 20px;gap:22px}
.commission-review-actions .commission-edit{background:#251e35;color:#ecdcf6;border-color:#6b507a}
.commission-review-actions button:disabled{opacity:.6;cursor:wait}
@media(min-width:2000px){.commission-opening{padding-top:120px;padding-bottom:100px}.commission-opening h1{max-width:1400px}.commission-workspace{padding-top:100px;gap:10vw}.commission-opening>p{font-size:14px}}
@media(max-width:900px){.commission-workspace{grid-template-columns:1fr}.commission-note{display:none}.commission-opening{min-height:650px}.commission-art{inset:0 0 0 20%;opacity:.32}.commission-opening h1{font-size:clamp(85px,13vw,130px)}.commission-opening h1 span{margin-left:12vw}}
@media(max-width:600px){.commission-page .site-header{padding:0 22px}.commission-page .site-header nav>a:not(.nav-contact){display:none}.commission-opening{padding:70px 22px 60px;min-height:620px}.commission-opening h1{font-size:clamp(74px,18vw,108px);margin:35px 0}.commission-opening h1 span{margin-left:10vw}.commission-opening>p{font-size:10px}.commission-art{inset:0;mask-image:linear-gradient(90deg,transparent,#000 90%)}.commission-workspace{width:calc(100% - 44px);padding:45px 0 90px}.commission-fields{grid-template-columns:1fr;gap:25px}.commission-format legend{font-size:31px}.commission-type-options{gap:10px;margin-bottom:35px}.commission-type-options label>span{padding:20px 15px;min-height:150px;justify-content:flex-start}.commission-type-options strong{font-size:25px}.commission-type-options small{max-width:100%;font-size:10px}.commission-type-options b{right:12px;top:auto;bottom:12px;font-size:22px}.commission-field input,.commission-field select,.commission-field textarea{font-size:16px}.commission-file-list{grid-template-columns:1fr}.commission-submit{width:100%}.commission-review{padding:22px}.commission-review h2{font-size:28px}.commission-review-actions{flex-direction:column}.commission-review-actions button{width:100%}}
.commission-page:has(.commission-review[open]){overflow:hidden}

.commission-social{padding-top:65px;padding-bottom:110px;background:radial-gradient(ellipse at 0% 100%,#36203e80,transparent 70%)}
.commission-social .connect-heading h2{font-size:clamp(48px,7vw,120px);letter-spacing:-.065em}
@media(max-width:600px){.commission-social{padding-top:40px;padding-bottom:65px}.commission-social .connect-heading h2{font-size:54px}}

/* Shared multipage navigation. */
.multipage .site-header{position:relative;background:#0b1022;z-index:50;gap:28px}
.home-page .site-header{position:absolute;background:transparent}
.multipage .site-header .site-nav{display:flex;align-items:center;gap:18px}
.multipage .site-header .site-nav>:is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 12px;border:1px solid transparent;font-size:11px;letter-spacing:.04em;white-space:nowrap;transition:background .4s ease,color .4s ease,border-color .4s ease}
@media (hover: hover) and (pointer: fine){
.multipage .site-header .site-nav>:is(a,button):hover{color:#f5eafa;background:#8c5eaa26;border-color:#b98ac14a}}
.multipage .site-header .site-nav>:is(a,button)[aria-current="page"]{background:#93659c28;border-color:#b98ac174;color:#f5d9f1}
.menu-toggle{display:none}
.multipage .site-footer{grid-template-columns:1fr 1fr;gap:25px 40px}
.multipage .site-footer .footer-mark{width:fit-content;min-height:0;border:0;padding:0;background:none;justify-content:flex-start;border-radius:0;font-size:19px;font-weight:900;letter-spacing:.14em;grid-column:1;grid-row:1}
@media (hover: hover) and (pointer: fine){
.multipage .site-footer .footer-mark:hover{background:none;color:#f2edfa;transform:none}}
.multipage .site-footer>p{grid-column:2;grid-row:1;justify-self:end;text-align:right}
.multipage .footer-nav{display:flex;flex-wrap:wrap;gap:10px;grid-column:1/-1;grid-row:2}
.multipage .footer-nav>:is(a,button){grid-column:auto;grid-row:auto;font-size:11px;min-height:40px;padding:10px 15px}
.multipage .site-footer small{grid-row:3;margin-top:8px}
.world-page .worlds{padding-top:70px}
.offerings-page .offerings{min-height:calc(100svh - 85px)}
.connect-page .connect{min-height:calc(100svh - 85px)}
.looks-page .declaration{min-height:calc(100svh - 85px)}
@media(max-width:1200px){
 .multipage .site-header{height:76px;padding:0 28px}
 .multipage .menu-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:44px;padding:10px 15px;border:1px solid #a081b3;background:#281b37;color:#f2e5fa;font:700 11px/1.3 Arial,Helvetica,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .4s ease}
@media (hover: hover) and (pointer: fine){
 .multipage .menu-toggle:hover{background:#493055}}
 .menu-toggle b{font-size:18px;font-weight:400;transition:transform .35s ease}
 .is-menu-open .menu-toggle b{transform:rotate(45deg)}
 .multipage .site-header .site-nav{display:none;position:absolute;left:0;right:0;top:100%;padding:22px 28px 28px;background:#101328;box-shadow:0 30px 50px #03061299;border-bottom:1px solid #887096;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .multipage .site-header.is-menu-open .site-nav{display:grid;animation:site-menu-in .3s ease both}
 .multipage .site-header .site-nav>:is(a,button){display:flex!important;justify-content:flex-start;min-height:52px;border:1px solid #66516e;padding:15px 18px;font-size:13px}
 .menu-toggle:focus-visible{outline:2px solid #8bd4ed;outline-offset:4px}
}
@keyframes site-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:600px){
 .multipage .site-header{height:70px;padding:0 22px}
 .multipage .site-header .site-nav{padding:18px 22px 24px}
 .multipage .site-header .site-nav>:is(a,button){font-size:12px;padding:14px 12px}
 .multipage .site-footer{display:grid;grid-template-columns:1fr;gap:24px}
 .multipage .site-footer .footer-mark{grid-column:1;grid-row:1}
 .multipage .site-footer>p{grid-column:1;grid-row:2;justify-self:start;text-align:left}
 .multipage .footer-nav{grid-column:1;grid-row:3;display:grid;grid-template-columns:1fr 1fr;gap:8px}
 .multipage .footer-nav>:is(a,button){min-width:0;font-size:10px;padding:10px}
 .multipage .site-footer small{grid-row:4}
 .world-page .worlds{padding-top:50px}
 .looks-page .declaration{min-height:calc(100svh - 70px)}
}
@media(prefers-reduced-motion:reduce){.multipage .site-header.is-menu-open .site-nav{animation:none}}
@media(max-width:600px){.multipage .site-header{gap:16px}.multipage .menu-toggle{gap:16px}}
/* Standalone pages start from the shared dark header instead of the previous chapter. */
.world-page .worlds::after,.connect-page .connect::before{background:linear-gradient(#080d1d 0%,rgba(8,13,29,.45) 35%,transparent 100%)}
.commission-style legend{font-size:clamp(26px,2.4vw,40px);letter-spacing:-.035em;text-transform:none;margin:12px 0 22px}
.commission-style-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.commission-style-options label{position:relative;cursor:pointer;min-width:0}
.commission-style-options input{position:absolute;opacity:0;width:1px;height:1px}
.commission-style-options label>span{display:block;overflow:hidden;border:1px solid #61506d;background:#15162b;padding-bottom:18px;transition:background .4s ease,border-color .4s ease,box-shadow .4s ease}
.commission-style-options img{display:block;width:100%;height:clamp(190px,21vw,320px);object-fit:cover;object-position:center 20%;margin-bottom:18px}
.commission-style-options strong{display:block;font-size:16px;font-weight:600;letter-spacing:.025em;margin:0 18px}
.commission-style-options small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#cdb7db;margin:7px 18px 0}
.commission-style-options input:checked+span{background:#352142;border-color:#e3a4da;box-shadow:0 0 0 1px #e3a4da inset}
.commission-style-options input:focus-visible+span{outline:2px solid #8bd4ed;outline-offset:4px}
@media (hover: hover) and (pointer: fine){
.commission-style-options label:hover>span{border-color:#c69bd0}}
.commission-style-options .commission-style-undecided{grid-column:1/-1}
.commission-style-options .commission-style-undecided>span{padding:17px 0}
.commission-style-undecided strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:600px){.commission-style-options{gap:12px}.commission-style-options img{height:215px}.commission-style-options strong{margin-inline:12px;font-size:14px}.commission-style-options small{margin-inline:12px;font-size:10px}.commission-style legend{font-size:28px}}

/* Public character previews: still image, video on hover, no click action. */
.home-featured{padding:100px max(5vw,22px) 150px;background:radial-gradient(ellipse at 83% 35%,#33204b88,transparent 70%),#080d1d}
.featured-heading{max-width:2200px;margin:0 auto 55px;display:flex;align-items:end;justify-content:space-between;gap:30px}
.featured-heading h2{font-size:clamp(43px,5.2vw,112px);line-height:1;letter-spacing:-.065em;margin:0;font-weight:700;max-width:1300px}
.featured-heading h2>span{color:#e684cc}
.featured-everyone,.featured-meet,.featured-dialog-meet{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:46px;border:1px solid #9771a4;padding:13px 18px;background:#251b37;font-size:11px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;transition:background .45s ease,color .45s ease}
@media (hover: hover) and (pointer: fine){
.featured-everyone:hover,.featured-meet:hover,.featured-dialog-meet:hover{background:#d8b2e2;color:#171327}}
.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:3vw;max-width:2200px;margin:auto}
.featured-character{min-width:0}
.featured-character:nth-child(2){padding-top:70px}
.featured-character:nth-child(3){padding-top:28px}
.featured-preview{position:relative;display:block;width:100%;aspect-ratio:4/5;background:#17162b;overflow:hidden;border:1px solid #634568;padding:0;color:#f4eaf9;cursor:default}
.featured-preview>img,.featured-preview>video{display:block;width:100%;height:100%;object-fit:cover;object-position:center 23%;pointer-events:none;user-select:none}
.featured-preview>video{position:absolute;inset:0;opacity:0;transition:opacity .35s ease}
.featured-preview.is-playing>video{opacity:1}
.featured-play{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:14px;padding:13px 17px;background:#0b0d22c9;border:1px solid #c49dce88;font-size:10px;text-transform:uppercase;letter-spacing:.11em;backdrop-filter:blur(8px);transition:opacity .4s ease,background .4s ease}
.featured-preview.is-playing .featured-play{opacity:0}
.featured-caption{display:flex;align-items:center;justify-content:space-between;gap:15px;padding-top:22px}
.featured-caption h3{font-size:clamp(26px,2.7vw,54px);font-weight:500;letter-spacing:-.05em;line-height:1;margin:0}
.featured-meet{gap:0;padding:12px 15px;font-size:10px}
.featured-meet>span{display:inline-flex;align-items:center;gap:20px;transition:transform .45s ease}
.featured-meet b{font-size:16px;font-weight:400}
@media (hover: hover) and (pointer: fine){
.featured-meet:hover>span{transform:translateX(3px)}}
.featured-preview:focus-visible{outline:2px solid #8bd4ed;outline-offset:5px}
@media(max-width:1000px){.featured-heading{align-items:start;flex-direction:column;gap:24px}.featured-grid{gap:20px}.featured-caption{align-items:start;flex-direction:column}.featured-character:nth-child(2){padding-top:40px}}
@media(max-width:700px){.home-featured{padding:65px 22px 85px}.featured-heading{margin-bottom:35px}.featured-heading h2{font-size:48px}.featured-grid{grid-template-columns:1fr;gap:48px;max-width:500px}.featured-character:nth-child(2),.featured-character:nth-child(3){padding-top:0}.featured-caption{flex-direction:row;align-items:center;padding-top:17px}.featured-caption h3{font-size:34px}.featured-preview{aspect-ratio:4/5}.featured-play{left:14px;bottom:14px}}
@media(prefers-reduced-motion:reduce){.featured-preview>video{transition:none}
@media (hover: hover) and (pointer: fine){.featured-preview:hover>video{scale:none}}.featured-meet>span{transition:none}}

/* One shared character chooser links into the Looks gallery. */
.character-picker-trigger{font-family:inherit;color:inherit;cursor:pointer;text-align:inherit}
.site-nav>.character-picker-trigger{background:transparent;font-weight:700;text-transform:none}
.footer-nav>.character-picker-trigger{background:#251b37;border:1px solid #9771a4;text-transform:uppercase;letter-spacing:.06em}
.character-picker{position:fixed;inset:0;margin:90px 40px auto auto;width:430px;max-width:calc(100vw - 44px);max-height:calc(100dvh - 120px);padding:0;border:1px solid #8c6598;background:#111429;color:#f2edfa;box-shadow:0 30px 100px #02040bd9;overflow:hidden}
.character-picker::backdrop{background:#0508169c;backdrop-filter:blur(7px)}
.character-picker[open]{display:flex;flex-direction:column;animation:character-picker-in .3s ease both}
.character-picker-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 24px 15px}
.character-picker-heading h2{font-size:29px;letter-spacing:-.045em;margin:0;font-weight:500}
.character-picker-close{display:grid;place-items:center;width:42px;height:42px;border:1px solid #82658e;background:#251b37;color:inherit;font-size:25px;cursor:pointer}
.character-picker-search{display:block;margin:0 24px 12px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#d4badd}
.character-picker-search input{display:block;width:100%;margin-top:9px;padding:13px 14px;background:#0a0d20;color:#f2edfa;border:1px solid #786081;border-radius:0;font:16px Arial,Helvetica,sans-serif}
.character-picker-status{margin:0 24px 12px;font-size:12px;color:#c5b2cf}
.character-picker-list{overflow-y:auto;overscroll-behavior:contain;list-style:none;padding:0 12px 14px;margin:0;min-height:0;scrollbar-color:#94719e #151629}
.character-picker-list li[hidden]{display:none}
.character-picker-list a{display:flex;align-items:center;gap:18px;padding:10px 12px;font-size:16px;border:1px solid transparent;transition:background .3s ease,border-color .3s ease}
@media (hover: hover) and (pointer: fine){
.character-picker-list a:hover{background:#36243f;border-color:#795685}}
.character-picker-list img{width:46px;height:58px;object-fit:cover;object-position:center 20%;flex:none;background:#25213b}
.character-picker :is(input,button,a):focus-visible,.character-picker-trigger:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
@keyframes character-picker-in{from{opacity:0;translate:0 -9px}to{opacity:1;translate:0 0}}
@media(max-width:600px){.character-picker{margin:82px auto auto;width:calc(100vw - 44px);max-height:calc(100dvh - 104px)}.character-picker-heading{padding:18px 18px 12px}.character-picker-search{margin-inline:18px}.character-picker-list{padding-inline:6px}.character-picker-list a{padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.character-picker[open]{animation:none}}

.character-world{scroll-margin-top:24px}

/* Direct six-page navigation and Luna's introduction. */
.screen-reader-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.worlds-toolbar{justify-content:flex-end}
.looks-explore{display:inline-flex;align-items:center;gap:28px;align-self:flex-start;margin-left:28%;padding:17px 22px;border:1px solid #b594c4;background:#251b37;color:#f2edfa;font-size:12px;text-transform:uppercase;letter-spacing:.06em;transition:background .4s ease,color .4s ease}
@media (hover: hover) and (pointer: fine){
.looks-explore:hover{background:#d8b2e2;color:#171327}}
.looks-explore span{font-size:22px;line-height:1}
.about-opening{position:relative;min-height:calc(100svh - 85px);display:grid;grid-template-columns:1fr 1fr;isolation:isolate;background:radial-gradient(ellipse at 20% 50%,#3e2359,transparent 70%),#080d1d}
.about-portrait{height:calc(100svh - 85px);min-height:650px;overflow:hidden;mask-image:linear-gradient(90deg,#000 60%,transparent)}
.about-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 23%;opacity:.8}
.about-introduction{position:relative;align-self:center;padding:70px 7vw 80px 0;margin-left:-4vw}
.about-introduction h1{font-size:clamp(90px,10vw,220px);font-weight:800;line-height:.85;letter-spacing:-.075em;margin:45px 0}
.about-introduction h1 span{color:var(--pink)}
.about-introduction>p:last-child{font-size:clamp(13px,1vw,19px);line-height:1.7;text-transform:uppercase;letter-spacing:.05em;max-width:540px}
.about-desire{width:min(90%,2200px);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:9vw;padding:150px 0}
.about-desire-copy h2{font-size:clamp(70px,7.5vw,170px);letter-spacing:-.075em;line-height:.9;margin:0 0 55px;font-weight:500}
.about-desire-copy>p{max-width:540px;text-transform:uppercase;font-size:14px;letter-spacing:.045em;line-height:1.8;margin:0 0 25px;color:#d4c6df}
.about-desire-copy .declaration-link{margin-top:20px}
.about-desire>img{width:100%;max-height:1000px;object-fit:cover;object-position:center 20%;aspect-ratio:4/5}
@media(max-width:700px){.looks-explore{margin-left:0;font-size:10px;gap:20px;padding:15px 18px}.about-opening{display:block;min-height:calc(100svh - 70px)}.about-portrait{position:absolute;inset:0;min-height:0;height:100%;mask-image:linear-gradient(#000,transparent 90%);opacity:.6}.about-introduction{margin:0;padding:300px 22px 65px}.about-introduction h1{font-size:clamp(90px,22vw,140px);margin:30px 0}.about-introduction>p:last-child{font-size:12px}.about-desire{width:calc(100% - 44px);grid-template-columns:1fr;padding:70px 0;gap:45px}.about-desire-copy h2{font-size:74px;margin-bottom:35px}.about-desire-copy>p{font-size:12px}}

/* Simple commission choices and a price that follows the form. */
.commission-price{position:sticky;top:16px;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin:0 0 38px;border:1px solid #b88bc6;background:#171a30;box-shadow:0 12px 35px #05071470}
.commission-price>div{display:flex;flex-direction:column;gap:7px}
.commission-price span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#d9bbdf}
.commission-price small{font-size:13px;line-height:1.4}
.commission-price output{font-size:34px;font-weight:600;letter-spacing:-.04em;white-space:nowrap}
.commission-own{display:flex;align-items:center;gap:12px;margin-top:18px;font-size:14px;cursor:pointer}
.commission-own input{width:20px;height:20px;accent-color:#d68fc6}
.commission-field select:disabled{opacity:.4;cursor:not-allowed}
.commission-orientation legend,.commission-video-length legend{font-size:12px;line-height:1.5;text-transform:uppercase;letter-spacing:.07em;margin-bottom:16px}
.commission-orientation-options,.commission-duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.commission-orientation-options label,.commission-duration-options label{position:relative;cursor:pointer;min-width:0}
.commission-orientation-options input,.commission-duration-options input{position:absolute;opacity:0;width:1px;height:1px}
.commission-orientation-options label>span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:155px;padding:22px 10px;border:1px solid #61506d;background:#14172a;transition:border-color .35s ease,background .35s ease}
.commission-orientation-options i{display:block;border:1px solid #d8b2e2;background:linear-gradient(135deg,#b187ca40,#4b618230);height:58px}
.commission-orientation-options .shape-portrait{width:42px}.commission-orientation-options .shape-landscape{width:73px;height:42px;margin:8px 0}.commission-orientation-options .shape-square{width:58px}
.commission-orientation-options strong{font-size:12px;font-weight:500}
.commission-duration-options label>span{display:flex;flex-direction:column;align-items:center;gap:12px;padding:23px 10px;border:1px solid #61506d;background:#14172a;transition:border-color .35s ease,background .35s ease}
.commission-duration-options strong{font-size:16px;font-weight:500}.commission-duration-options small{font-size:23px;color:#e5bcdf}
.commission-orientation-options input:checked+span,.commission-duration-options input:checked+span{background:#352142;border-color:#e3a4da;box-shadow:0 0 0 1px #e3a4da inset}
.commission-orientation-options input:focus-visible+span,.commission-duration-options input:focus-visible+span{outline:2px solid #8bd4ed;outline-offset:4px}
.commission-references h2 .commission-optional{display:inline-block;vertical-align:middle;font-size:12px;text-transform:uppercase;letter-spacing:.08em}
.commission-review-actions button:disabled,.commission-submit:disabled{cursor:not-allowed;opacity:.55}
@media(max-width:600px){.commission-price{top:10px;padding:16px;margin-bottom:28px}.commission-price output{font-size:29px}.commission-price small{font-size:11px}.commission-orientation-options,.commission-duration-options{gap:8px}.commission-orientation-options label>span{padding:18px 5px;min-height:145px}.commission-duration-options label>span{padding:20px 5px}.commission-duration-options strong{font-size:13px}.commission-duration-options small{font-size:20px}.commission-references h2{font-size:32px}.commission-references h2 .commission-optional{display:block;margin:12px 0 0}.commission-field small{font-size:10px}}

/* Keep the browser canvas and transparent transition areas on the same dark base. */
::view-transition{background:#080d1d}
::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal}

/* Separate wishes in one commission request. */
.commission-editor{scroll-margin-top:24px}
.commission-item-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:0 0 28px}
.commission-add-item,.commission-new-item,.commission-cancel-item,.commission-cart-controls button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:16px 21px;border:1px solid #aa82b7;background:#30213d;color:#f2edfa;font:600 12px/1.4 Arial,Helvetica,sans-serif;letter-spacing:.05em;cursor:pointer;transition:background .4s ease,color .4s ease}
.commission-add-item{background:#d3b6e3;color:#15132a;border-color:#d5a4da}
@media (hover: hover) and (pointer: fine){
.commission-add-item:hover,.commission-new-item:hover,.commission-cart-controls button:hover{background:#edc8eb;color:#171327}}
.commission-add-item:disabled{opacity:.5;cursor:not-allowed}
.commission-cancel-item{background:transparent;border-color:#665070}
.commission-cart-status{font-size:13px;line-height:1.6;color:#d9b4df;min-height:0}
.commission-cart{margin:35px 0 55px;padding:28px;border:1px solid #786082;background:#111529;scroll-margin-top:25px}
.commission-cart h2{font-size:35px;letter-spacing:-.04em;font-weight:500;margin:0 0 25px}
.commission-cart-item{display:grid;grid-template-columns:1fr auto;gap:25px;padding:24px 0;border-bottom:1px solid #4d3b58;min-width:0}
.commission-cart-item:first-child{padding-top:0}
.commission-cart-item h3{margin:0 0 12px;font-size:24px;letter-spacing:-.035em;font-weight:500}
.commission-cart-item p{font-size:12px;line-height:1.7;margin:0 0 10px;overflow-wrap:anywhere;color:#d4c6df}
.commission-cart-wish{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.commission-cart-item small{font-size:11px;color:#bba8c9}
.commission-cart-controls{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.commission-cart-controls strong{font-size:25px;letter-spacing:-.035em;margin-bottom:5px}
.commission-cart-controls button{padding:9px 14px;font-size:10px;min-width:80px;justify-content:center}
.commission-cart-total{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:25px 0;font-size:13px;text-transform:uppercase;letter-spacing:.07em}
.commission-cart-total output{font-size:33px;letter-spacing:-.035em;font-weight:600}
.commission-new-item{width:100%;background:#1e1a30}
.commission-cart~.commission-contact{margin-top:40px}
.commission-page :is(.commission-add-item,.commission-new-item,.commission-cancel-item,.commission-cart-controls button):focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
@media(max-width:600px){.commission-cart{padding:20px;margin:28px 0 40px}.commission-cart h2{font-size:30px}.commission-cart-item{gap:15px}.commission-cart-controls strong{font-size:22px}.commission-cart-item h3{font-size:23px}.commission-item-actions>button{width:100%}.commission-cart-item p{font-size:11px}.commission-cart-controls button{min-width:70px}.commission-new-item{font-size:11px;padding:16px}}

/* Navigation stays available throughout the page. */
:root{--header-height:85px}
html{scroll-padding-top:calc(var(--header-height) + 16px)}
.multipage .site-header{position:sticky;top:0;z-index:100;transition:background .35s ease,box-shadow .35s ease}
.multipage.home-page .site-header{position:fixed;top:0}
.multipage .site-header.is-scrolled{background:rgba(8,13,29,.95);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 30px #02040b40}
.commission-price{top:calc(var(--header-height) + 16px)}
.commission-note{top:calc(var(--header-height) + 28px)}
@media(max-width:1200px){:root{--header-height:76px}.multipage .site-header .site-nav{max-height:calc(100dvh - var(--header-height));overflow-y:auto;overscroll-behavior:contain}}
@media(max-width:600px){:root{--header-height:70px}.commission-price{top:calc(var(--header-height) + 10px)}}

/* Keep the outgoing page intact; reveal the incoming page above it. */
::view-transition-group(root){animation:none}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root){opacity:1;mix-blend-mode:normal;z-index:1}
::view-transition-new(root){opacity:1;mix-blend-mode:normal;z-index:2}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}

/* Commission paths: existing cast or a custom character. */
.commission-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:7px;border:1px solid #61506d;background:#101426;margin-bottom:32px}
.commission-tabs button{min-height:62px;padding:16px 20px;border:1px solid transparent;background:transparent;color:#baadc9;font:500 18px/1.3 Arial,Helvetica,sans-serif;cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease}
.commission-tabs button[aria-selected="true"]{background:#352142;border-color:#d499cf;color:#f2edfa}
@media (hover: hover) and (pointer: fine){
.commission-tabs button:hover{background:#292038;color:#fff}}
.commission-tabs button:focus-visible{outline:2px solid #8bd4ed;outline-offset:3px}
.commission-mode-panel{margin-bottom:32px}
.commission-mode-panel h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.035em;font-weight:500;margin:0 0 16px}
.commission-mode-panel p{font-size:11px;letter-spacing:.08em;color:#cdb7db;line-height:1.6}
.commission-fields .commission-format legend{font-size:12px;text-transform:uppercase;letter-spacing:.07em;margin-bottom:16px}
.commission-fields .commission-type-options{margin-bottom:0}
@media(max-width:600px){.commission-tabs button{font-size:16px;min-height:56px;padding:14px 10px}.commission-tabs{margin-bottom:24px}}

/* Member access retains the site's navy/violet palette and shared navigation. */
.membership-main{position:relative;isolation:isolate;min-height:calc(100svh - 85px);padding:100px max(5vw,24px) 120px;display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:center;overflow:hidden}
.membership-backdrop{position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#080d1df5 5%,#13132fc9 60%,#080d1de8),url('/assets/hero-motion-poster.webp') right 30%/cover;opacity:.65}
.membership-intro h1{font-size:clamp(90px,9vw,190px);line-height:.88;letter-spacing:-.075em;margin:40px 0;color:#f0eafb;font-weight:600}
.membership-intro>p{font-size:12px;line-height:1.8;letter-spacing:.08em;color:#d5c3de}
.membership-soon{margin:38px 0 32px;border-left:1px solid #bb83ba;padding:5px 0 5px 22px}
.membership-soon>span{font-size:11px;letter-spacing:.14em;color:#d6a9d4}.membership-soon p{font-size:15px;color:#d3c5df;margin:10px 0 0}
.membership-home{display:inline-flex;gap:25px;font-size:12px;padding:16px 22px;border:1px solid #665475;transition:background .35s}
@media (hover: hover) and (pointer: fine){.membership-home:hover{background:#352142}}
.membership-login{max-width:560px;width:100%;padding:42px;border:1px solid #64516f;background:#12152acc;backdrop-filter:blur(14px)}
.membership-login h2{font-size:clamp(46px,4vw,72px);letter-spacing:-.05em;margin:26px 0 32px;font-weight:500}
#member-login{display:grid;gap:24px}.membership-button{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:58px;padding:18px 22px;border:1px solid #d39acb;background:#352142;color:#f2eafa;font:500 14px/1.4 Arial,sans-serif;cursor:pointer;transition:background .35s ease,border-color .35s ease}
@media (hover: hover) and (pointer: fine){
.membership-button:hover{background:#4b2f58;border-color:#edc2e8}}.membership-button:disabled{opacity:.5;cursor:wait}.member-status{font-size:13px;line-height:1.7;color:#dfc4df}
.member-logout{padding:12px 18px;border:1px solid #6d587b;background:#191a30;color:#eadff4;font:12px Arial,sans-serif;cursor:pointer;transition:background .35s}
@media (hover: hover) and (pointer: fine){.member-logout:hover{background:#352142}}.member-account .member-logout{margin-top:20px}
.member-gallery-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:32px}.member-gallery-bar>span{font-size:11px;letter-spacing:.14em;color:#ccb4d8}.member-gallery-bar>div{display:flex;align-items:center;gap:24px}.member-gallery-bar a{font-size:12px}
.content-ratings{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}.content-ratings a{padding:13px 22px;border:1px solid #61506d;color:#c7b6d4;font-size:12px;transition:background .35s,color .35s}.content-ratings a[aria-current="page"]{background:#352142;color:#f2eafa;border-color:#d39acb}
@media (hover: hover) and (pointer: fine){.content-ratings a:hover{background:#352142;color:#f2eafa;border-color:#d39acb}}
.membership-page [hidden],.member-enter[hidden]{display:none!important}
@media(max-width:900px){.membership-main{grid-template-columns:1fr;padding-top:65px;gap:56px}.membership-intro h1{font-size:clamp(90px,16vw,150px)}.membership-login{max-width:650px}}
@media(max-width:600px){.membership-main{padding:55px 22px 80px}.membership-intro h1{font-size:clamp(88px,21vw,125px)}.membership-login{padding:28px 22px}.member-gallery-bar{align-items:flex-start}.member-gallery-bar>div{gap:12px}.member-gallery-bar a{font-size:11px}.content-ratings a{padding:13px 18px}}

/* Interactive hit areas stay still; colour and light provide the hover response. */
:is(.hero-explore,.declaration-link,.featured-link,.platform,.cast-directory-link,.profile-all,.shop-entry,.shop-product,.character-card):is(:hover,:focus-visible),.site-footer a:is(:hover,:focus-visible){transform:none}
a,button,input[type="submit"],summary{touch-action:manipulation}
.multipage .site-header .site-nav .member-access-link{border-color:#a886b9;background:#38233f;color:#f2e5fa;gap:10px}
.member-access-link svg{width:13px;height:15px;flex:none}
.gallery-access-note{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:18px;margin:0 auto 34px;padding:0 24px;text-align:center}
.gallery-access-note p{margin:0;color:#cbbbd8;font:500 11px/1.6 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.gallery-access-note .cast-directory-link{margin:0;gap:18px;padding-inline:24px}

.member-access-link{gap:10px}
#member-login[hidden],.member-account[hidden]{display:none}

/* Member gate shows public previews; full media remains server-authorized. */
.member-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:5px;margin-bottom:28px;border:1px solid #665170;background:#0e1225}
.member-tabs button{min-height:48px;padding:12px 16px;border:1px solid transparent;background:transparent;color:#bba9c9;font:500 13px Arial,sans-serif;cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease}
.member-tabs button[aria-selected="true"]{background:#352142;border-color:#b58ac1;color:#f2eafa}
.member-tabs button:focus-visible{outline:2px solid #8bd4ed;outline-offset:3px}
.member-locked-preview{position:relative;height:180px;overflow:hidden;margin-bottom:30px;border:1px solid #705478;isolation:isolate}
.member-preview-images{display:grid;grid-template-columns:repeat(3,1fr);height:100%;gap:5px;filter:blur(4px);scale:1.05;pointer-events:none}
.member-preview-images img{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center 25%;opacity:.55}
.member-preview-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:linear-gradient(#11142763,#111427d9);color:#f5e6ff;font:600 10px Arial,sans-serif;letter-spacing:.17em}
.member-preview-overlay svg{width:27px;height:31px;filter:drop-shadow(0 0 18px #b177ba)}
.member-invitation{font:500 11px/1.8 Arial,sans-serif;letter-spacing:.08em;color:#d2bfdd}
.member-unlock-steps{display:grid;gap:14px;padding:0;list-style:none;margin:28px 0;font:13px/1.5 Arial,sans-serif;color:#e6d6ee}
.member-unlock-steps li{padding-left:19px;position:relative}
.member-unlock-steps li::before{content:"";position:absolute;left:0;top:.46em;width:5px;height:5px;border:1px solid #bd91bd;border-radius:50%}
.member-checkout{width:100%}.member-checkout:disabled{cursor:not-allowed;opacity:.7}
.member-opening-note{font:12px/1.6 Arial,sans-serif;color:#c1a8cd;margin:15px 0 0}
.member-tabs[hidden],.membership-page [role="tabpanel"][hidden]{display:none}
@media(max-width:600px){.member-locked-preview{height:150px}.member-tabs{margin-bottom:24px}}
.member-enter[hidden]{display:none}

.member-plan-options{border:0;padding:0;margin:30px 0 24px;min-width:0}
.member-plan-options legend{font:500 11px Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin-bottom:13px;color:#dfc6e9}
#member-plans{display:grid;gap:8px}
#member-plans label{position:relative;cursor:pointer}
#member-plans input{position:absolute;opacity:0}
#member-plans label>span{display:grid;grid-template-columns:1fr auto;gap:7px 16px;padding:16px;border:1px solid #62506e;background:#121529;color:#e4d7ed;transition:background .3s ease,border-color .3s ease}
#member-plans input:checked+span{border-color:#d8a6d5;background:#352142}
#member-plans input:focus-visible+span{outline:2px solid #8bd4ed;outline-offset:3px}
#member-plans strong,#member-plans label>span>span{font:500 14px Arial,sans-serif}
#member-plans small{grid-column:1/-1;font:10px/1.5 Arial,sans-serif;letter-spacing:.07em;color:#c7accf}
.member-filter-locked{border-style:dashed!important}

/* Commission content selection and separate customer access. */
.commission-rating-options{margin:20px 0}.commission-rating-options small{font-size:11px;line-height:1.5;text-align:center;padding:0 5px}.commission-rating-status,.commission-account-note{font-size:12px;line-height:1.8;color:#d9c5e4}.commission-account-note a,.commission-age-dialog a{color:#f1d6eb;text-underline-offset:5px}.commission-age-dialog>p{font-size:15px;line-height:1.8;margin:25px 0}.commission-age-dialog .commission-review-actions a{padding:16px 0}.commission-content legend{font-size:24px;letter-spacing:-.02em}

/* Membership state is shown beside the category; authorization stays server-side. */
.content-ratings a{display:inline-flex;align-items:center;gap:9px}.membership-lock{width:15px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.content-ratings [data-access="unlocked"] .membership-lock{opacity:.6}.content-ratings [data-access="locked"] .membership-lock{color:#efbedf}

/* Direct support contact, above the social destinations. */
.contact-support{position:relative;z-index:1;max-width:1500px;margin:0 auto 100px;padding:35px 0 45px;border-top:1px solid #766283;border-bottom:1px solid #766283;display:grid;grid-template-columns:1fr 1.2fr;align-items:center;gap:35px}.connect .contact-support h2{font-size:clamp(42px,4.4vw,72px);font-weight:500;letter-spacing:-.06em;line-height:1.05;margin:20px 0}.contact-support p{max-width:390px;font-size:11px;letter-spacing:.06em;line-height:1.8;color:#c5b7d4}.contact-email{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 24px;border:1px solid #ae8eb8;border-radius:3px;background:#2b2144;color:#f1dfef;text-decoration:none;font-size:clamp(17px,2.1vw,35px);letter-spacing:-.035em;transition:background .4s ease,border-color .4s ease}.contact-email span{overflow-wrap:anywhere}.contact-email svg{width:25px;height:25px;flex:none}.contact-email:focus-visible{outline:2px solid #a1d9ef;outline-offset:5px}@media(hover:hover) and (pointer:fine){.contact-email:hover{background:#443057;border-color:#e3b3d9}}@media(max-width:700px){.contact-support{grid-template-columns:1fr;gap:18px;margin-bottom:65px;padding:30px 0}.contact-email{padding:20px 16px;font-size:clamp(16px,5.3vw,25px);gap:12px}.contact-email svg{width:20px;height:20px}.contact-support p{font-size:10px}}

/* Animate only the scene that can be seen; keep the same motion on re-entry. */
.viewport-paused .cast-lane,.viewport-paused .cast-streaks,.viewport-paused .offerings-echo img,.viewport-paused .hero-art *,.viewport-paused.declaration::before{animation-play-state:paused!important}
.viewport-paused .cast-lane{will-change:auto}
.home-page .declaration:not(.media-ready)::before{background-image:none}

.customer-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.customer-actions[hidden]{display:none}.customer-actions button,#customer-back{border:1px solid #77708f;background:transparent;color:inherit;padding:.8rem 1rem;cursor:pointer;border-radius:.4rem;transition:background .25s,border-color .25s}.customer-actions button:hover,#customer-back:hover{background:#ffffff12;border-color:#d6c9ef}.customer-adult{display:flex;align-items:center;gap:.7rem;margin:1rem 0 1.5rem}.customer-adult input{width:1.2rem;height:1.2rem;accent-color:#c6a0d4}#customer-panel h2{margin-top:1.5rem}#customer-back{margin-top:1rem}.customer-email-state{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}

/* Shared tab geometry prevents portrait recropping and scroll anchoring on switch. */
.member-panels{display:grid;align-items:start;isolation:isolate}
.membership-page .member-panels>[role="tabpanel"],.membership-page .member-panels>[role="tabpanel"][hidden]{display:block!important;grid-area:1/1;min-width:0;transition:opacity .46s ease,transform .56s cubic-bezier(.22,.7,.2,1),visibility 0s}
.membership-page .member-panels>[role="tabpanel"][hidden]{visibility:hidden;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .38s ease,transform .46s ease,visibility 0s .46s}
.membership-page .member-panels>[role="tabpanel"]:not([hidden]){visibility:visible;opacity:1;transform:translateY(0)}
.member-tabs{position:relative;isolation:isolate}
.member-tabs::before{content:"";position:absolute;z-index:-1;top:5px;bottom:5px;left:5px;width:calc((100% - 16px)/2);border:1px solid #b58ac1;background:#352142;box-sizing:border-box;transform:translateX(calc(var(--member-tab-index,0)*(100% + 6px)));transition:transform .56s cubic-bezier(.22,.7,.2,1)}
.member-tabs button[aria-selected="true"]{background:transparent;border-color:transparent}
.member-status{min-height:1.7em}
#member-plans{min-height:235px}
@media(prefers-reduced-motion:reduce){.membership-page .member-panels>[role="tabpanel"],.membership-page .member-panels>[role="tabpanel"][hidden],.member-tabs::before{transition:none}}

.admin-preview-bar{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0 0 36px;padding:16px 20px;border:1px solid #9575ab;background:#17172d;color:#f1eafa;font:13px/1.5 Arial,sans-serif}.admin-preview-bar strong{margin-right:auto}.admin-preview-bar a,.admin-preview-bar button{display:inline-flex;align-items:center;padding:10px 14px;border:1px solid #b59ac6;background:#332443;color:inherit;text-decoration:none;cursor:pointer;font:inherit;transition:background .3s ease}.admin-preview-bar a:hover,.admin-preview-bar button:hover{background:#513260}
/* Membership lifecycle: provider-backed states and customer payment history. */
.member-unlock-steps li.is-complete{color:#eeb3df}.customer-membership,.customer-orders{margin:24px 0;padding-top:20px;border-top:1px solid #65506f}.customer-membership h2,.customer-orders h2{font-size:24px}.customer-membership p,.customer-orders p{font-size:13px;line-height:1.6}.customer-membership a{display:block;color:#edb2db;margin:14px 0}.customer-membership button,.customer-orders button,.customer-requests button{min-height:44px;padding:10px 14px;border:1px solid #80658a;background:#241c35;color:#f4e4f2;font:inherit;cursor:pointer}.customer-orders article{margin:16px 0;padding:14px;border:1px solid #514260;overflow-wrap:anywhere}.customer-orders h3{font-size:14px}.customer-orders button:disabled,.customer-requests button:disabled{opacity:.5;cursor:default}
