/* Night Garden — an original living illustration for Farsi Frequency. */
.ff-garden-link{display:inline-flex;align-items:center;gap:12px;margin-top:24px;color:var(--saffron);font-family:var(--body);font-size:.88rem;text-decoration:none;border-bottom:1px solid rgba(var(--c-saffron-rgb),.35);padding-bottom:5px}
.ff-garden-link span:first-child{font-size:1.2rem}
.ff-garden-link:hover{color:var(--white)}
section.ff-garden{max-width:1380px;padding:76px 28px 30px;scroll-margin-top:88px}
.ff-garden-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:26px}
.ff-garden-heading .eyebrow{margin-bottom:12px}
.ff-garden-heading h2{margin-bottom:8px;font-size:clamp(1.4rem,2.8vw,2.3rem)}
.ff-garden-heading h2 .fa{display:inline-block;margin-left:16px;font-size:1.05em;color:var(--saffron)}
.ff-garden-subtitle{font-size:1.02rem;color:var(--mist)}
.ff-garden-scene{position:relative;isolation:isolate;aspect-ratio:16/9;min-height:440px;overflow:hidden;border:1px solid rgba(var(--c-saffron-rgb),.48);border-radius:5px;background:#140d29;box-shadow:0 24px 80px -35px rgba(0,0,0,.7);color:#fff6df;contain:layout paint}
.ff-garden-scene::after{content:"";position:absolute;inset:10px;border:1px solid rgba(234,192,115,.36);z-index:9;pointer-events:none}
.ff-garden-world{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.ff-garden-backdrop{position:absolute;inset:-2%;width:104%;height:104%;object-fit:cover;object-position:50% 52%;animation:ffGardenBreathe 26s ease-in-out infinite alternate}
.ff-garden-vignette{position:absolute;inset:0;z-index:5;background:linear-gradient(180deg,rgba(16,7,35,.25),transparent 25%,transparent 64%,rgba(12,5,27,.65)),radial-gradient(ellipse at center,transparent 38%,rgba(17,6,32,.42))}
.ff-garden-halo{position:absolute;z-index:1;left:34%;top:22%;width:32%;height:50%;border-radius:50%;background:radial-gradient(ellipse,rgba(242,184,85,.3),rgba(180,124,66,.06) 45%,transparent 70%);animation:ffGardenHalo 8s ease-in-out infinite}
.ff-garden-beam{position:absolute;z-index:1;top:4%;left:43%;height:70%;width:30%;transform-origin:50% 95%;background:linear-gradient(180deg,rgba(254,222,160,.045),transparent 90%);clip-path:polygon(0 0,85% 0,50% 100%);mix-blend-mode:screen;animation:ffGardenBeam 18s ease-in-out infinite alternate}
.ff-garden-beam--two{left:26%;animation-delay:-12s;opacity:.7}
.ff-garden-dj{position:absolute;z-index:3;left:34%;bottom:3%;width:32%;aspect-ratio:2/3}
.ff-garden-dj img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.ff-garden-dj-still{clip-path:inset(47% 0 0 0)}
.ff-garden-dj-body{clip-path:inset(0 0 52% 0);transform-origin:50% 47%;animation:ffGardenDJ 4.8s ease-in-out infinite}
.ff-garden-dancer{position:absolute;z-index:4;bottom:1.5%;width:32%;height:auto;transform-origin:50% 92%;animation:ffGardenDance 8s ease-in-out infinite}
.ff-garden-dancer--left{left:10%;animation-delay:-2s}
.ff-garden-dancer--right{right:9%;animation-name:ffGardenDanceRose;animation-duration:9.5s;animation-delay:-5s}
.ff-garden-particles{position:absolute;inset:0;z-index:6;overflow:hidden;pointer-events:none}
.ff-garden-particles i{position:absolute;left:var(--x);top:var(--y);width:3px;height:3px;border-radius:50%;background:#ffdc8d;box-shadow:0 0 8px rgba(255,194,103,.75);opacity:0;animation:ffGardenFirefly var(--duration) ease-in-out var(--delay) infinite}
.ff-garden-particles i:nth-child(4n){width:6px;height:3px;border-radius:70% 5% 70% 5%;background:#d89569}
.ff-garden-caption{position:absolute;z-index:7;top:30px;left:32px;display:flex;flex-direction:column;gap:5px;text-shadow:0 2px 15px #130822}
.ff-garden-caption span{font:400 .62rem var(--display);letter-spacing:.25em;color:#f8d395}
.ff-garden-caption strong{font:400 1.75rem 'Amiri',serif;line-height:1.6;color:#fff4d9}
.ff-garden-soundbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid rgba(var(--c-saffron-rgb),.2)}
.ff-garden-listen{display:inline-flex;align-items:center;gap:13px;background:transparent;border:0;color:var(--white);font:500 .92rem var(--body);cursor:pointer;min-height:44px;text-align:left}
.ff-garden-play-disc{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--saffron);background:rgba(var(--c-saffron-rgb),.08);color:var(--saffron)}
.ff-garden-play-disc svg{width:13px;height:13px;fill:currentColor}
.ff-garden-listen .ff-pause-icon{display:none}
.ff-garden[data-onair="true"] .ff-garden-listen .ff-pause-icon{display:block}
.ff-garden[data-onair="true"] .ff-garden-listen .ff-play-icon{display:none}
.ff-garden-listen small{display:block;color:var(--mist);font-size:.72rem;font-weight:400;margin-top:2px}
.ff-garden-wave{height:28px;display:flex;align-items:center;gap:4px;margin-left:auto;color:var(--saffron)}
.ff-garden-wave i{width:3px;height:3px;display:block;border-radius:2px;background:currentColor}
.ff-garden[data-onair="true"] .ff-garden-wave i{height:22px;animation:ffGardenEqualizer 1.2s ease-in-out infinite alternate}
.ff-garden-wave i:nth-child(3n){animation-delay:-.4s!important}
.ff-garden-wave i:nth-child(3n + 1){animation-delay:-.8s!important}
.ff-garden-endnote{font:400 .56rem var(--display);letter-spacing:.17em;line-height:1.9;text-align:right;color:var(--mist)}
.ff-garden button:focus-visible,.ff-garden-link:focus-visible{outline:2px solid var(--firouzeh);outline-offset:6px}
.persian-dancer-art img{transform-origin:55% 75%;animation:ffHeroSilk 14s ease-in-out infinite alternate}
html[data-motion="paused"] *,html[data-motion="paused"] *::before,html[data-motion="paused"] *::after,
html[data-motion-hidden] *,html[data-motion-hidden] *::before,html[data-motion-hidden] *::after{animation-play-state:paused!important}
html[data-motion="paused"].ff3d .hero-copy > *{animation:none!important;opacity:1;transform:none}
.ff-garden:not([data-visible="true"]) .ff-garden-world *,
.hero[data-art-visible="false"] .persian-dancer-art img{animation-play-state:paused!important}
@keyframes ffGardenDance{0%,100%{transform:rotate(-1.3deg) translate3d(0,0,0)}50%{transform:rotate(1.8deg) translate3d(4px,-4px,0)}}
@keyframes ffGardenDanceRose{0%,100%{transform:rotate(1.5deg) translate3d(0,0,0)}50%{transform:rotate(-1.8deg) translate3d(-5px,-3px,0)}}
@keyframes ffGardenDJ{0%,100%{transform:rotate(-.5deg)}50%{transform:rotate(.6deg)}}
@keyframes ffGardenBreathe{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes ffGardenHalo{0%,100%{opacity:.5;transform:scale(.96)}50%{opacity:1;transform:scale(1.07)}}
@keyframes ffGardenBeam{from{transform:rotate(-22deg)}to{transform:rotate(22deg)}}
@keyframes ffGardenFirefly{0%,100%{opacity:0;transform:translate3d(0,18px,0)}35%{opacity:.7}65%{opacity:.45}90%{opacity:0;transform:translate3d(22px,-60px,0)}}
@keyframes ffGardenEqualizer{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
@keyframes ffHeroSilk{from{transform:translate3d(0,0,0) rotate(-.35deg)}to{transform:translate3d(-4px,-6px,0) rotate(.4deg)}}
@media(min-width:1500px){.ff-garden-scene{aspect-ratio:1.9}}
/* Keep the existing navigation from squeezing the brand at tablet widths. */
@media(max-width:1000px){
 nav .nav-links a:not(.nav-cta){display:none}
 nav .brand{flex-shrink:0}
 nav .brand-name{white-space:nowrap}
}
@media(max-width:800px){
 section.ff-garden{padding-top:55px}
 .ff-garden-heading{align-items:flex-start}
 .ff-garden-heading h2 .fa{display:block;margin:7px 0 0}
 .ff-garden-caption{top:24px;left:25px}
 .ff-garden-caption strong{font-size:1.5rem}
 .ff-garden-endnote{display:none}
 .ff-garden-scene{aspect-ratio:1.35;min-height:0}
 .ff-garden-dj{width:37%;left:31.5%;bottom:2%}
 .ff-garden-dancer{width:40%;bottom:1%}
 .ff-garden-dancer--left{left:1%}
 .ff-garden-dancer--right{right:1%}
}
@media(max-width:520px){
 section.ff-garden{padding:44px 18px 15px}
 .ff-garden-heading{flex-wrap:wrap;gap:15px;margin-bottom:18px}
 .ff-garden-heading h2{font-size:1.28rem}
 .ff-garden-heading h2 .fa{display:inline-block;margin-left:7px;font-size:1rem}
 .ff-garden-subtitle{font-size:.91rem}
 .ff-garden-scene{aspect-ratio:3/4}
 .ff-garden-backdrop{width:160%;max-width:none;left:-30%;object-position:center}
 .ff-garden-dj{width:54%;left:23%;bottom:7%}
 .ff-garden-dancer{width:55%;max-width:none;bottom:3%}
 .ff-garden-dancer--left{left:-11%}
 .ff-garden-dancer--right{right:-11%}
 .ff-garden-caption{top:24px;left:24px}
 .ff-garden-caption span{font-size:.48rem}
 .ff-garden-caption strong{font-size:1.35rem}
 .ff-garden-scene::after{inset:7px}
 .ff-garden-soundbar{gap:10px;padding:15px 0}
 .ff-garden-listen{font-size:.84rem;gap:10px}
 .ff-garden-wave{gap:3px}
 .ff-garden-wave i:nth-child(n+10){display:none}
}
@media(prefers-reduced-motion:reduce){
 .ff-garden-world *,.persian-dancer-art img{animation:none!important;transform:none!important}
 .ff-garden-particles{display:none}
 .ff-garden-wave i{animation:none!important}
 .ff-garden[data-onair="true"] .ff-garden-wave i:nth-child(2n){height:10px}
}
