@font-face{font-family:Vazirmatn;src:url('../assets/fonts/Vazirmatn.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root{--ink:#090a0f;--paper:#d9fff4;--muted:#a1a5ad;--accent:#65dcd5;--gold:#e5b537;--plum:#321e48;--steel:#43637e;--mint:#d9fff4;--line:rgba(217,255,244,.12);--pad:clamp(24px,4.2vw,80px);color-scheme:dark;font-family:Vazirmatn,Tahoma,sans-serif;background:var(--ink);color:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:#43637e var(--ink)}body{margin:0;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--accent);color:var(--ink)}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.page-progress{position:fixed;inset:0 0 auto;height:2px;z-index:30;direction:ltr}.page-progress>span{display:block;width:100%;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.masthead{position:fixed;top:0;inset-inline:var(--pad);height:102px;z-index:20;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.wordmark{display:flex;gap:12px;align-items:center;font-weight:700;font-size:17px;line-height:1.7}.wordmark svg{color:var(--accent)}.brand-caption{display:block;color:var(--muted);font-size:12px;font-weight:400}.masthead-note{font:12px/1.5 monospace;letter-spacing:.12em;color:#d1d9e3;display:flex;gap:17px;align-items:center}.location-cross{font-size:23px;color:var(--accent)}.local-coordinate{color:#858991;margin-left:14px}.motion-toggle{display:flex;gap:9px;align-items:center;border:0;background:none;cursor:pointer;padding:10px 0;color:#bcc4ce;font-size:12px}.motion-toggle svg{stroke:currentColor;fill:none;stroke-width:1.5}.play-icon{display:none}.motion-toggle[aria-pressed=true] .play-icon{display:block}.motion-toggle[aria-pressed=true] .pause-icon{display:none}
.experience{height:1080vh;height:1080svh;position:relative}.stage{position:sticky;top:0;height:100vh;height:100svh;min-height:480px;overflow:hidden;isolation:isolate}.stage-background{position:absolute;inset:0;z-index:-2;overflow:hidden;background:radial-gradient(ellipse at 54% 105%,#321e48 0%,#11151d 36%,#090a0f 66%)}.grid-plane{position:absolute;inset:0;opacity:.13;background-image:linear-gradient(to right,#43637e 1px,transparent 1px),linear-gradient(to bottom,#43637e 1px,transparent 1px);background-size:130px 130px;mask-image:linear-gradient(transparent 7%,#000 65%,transparent)}.ambient{position:absolute;border-radius:50%;filter:blur(60px);will-change:transform;pointer-events:none}.ambient-one{background:#65dcd5;width:46vw;height:32vw;left:30%;top:65%;opacity:.09}.ambient-two{background:#43637e;width:38vw;height:38vw;left:-23%;top:17%;opacity:.08}.orbit{position:absolute;width:70vw;height:70vw;left:15%;top:57%;border:1px solid rgba(101,220,213,.14);border-radius:50%;transform:rotateX(62deg) rotateZ(-18deg)}.orbit-two{width:91vw;height:91vw;left:4.5%;top:44%;border-style:dashed;border-color:rgba(67,99,126,.2)}.grain{position:absolute;inset:0;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}
.hero{position:absolute;inset:0;text-align:center;padding-top:clamp(132px,20vh,240px);z-index:3;pointer-events:none;will-change:transform,opacity}.hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:13px;color:#a4c6d5;font-size:14px;font-weight:400}.eyebrow-line{width:31px;height:1px;background:var(--accent);display:inline-block;flex-shrink:0}.hero h1{margin:24px 0 18px;font-size:clamp(64px,8.05vw,144px);line-height:1.37;letter-spacing:-.055em;font-weight:850}.title-line{display:block;overflow:hidden;padding-inline:20px;margin-top:-.04em}.title-word{display:inline-block;will-change:transform,opacity}.title-second{margin-top:-.14em}.city{color:var(--accent);position:relative;display:inline-block;padding-inline:5px}.city svg{position:absolute;bottom:.055em;left:0;width:100%;height:13px;overflow:visible}.city path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:400;stroke-dashoffset:400}.hero-tagline{display:flex;align-items:center;justify-content:center;gap:14px;font-size:clamp(16px,1.25vw,21px);color:#bac9d5;font-weight:350}.tagline-divider{width:4px;height:4px;background:var(--accent);border-radius:50%;flex-shrink:0}.hero-side{position:absolute;bottom:29%;text-align:left;display:flex;flex-direction:column;line-height:1.6}.hero-side-left{left:var(--pad);font:clamp(24px,2.2vw,38px)/1.1 Arial,sans-serif;font-weight:700;letter-spacing:-.04em;opacity:.75}.accent{color:var(--accent)}.hero-side-right{right:var(--pad);text-align:right;gap:14px;font-size:12px;color:#a0a5b0}.side-index{font:12px monospace;letter-spacing:.15em;color:var(--accent)}
.scene-mount{position:absolute;inset:0;z-index:4;pointer-events:none}.scene-mount canvas{display:block;width:100%;height:100%}.phone-caption{position:absolute;right:9%;bottom:15%;z-index:5;display:flex;align-items:center;gap:15px;font-size:12px;color:#a4b9c5;opacity:0;pointer-events:none}.caption-rule{height:1px;width:32px;background:#65dcd5}.caption-number{font:12px monospace;letter-spacing:.05em;color:#7a8290}
.story{position:absolute;top:25%;left:9%;width:40%;max-width:650px;z-index:6;opacity:0;visibility:hidden;text-align:right;pointer-events:none;will-change:opacity}.story-label{display:flex;align-items:center;gap:12px;font-size:14px;color:#a5bdce;margin-bottom:30px}.chapter-viewport{position:relative;height:clamp(260px,32vh,360px);perspective:1200px}.chapter{position:absolute;inset:0;visibility:hidden;opacity:0;will-change:transform,opacity;transform-origin:100% 50%}.chapter.is-current{opacity:1;visibility:visible}.chapter-kicker{display:block;font-size:12px;color:#a7acb8;margin-bottom:18px;letter-spacing:.04em}.chapter h2{font-size:clamp(30px,3.75vw,62px);font-weight:650;line-height:1.48;letter-spacing:-.035em;margin:0}.reveal-line{display:block;transform-origin:right center;will-change:transform,opacity,filter}.chapter h2 em{font-style:normal;color:var(--accent);font-weight:800}.chapter-navigation{display:flex;align-items:center;gap:16px;direction:ltr;margin-top:25px;width:90%;pointer-events:auto}.current-chapter,.total-chapters{font:13px monospace}.current-chapter{color:var(--accent)}.total-chapters{color:#666b76}.chapter-segments{display:flex;gap:7px;flex:1}.chapter-segments button{height:30px;flex:1;position:relative;padding:0;border:0;background:none;cursor:pointer}.chapter-segments button:before{content:"";position:absolute;inset:14px 0 auto;height:2px;background:#343640}.chapter-segments button:after{content:"";position:absolute;inset:14px 0 auto;height:2px;background:var(--accent);transform:scaleX(var(--fill,0));transform-origin:left;box-shadow:0 0 10px #65dcd522}.story-footnote{display:block;color:#949ba7;font-size:13px;margin-top:14px}
.stage-footer{position:absolute;inset:auto var(--pad) 25px;display:flex;justify-content:space-between;align-items:center;z-index:7;direction:ltr;font-size:12px}.stage-label,.stage-counter{font:11px monospace;letter-spacing:.08em;color:#9399a5}.stage-counter>span{color:var(--accent)}.scroll-cue{display:flex;gap:12px;align-items:center;direction:rtl;color:#c8dadf;padding:10px;font-size:12px}.scroll-track{width:17px;height:28px;border:1px solid #43637e;border-radius:12px;display:flex;justify-content:center;padding-top:6px}.scroll-track>span{display:block;width:2px;height:6px;background:var(--accent);border-radius:2px;animation:scroll-tick 1.8s infinite}.scroll-copy{white-space:nowrap}
.readable-content{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.readable-content:focus{position:relative;width:auto;height:auto;clip-path:none;white-space:normal;padding:100px var(--pad);background:var(--ink)}.skip-link{position:fixed;right:20px;top:-80px;z-index:100;background:var(--accent);color:var(--ink);padding:12px 20px;border-radius:6px}.skip-link:focus{top:12px}.noscript-notice{padding:24px;color:var(--accent)}
body.is-loading .title-word{transform:translateY(110%) rotate(3deg);opacity:0}body.is-loading .hero-eyebrow,body.is-loading .hero-tagline{opacity:0}.scene-fallback{position:absolute;inset:auto var(--pad) 100px;font-size:14px;text-align:center;color:var(--accent)}.no-webgl .hero{position:relative;min-height:100svh}.no-webgl .scene-mount,.no-webgl .phone-caption,.no-webgl .story,.no-webgl .hero-side{display:none}.no-webgl .experience{height:auto!important}.no-webgl .stage{position:relative;height:auto;min-height:100svh}.no-webgl .readable-content{position:relative;width:auto;height:auto;clip-path:none;white-space:normal;padding:100px var(--pad);line-height:2}.no-webgl .stage-footer{position:relative;padding-bottom:30px}
.motion-paused .scroll-track>span{animation-play-state:paused}
@keyframes scroll-tick{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(8px);opacity:0}}
@media(min-aspect-ratio:19/10){.hero{padding-top:18vh}.hero h1{font-size:clamp(65px,13vh,130px);margin-top:12px}.hero-tagline{font-size:16px}.story{top:21%}.chapter-viewport{height:45vh}.chapter h2{font-size:clamp(28px,6.4vh,58px)}.story-label{margin-bottom:20px}.chapter-navigation{margin-top:12px}.story-footnote{margin-top:2px}}
@media(min-width:1600px){.story{left:12%;width:34%}}
@media(max-width:900px){.local-coordinate{display:none}.masthead{height:88px}.story{left:6%;width:45%}.hero h1{font-size:10vw}.phone-caption{right:6%}.hero-side-left{font-size:24px}.chapter h2{font-size:4.5vw}.chapter-viewport{height:30vh}.story-label{font-size:12px}}
@media(max-width:640px){:root{--pad:22px}.masthead{height:78px}.wordmark{font-size:15px;gap:7px}.wordmark svg{width:26px;height:26px}.brand-caption{font-size:11px}.masthead-note{display:none}.motion-toggle{font-size:11px;gap:6px}.hero{padding-top:18vh}.hero-eyebrow{font-size:12px;gap:10px}.hero h1{font-size:clamp(49px,12.5vw,78px);line-height:1.55;margin-top:22px;margin-bottom:12px}.title-second{margin-top:-.2em}.city svg{height:9px;bottom:.16em}.hero-tagline{font-size:clamp(13px,3.4vw,17px);gap:8px;flex-wrap:wrap;max-width:90%;margin:auto}.tagline-divider{width:3px;height:3px}.hero-side{bottom:28%}.hero-side-left{font-size:18px}.hero-side-right{display:none}.story{top:58%;left:var(--pad);width:calc(100% - var(--pad)*2);max-width:none}.story-label{font-size:11px;margin-bottom:10px;gap:9px}.story-label .eyebrow-line{width:20px}.chapter-kicker{font-size:10px;margin-bottom:8px}.chapter-viewport{height:clamp(148px,21vh,202px)}.chapter h2{font-size:clamp(25px,6.4vw,36px);line-height:1.38;letter-spacing:-.025em}.chapter-navigation{margin-top:6px;width:100%;gap:12px}.chapter-segments button{height:24px}.chapter-segments button:before,.chapter-segments button:after{top:11px}.current-chapter,.total-chapters{font-size:11px}.story-footnote{display:none}.phone-caption{top:44%;bottom:auto;right:8%;font-size:10px;writing-mode:vertical-rl;gap:10px;transform:translateY(-50%)}.caption-rule{width:1px;height:24px}.caption-number{display:none}.stage-footer{bottom:13px}.stage-label{display:none}.stage-counter{font-size:10px;letter-spacing:0}.scroll-cue{font-size:11px;padding:5px;gap:8px}.scroll-track{width:13px;height:23px}.orbit-one{width:120vw;height:120vw;left:-10%;top:69%}.orbit-two{width:150vw;height:150vw;left:-25%;top:58%}.ambient-one{width:90vw;height:80vw;left:15%;top:67%}}
@media(max-width:640px) and (max-height:700px){.hero{padding-top:17vh}.hero h1{font-size:12vw;margin-top:12px}.hero-eyebrow{font-size:11px}.story{top:55%}.story-label{display:none}.chapter-viewport{height:25vh}.chapter h2{font-size:6vw}.chapter-kicker{margin-bottom:6px}.phone-caption{display:none}.stage-footer{bottom:8px}}
@media(prefers-reduced-motion:reduce){.scroll-track>span{animation:none}.ambient{filter:blur(40px)}.title-word,.reveal-line{will-change:auto}}
@media(max-height:500px) and (min-width:641px){.stage{min-height:0}.masthead{height:64px}.brand-caption{display:none}.hero{padding-top:82px}.hero h1{font-size:12vh;margin:10px 0}.hero-eyebrow{font-size:12px}.hero-tagline{font-size:14px}.hero-side{bottom:23%}.story{top:20%}.story-label{margin-bottom:10px;font-size:12px}.chapter-kicker{margin-bottom:10px}.chapter-viewport{height:44vh}.chapter h2{font-size:6.3vh}.chapter-navigation{margin-top:0}.story-footnote{display:none}.stage-footer{bottom:8px}.phone-caption{bottom:12%}}
