@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600&display=swap');
@font-face{font-family:"IRAN Dorandis";src:url("./fonts/iran-dorandis/IRANDorandis/IRANDorandis.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;--gold:#c6a56d;--text:#e9e6df;--muted:#969993}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
button{font:inherit}button:focus-visible{outline:1px solid var(--gold);outline-offset:5px}
.brand-dissolve{position:fixed;z-index:3;pointer-events:none;touch-action:auto;cursor:default}.brand-dissolve[hidden]{display:none}
.navigation{position:fixed;z-index:2;top:20px;right:32px;display:flex;gap:26px;align-items:center}
.navigation button{min-height:44px;border:0;background:transparent;color:var(--gold);font-size:13px;cursor:pointer;padding:8px 0;transition:color 160ms,opacity 160ms}
.navigation button:hover,.navigation button:focus-visible,.navigation button[aria-pressed=true]{color:#f0d795}.navigation button:disabled{color:#756b55;cursor:default;opacity:.72}
#product-panel{position:fixed;bottom:154px;right:32px;left:auto;direction:rtl;z-index:2;text-shadow:0 2px 20px #000}
#product-panel[hidden]{display:none}.eyebrow{font-size:9px;letter-spacing:.3em;color:var(--gold)}#product-label{font-size:22px;margin:12px 0 20px;font-weight:400}
#product-copy{direction:rtl;width:min(380px,calc(100vw - 64px));margin:0 0 24px;color:var(--text)}
#product-copy h2{direction:ltr;text-align:left;margin:0 0 10px;font:600 clamp(28px,3vw,44px)/1 Cinzel,Georgia,serif;letter-spacing:.075em;color:#dfc17d;text-shadow:0 3px 20px #000}
#product-copy>p{max-width:350px;margin:0 0 18px;color:#c8c4ba;font-size:13px;line-height:1.9;text-shadow:0 2px 14px #000}
#order-product{width:44px;min-width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--gold);padding:0;cursor:pointer;transition:color 160ms,opacity 160ms}
#order-product svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}#order-product:hover,#order-product:focus-visible{color:#f0d795;outline:none}
.product-actions{display:flex;align-items:center;gap:20px}.product-actions button{min-height:44px;background:#08100dbb;color:var(--text);border:1px solid #c6a56d55;border-radius:3px;padding:8px 18px;cursor:pointer;transition:opacity 160ms}
.product-actions button:disabled{opacity:.4;cursor:wait}.product-actions span{margin-right:22px}#sound{border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px}
.product-actions{direction:ltr;gap:18px;margin-top:24px;opacity:0;pointer-events:none;transition:opacity 420ms cubic-bezier(.23,1,.32,1)}.product-actions.is-visible{opacity:1;pointer-events:auto}.product-actions button{display:grid;place-items:center;width:44px;min-height:44px;padding:6px;background:transparent;border:0;color:#777b72;transition:color 160ms,opacity 160ms}.product-actions svg{width:19px;height:29px;fill:none;stroke:currentColor;stroke-width:1}.product-actions button[aria-pressed=true]{color:#dfbd70}.product-actions button:hover:not(:disabled),.product-actions button:focus-visible{color:#f0d795;outline:none}.navigation{right:24px}#sound{position:fixed;z-index:3;top:20px;left:72px;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:var(--gold);cursor:pointer}#sound svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.sound-slash{display:none}#sound[aria-pressed=false] .sound-wave{display:none}#sound[aria-pressed=false] .sound-slash{display:block}
#euphony-toggle{position:fixed;z-index:3;top:20px;left:120px;height:44px;display:flex;align-items:center;gap:9px;padding:0 7px;border:0;background:transparent;color:var(--gold);cursor:pointer;font:500 9px Cinzel,Georgia,serif;letter-spacing:.18em;transition:color 160ms,opacity 160ms}#euphony-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}#euphony-toggle:hover,#euphony-toggle:focus-visible,#euphony-toggle[aria-expanded=true]{color:#f0d795;outline:none}
#language-toggle{position:fixed;z-index:3;top:20px;left:230px;width:44px;height:44px;padding:0;border:0;background:transparent;color:#9e8a60;cursor:pointer;font:500 9px Cinzel,Georgia,serif;letter-spacing:.15em;transition:color 160ms}#language-toggle:hover,#language-toggle:focus-visible{color:#f0d795;outline:none}
#euphony-panel{position:fixed;z-index:4;top:74px;left:20px;width:min(320px,calc(100vw - 40px));padding:22px;direction:ltr;border:1px solid #c6a56d38;background:#050907e8;color:var(--text);box-shadow:0 22px 70px #000b;backdrop-filter:blur(16px);opacity:1;transform:translate3d(0,0,0);transform-origin:top left;transition:opacity 220ms cubic-bezier(.23,1,.32,1),transform 220ms cubic-bezier(.23,1,.32,1)}#euphony-panel[aria-hidden=true]{opacity:0;transform:translate3d(0,-8px,0);pointer-events:none}#euphony-panel header{display:grid;gap:7px;padding-bottom:16px;border-bottom:1px solid #c6a56d26}#euphony-panel header span{color:#9b875d;font-size:8px;letter-spacing:.3em}#euphony-panel header strong{overflow:hidden;color:#e5ca89;font:500 17px Cinzel,Georgia,serif;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.euphony-controls{display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 0 9px}.euphony-controls button{width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#a69d8c;cursor:pointer}.euphony-controls button:hover,.euphony-controls button:focus-visible{color:#f0d795;outline:none}.euphony-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.music-pause{display:none}[data-music-play][aria-pressed=true] .music-play{display:none}[data-music-play][aria-pressed=true] .music-pause{display:block}#euphony-panel ol{list-style:none;margin:0;padding:5px 0 0}#euphony-panel li button{width:100%;min-height:38px;display:flex;align-items:center;gap:14px;padding:5px 0;border:0;background:transparent;color:#8f918b;text-align:left;cursor:pointer;font-size:11px;letter-spacing:.025em;transition:color 160ms}#euphony-panel li button span{color:#665b45;font:8px Cinzel,Georgia,serif;letter-spacing:.12em}#euphony-panel li button[aria-current=true]{color:#e4c67f}#euphony-panel li button:hover,#euphony-panel li button:focus-visible{color:#f0d795;outline:none}
@media(max-width:800px){.navigation{top:14px;right:16px;left:auto;gap:16px}.navigation button{font-size:11px}#product-panel{left:20px;right:20px;bottom:76px}#product-label{margin:0 0 18px;text-align:right}#product-copy{width:100%;margin-bottom:8px}#product-copy>p{max-width:min(100%,350px);margin:0;line-height:1.8}#order-product{position:absolute;top:0;left:0}.product-actions{position:fixed;z-index:3;left:50%;bottom:14px;transform:translateX(-50%);width:max-content;margin:0;padding:0;gap:14px;border:0;background:transparent;backdrop-filter:none}.product-actions button{width:44px;min-height:44px;padding:6px}.product-actions svg{width:17px;height:27px}#sound{top:14px;left:60px}}
*{box-sizing:border-box}html,body,#stage{width:100%;height:100%;margin:0;overflow:hidden}
body{background:#030706;color:var(--text);font-family:Cinzel,"Segoe UI",Tahoma,sans-serif}
canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}canvas:active{cursor:grabbing}
.oniva-lockup{position:fixed;z-index:2;top:clamp(92px,13vh,150px);right:auto;left:50%;bottom:auto;direction:ltr;pointer-events:none;text-align:center;color:#d6ad62;transform:translate3d(-50%,0,0);transform-origin:center top;transition:opacity 240ms var(--ease-out,cubic-bezier(.23,1,.32,1));user-select:none;white-space:nowrap}
.oniva-mark{width:clamp(270px,32vw,520px);line-height:0;filter:drop-shadow(0 3px 18px #000c) drop-shadow(0 0 12px #c8963824)}.oniva-mark img{display:block;width:100%;height:auto}
.oniva-lockup p{margin:15px 0 0 4px;color:#c9aa6a;font:500 clamp(8px,.72vw,11px)/1.2 Cinzel,"Segoe UI",Tahoma,sans-serif;letter-spacing:.42em;text-shadow:0 2px 12px #000}.oniva-lockup p span{color:#f0d494}
html[lang=fa] .oniva-mark{width:clamp(190px,24vw,390px);direction:rtl}
html[lang=fa] .oniva-lockup p{direction:rtl;margin-top:7px;margin-right:5px;margin-left:0;font-family:"Segoe UI",Tahoma,sans-serif;letter-spacing:.12em}
@media(min-width:601px){.oniva-mark{width:clamp(240px,25vw,420px)}html[lang=fa] .oniva-mark{width:clamp(160px,18vw,300px)}}
.scroll-cue{position:fixed;z-index:2;top:clamp(260px,34vh,332px);left:50%;bottom:auto;display:grid;justify-items:center;gap:8px;color:#aa8b51;transform:translateX(-50%);transition:opacity 220ms cubic-bezier(.23,1,.32,1),transform 220ms cubic-bezier(.23,1,.32,1);pointer-events:none}.scroll-cue span{width:1px;height:30px;background:linear-gradient(transparent,#d4ad62);animation:scroll-pulse 1.8s cubic-bezier(.77,0,.175,1) infinite}.scroll-cue b{font:500 7px/1 Cinzel,Georgia,serif;letter-spacing:.35em}.scroll-cue.is-hidden{opacity:0;transform:translate(-50%,8px)}.scroll-progress{position:fixed;z-index:2;right:15px;top:50%;display:grid;gap:9px;transform:translateY(-50%);pointer-events:none}.scroll-progress i{width:3px;height:3px;border-radius:50%;background:#7c715d;transition:transform 220ms cubic-bezier(.23,1,.32,1),background-color 160ms}.scroll-progress i.is-current{background:#e0bd70;transform:scale(1.8)}@keyframes scroll-pulse{0%,100%{opacity:.25;transform:scaleY(.55);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
.brand-ash{position:absolute;inset:-18% -8%;opacity:0;background:radial-gradient(circle at 12% 82%,#ffd37a 0 1px,transparent 2px),radial-gradient(circle at 28% 90%,#e38b32 0 1.5px,transparent 2.5px),radial-gradient(circle at 44% 76%,#ffe1a0 0 1px,transparent 2px),radial-gradient(circle at 61% 88%,#cb6422 0 1.5px,transparent 2.5px),radial-gradient(circle at 78% 79%,#ffc45c 0 1px,transparent 2px),radial-gradient(circle at 92% 91%,#d87329 0 1.5px,transparent 2.5px);background-size:19% 31%,23% 37%,17% 29%,21% 35%,18% 27%,25% 39%}
.oniva-lockup.is-burning{animation:brand-shell 1100ms cubic-bezier(.23,1,.32,1) forwards}.oniva-lockup.is-burning .oniva-mark,.oniva-lockup.is-burning p{animation:brand-burn 1050ms cubic-bezier(.23,1,.32,1) forwards}.oniva-lockup.is-burning .brand-ash{animation:ash-rise 900ms cubic-bezier(.23,1,.32,1) 90ms forwards}
@keyframes brand-shell{0%,88%{opacity:1}100%{opacity:0}}
@keyframes brand-burn{0%{clip-path:inset(-25% -10% -25% -10%);opacity:1;transform:translate3d(0,0,0)}38%{opacity:1}100%{clip-path:inset(-25% -10% 125% -10%);opacity:0;transform:translate3d(0,-10px,0)}}
@keyframes ash-rise{0%{opacity:0;transform:translate3d(0,8px,0) scale(.98)}24%{opacity:1}100%{opacity:0;transform:translate3d(12px,-54px,0) scale(1.04)}}
#reset{position:fixed;z-index:3;left:20px;top:20px;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--gold);cursor:pointer;transition:color .2s,opacity .2s}
#reset:hover,#reset:focus-visible,#sound:hover,#sound:focus-visible{color:#f0d795;outline:none}#reset svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
.loading{position:fixed;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:0;overflow:hidden;text-align:center;background:radial-gradient(circle at 50% 43%,#10201a 0,#07100d 22%,#020605 58%,#010302 100%);color:#c6a56d;transition:opacity 600ms cubic-bezier(.23,1,.32,1)}
.loading::before{content:"";position:absolute;inset:-35%;background:conic-gradient(from 210deg at 50% 48%,transparent 0 38%,#b88a3b0b 42%,transparent 47% 72%,#1b72500a 78%,transparent 84%);animation:loader-room 12s linear infinite;pointer-events:none}
.loader-ritual{position:relative;width:180px;height:180px;display:grid;place-items:center;margin-bottom:22px;animation:ritual-enter 900ms cubic-bezier(.23,1,.32,1) both}.loader-aura{position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle,#e2bd6820 0,transparent 68%);box-shadow:0 0 58px #c18c3326,0 0 120px #177b5224;animation:aura-breathe 2.8s cubic-bezier(.77,0,.175,1) infinite alternate}
.loader-ring{position:absolute;border-radius:50%;background:conic-gradient(from 20deg,transparent 0 10%,#e7c579 15%,transparent 22% 48%,#456f5d 58%,transparent 66% 88%,#9a6e2e 94%,transparent);-webkit-mask:radial-gradient(circle,transparent 66%,#000 67% 70%,transparent 71%);mask:radial-gradient(circle,transparent 66%,#000 67% 70%,transparent 71%)}.loader-ring-a{inset:5px;animation:loader-orbit 5.6s linear infinite}.loader-ring-b{inset:19px;opacity:.65;animation:loader-orbit-reverse 7.2s linear infinite}
.loader-slit{position:absolute;width:1px;height:108px;background:linear-gradient(transparent,#f7d98c 34%,#fff0bd 52%,#a87932 72%,transparent);box-shadow:0 0 9px #edc36b,0 0 34px #d6a34b70;animation:slit-breathe 2.2s cubic-bezier(.77,0,.175,1) infinite alternate}.loader-glyph{position:relative;z-index:1;width:72px;height:72px;display:grid;place-items:center;padding-bottom:9px;border-radius:50%;direction:rtl;color:#e9ca7e;font:400 54px/1 "IRAN Dorandis","Segoe UI",Tahoma,sans-serif;text-shadow:0 0 22px #d8a74470;animation:glyph-breathe 2.2s cubic-bezier(.77,0,.175,1) infinite alternate}
.loader-ritual>i{position:absolute;left:50%;top:73%;width:2px;height:2px;border-radius:50%;background:#edca75;box-shadow:0 0 6px #efbd58;animation:loader-dust 2.7s cubic-bezier(.23,1,.32,1) var(--d) infinite}.loading-brand{display:block;width:112px;line-height:0;filter:drop-shadow(0 0 22px #b9802d40);animation:loader-copy 700ms cubic-bezier(.23,1,.32,1) 180ms both}.loading-brand img{display:block;width:100%;height:auto}html[lang=en] .loading-brand{width:168px}.loading-status{margin:10px 0 15px;color:#8f8b7d;font-size:10px;letter-spacing:.16em;animation:loader-copy 700ms cubic-bezier(.23,1,.32,1) 260ms both}
.loader-progress{width:148px;height:1px;overflow:hidden;background:#66543735}.loader-progress span{display:block;width:42%;height:100%;background:linear-gradient(90deg,transparent,#e1bd68,transparent);animation:loader-sweep 1.7s cubic-bezier(.77,0,.175,1) infinite}.loading.done{opacity:0;pointer-events:none}
@keyframes ritual-enter{from{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes loader-room{to{transform:rotate(360deg)}}@keyframes loader-orbit{to{transform:rotate(360deg)}}@keyframes loader-orbit-reverse{to{transform:rotate(-360deg)}}@keyframes aura-breathe{from{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@keyframes slit-breathe{from{opacity:.38;transform:scaleY(.78)}to{opacity:1;transform:scaleY(1)}}@keyframes glyph-breathe{from{opacity:.64}to{opacity:1}}@keyframes loader-dust{0%{opacity:0;transform:translate3d(var(--x),8px,0) scale(.8)}24%{opacity:.9}100%{opacity:0;transform:translate3d(calc(var(--x) + 10px),-62px,0) scale(1.1)}}@keyframes loader-copy{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes loader-sweep{from{transform:translateX(-120%)}to{transform:translateX(340%)}}
@media(max-width:600px){#reset{left:12px;top:14px}.oniva-lockup{top:var(--mobile-brand-top,max(118px,calc(env(safe-area-inset-top) + 102px)));right:auto;left:50%;transform:translate3d(-50%,0,0)}.oniva-mark{width:205px}html[lang=fa] .oniva-mark{width:148px}.oniva-lockup p{font-size:7px;letter-spacing:.24em}html[lang=fa] .oniva-lockup p{letter-spacing:.08em}#euphony-toggle{top:14px;left:104px;width:44px;padding:0;justify-content:center}.euphony-label{display:none}#euphony-panel{top:64px;left:12px;width:min(310px,calc(100vw - 24px));padding:18px}}
@media(max-width:600px){.scroll-cue{top:auto;bottom:88px}.scroll-progress{right:8px}}
@media(min-width:601px){.scroll-cue{top:clamp(340px,44vh,425px)}}
@media(max-width:600px){#language-toggle{top:14px;left:148px}}
html[lang=en] .navigation{right:auto;left:24px}html[lang=en] #product-panel{right:auto;left:32px;direction:ltr;text-align:left}html[lang=en] #product-copy{direction:ltr}html[lang=en] #reset{left:auto;right:20px}html[lang=en] #sound{left:auto;right:72px}html[lang=en] #euphony-toggle{left:auto;right:120px}html[lang=en] #language-toggle{left:auto;right:230px}html[lang=en] #euphony-panel{left:auto;right:20px;transform-origin:top right}html[lang=en] .oniva-lockup{right:auto;left:50%;text-align:center;transform:translate3d(-50%,0,0);transform-origin:center top}html[lang=en] .product-actions{direction:rtl}
@media(max-width:800px){html[lang=en] .navigation{right:auto;left:16px}html[lang=en] #product-panel{right:20px;left:20px}html[lang=en] #product-label{text-align:left}html[lang=en] #order-product{right:0;left:auto}}
@media(max-width:600px){html[lang=en] #reset{right:12px;left:auto}html[lang=en] #sound{right:60px;left:auto}html[lang=en] #euphony-toggle{right:104px;left:auto}html[lang=en] #language-toggle{right:148px;left:auto}html[lang=en] #euphony-panel{right:12px;left:auto}html[lang=en] .oniva-lockup{right:auto;left:50%;transform:translate3d(-50%,0,0)}}
/* On short landscape phones, keep the two navigation families on opposite
   edges and give every action its own touch-safe row. */
@media(max-width:900px){
  .navigation{top:12px;left:12px;right:68px;display:flex;flex-direction:row;direction:ltr;align-items:center;justify-content:flex-start;gap:clamp(6px,2vw,18px);max-width:calc(100vw - 80px)}
  .navigation{isolation:isolate;text-shadow:0 2px 8px #000,0 0 16px #000}
  .navigation::before{content:none}
  .navigation button{min-height:44px;padding:6px 3px;text-align:center;white-space:nowrap;font-size:clamp(9px,2.2vw,11px)}
  #reset,#sound,#euphony-toggle,#language-toggle{right:12px;left:auto;width:44px;height:44px;padding:0;justify-content:center}
  #reset,#sound,#euphony-toggle,#language-toggle{background:transparent;filter:none}
  #reset{top:12px}#sound{top:56px}#euphony-toggle{top:100px}#language-toggle{top:144px}
  .euphony-label{display:none}
  #euphony-panel{top:12px;right:64px;left:auto;width:min(280px,calc(100vw - 88px));max-height:calc(100dvh - 24px);padding:16px;overflow-y:auto;overscroll-behavior:contain}
  #euphony-panel header{gap:5px;padding-bottom:11px}
  #euphony-panel header strong{font-size:15px}
  .euphony-controls{gap:13px;padding:7px 0 4px}
  #euphony-panel li button{min-height:36px;padding:3px 0;font-size:10px}
  html[lang=en] .navigation{top:12px;left:12px;right:68px;align-items:center}
  html[lang=en] .navigation button{text-align:center}
  html[lang=en] #reset,html[lang=en] #sound,html[lang=en] #euphony-toggle,html[lang=en] #language-toggle{right:12px;left:auto}
  html[lang=en] #reset{top:12px}html[lang=en] #sound{top:56px}html[lang=en] #euphony-toggle{top:100px}html[lang=en] #language-toggle{top:144px}
  html[lang=en] #euphony-panel{top:12px;right:64px;left:auto}
}
@media(prefers-reduced-motion:reduce){.loading::before,.loader-ritual,.loader-aura,.loader-ring,.loader-slit,.loader-glyph,.loader-ritual>i,.loading-brand,.loading-status,.loader-progress span,.scroll-cue span{animation:none}.oniva-lockup.is-burning{animation:brand-fade 200ms cubic-bezier(.23,1,.32,1) forwards}.oniva-lockup.is-burning .brand-ash{animation:none}#euphony-panel{transition:opacity 200ms cubic-bezier(.23,1,.32,1);transform:none}@keyframes brand-fade{to{opacity:0}}}
