@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/cormorant-garamond-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/cormorant-garamond-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fonts/cormorant-garamond-latin-600-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/fonts/cormorant-garamond-latin-400-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fonts/inter-latin-300-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fonts/inter-tight-latin-300-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/inter-tight-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Tight;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/fonts/inter-tight-latin-500-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fonts/vazirmatn-latin-300-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/vazirmatn-latin-400-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:300;src:url(/assets/fonts/vazirmatn-arabic-300-normal.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/vazirmatn-arabic-400-normal.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}:root{--ink:#16120d;--ink-deep:#0d0b08;--surface:#262019;--gold:#cfa96b;--gold-bright:#e8c98a;--gold-dim:#8a7252;--gold-pale:#f0dcae;--text-soft:#bfb09a;--char-0:#0b0b0b;--char-1:#101010;--char-2:#161616;--char-3:#1d1d1d;--text-hi:#ededed;--text-mid:#9a9a9a;--text-low:#5f5f5f;--accent:var(--gold);--accent-bright:var(--gold-bright);--accent-dim:var(--gold-dim);--font-serif:"Cormorant Garamond", "Times New Roman", serif;--font-display:"Cormorant Garamond", "Times New Roman", serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-ui:"Inter Tight", "Inter", system-ui, -apple-system, sans-serif;--tracking-caps:.32em;--ease-out:cubic-bezier(.22, 1, .36, 1);--dur-slow:.8s;--dur-med:.5s;--dur-dissolve:1.2s;--letterbox:clamp(48px, 9vh, 96px)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--ink);color:var(--text-soft);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;font-weight:300;line-height:1.6}h1,h2,h3{font-family:var(--font-serif);color:var(--gold);font-weight:500}a{color:var(--gold);transition:color var(--dur-med) var(--ease-out);text-decoration:none}a:hover{color:var(--gold-bright)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.caps-label{font-family:var(--font-sans);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--gold-dim);font-size:.7rem;font-weight:400}[dir=rtl]{letter-spacing:0}.fallback-notice{top:var(--letterbox);z-index:46;background:var(--char-2);border-bottom:1px solid var(--gold-dim);color:var(--text-mid);font-family:var(--font-ui);pointer-events:auto;justify-content:center;align-items:center;gap:.85rem;padding:.4rem 1rem;font-size:.75rem;font-weight:400;line-height:1.35;display:flex;position:fixed;left:0;right:0}.fallback-notice-copy{color:var(--text-mid);margin:0}.fallback-notice-dismiss{appearance:none;color:var(--gold);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;padding:.1rem .15rem;font-family:inherit;font-size:.68rem;font-weight:400}.fallback-notice-dismiss:hover{color:var(--gold-bright)}html,body{height:100%;overflow:hidden}body{background:var(--char-1);color:var(--text-mid);font-family:var(--font-ui)}::selection{background:var(--accent-dim);color:var(--char-0)}#app{display:block}.stage{top:var(--letterbox);bottom:var(--letterbox);z-index:1;position:fixed;left:0;right:0}.view{opacity:0;visibility:hidden;transition:opacity var(--dur-dissolve) var(--ease-out), visibility 0s var(--dur-dissolve);padding:4vh clamp(1.5rem,6vw,5rem);position:absolute;inset:0;overflow:hidden}.view.active{opacity:1;visibility:visible;transition:opacity var(--dur-dissolve) var(--ease-out), visibility 0s 0s}@media (prefers-reduced-motion:reduce){.view{transition:visibility 0s var(--dur-med)}.view.active{transition:none}}.letterbox{z-index:40;pointer-events:none;position:fixed;inset:0}.lb-bar{height:var(--letterbox);background:#000;position:absolute;left:0;right:0}.lb-top{top:0}.lb-bottom{bottom:0}.film-vignette{z-index:38;pointer-events:none;background:radial-gradient(82% 82% at 50% 45%,#0000 50%,#0000002e 100%);position:fixed;inset:0}.view-logo{flex-direction:column;justify-content:center;align-items:center;display:flex}.opening-logo{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(560px,84vw);display:flex;position:relative}.ol-frame{display:inline-flex;position:relative}.ol-frame:before{content:"";background:radial-gradient(60% 62% at 50% 45%,#1c1914 0%,#10101000 68%);position:absolute;inset:-10%}.opening-logo .ol-img{object-fit:contain;width:auto;max-width:100%;max-height:56vh;display:block;position:relative;-webkit-mask-image:radial-gradient(70% 70% at 50% 45%,#000 0% 48%,#0000 72%);mask-image:radial-gradient(70% 70% at 50% 45%,#000 0% 48%,#0000 72%)}.ol-halo{background:radial-gradient(circle, var(--accent-bright) 0%, #e8c98a00 68%);opacity:.05;pointer-events:none;border-radius:50%;width:46vh;height:46vh;margin:-23vh 0 0 -23vh;animation:7s ease-in-out infinite alternate ol-breathe;position:absolute;top:30%;left:50%}@keyframes ol-breathe{0%{opacity:.04;transform:scale(1)}to{opacity:.07;transform:scale(1.05)}}.ol-fallback,.opening-logo.no-art .ol-frame{display:none}.opening-logo.no-art .ol-fallback{display:block}.ol-word{font-family:var(--font-display);letter-spacing:.2em;text-indent:.2em;color:var(--accent);font-size:clamp(2.4rem,7vw,4rem);font-weight:500}.ol-tag{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-low);margin-top:.8rem;font-size:.66rem}.ol-motto{font-family:var(--font-display);color:var(--text-mid,#f0e6d2b8);margin-top:.55rem;font-size:.95rem;font-style:italic}.ol-motto-under{text-align:center;margin-top:1rem;display:none}.opening-logo:not(.no-art) .ol-motto-under{display:block}.intro .opening-logo{animation:ol-enter 1.7s var(--ease-out) both}@keyframes ol-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ol-halo,.intro .opening-logo{animation:none}}.intro-cue{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.7rem;display:flex;position:absolute;bottom:3vh;left:50%;transform:translate(-50%)}.ic-label{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-low);transition:color var(--dur-med) var(--ease-out);font-size:.58rem}.intro-cue:hover .ic-label{color:var(--accent-bright)}.ic-line{background:#ffffff1f;width:1px;height:38px;position:relative;overflow:hidden}.ic-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;animation:2.2s ease-in-out infinite ic-descend;position:absolute;top:-4px;left:-1.5px}@keyframes ic-descend{0%{opacity:0;top:-4px}25%{opacity:1}to{opacity:0;top:38px}}@media (prefers-reduced-motion:reduce){.ic-dot{opacity:.8;animation:none;top:17px}}.site-nav{z-index:45;height:var(--letterbox);opacity:0;pointer-events:none;transition:opacity var(--dur-dissolve) var(--ease-out);grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;padding:0 clamp(1rem,4vw,3rem);display:grid;position:fixed;top:0;left:0;right:0}.nav-on .site-nav{opacity:1;pointer-events:auto}.nav-group{align-items:center;gap:clamp(1.4rem,2.2vw,1.9rem);display:flex}.nav-left{justify-self:start}.nav-right{justify-self:end}.nl-short{display:none}.nav-link{font-family:var(--font-ui);letter-spacing:.03em;color:var(--text-mid);white-space:nowrap;cursor:pointer;transition:color var(--dur-med) var(--ease-out), opacity var(--dur-med) var(--ease-out);font-size:clamp(12px,1.4vw,13.5px);font-weight:400}.nav-link:hover{color:var(--accent-bright)}.nav-link.is-current{color:var(--accent)}.nav-logo{cursor:pointer;opacity:.9;width:48px;height:78%;transition:opacity var(--dur-med) var(--ease-out);background-color:#0000;background-image:url(/assets/logo.png);background-position:50% 36%;background-repeat:no-repeat;background-size:auto 200%;border:none;justify-self:center;padding:0;-webkit-mask-image:radial-gradient(60% 66% at 50% 44%,#000 0% 46%,#0000 78%);mask-image:radial-gradient(60% 66% at 50% 44%,#000 0% 46%,#0000 78%)}.nav-logo:hover{opacity:1}@media (width<=640px){.site-nav{gap:.6rem;padding:0 clamp(.6rem,3vw,1.2rem)}.nav-group{gap:clamp(.7rem,3vw,1.1rem)}.nav-link{letter-spacing:.02em;font-size:11px}.nl-full{display:none}.nl-short{display:inline}.nav-logo{width:38px}}#reel{padding:0}.reel-section{display:block}.reel-stage{background:#000;outline:none;position:absolute;inset:0;overflow:hidden}.reel-track{will-change:transform;flex-direction:row;align-items:stretch;width:max-content;height:100%;display:flex}.reel-stage.playing:not(.reduced) .reel-track{animation:48s linear infinite reel-scroll}.reel-video{object-fit:cover;background:#000;width:100%;height:100%;position:absolute;inset:0}.reel-stage.reduced .reel-track{transform:translate(0)}@keyframes reel-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.reel-cell{aspect-ratio:2/3;box-sizing:border-box;background:#0a0a0a;border:1px solid #e8c98a59;flex:none;width:auto;height:100%;margin:0;position:relative;overflow:hidden}.reel-cell+.reel-cell{border-left:none}.reel-cell img{object-fit:cover;object-position:center;-webkit-user-select:none;user-select:none;pointer-events:none;width:100%;height:100%;display:block}.reel-cell figcaption{pointer-events:none;background:linear-gradient(#0000,#000000c7);padding:2.4rem .85rem .9rem;position:absolute;bottom:0;left:0;right:0}.reel-character{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-bright);text-shadow:0 1px 10px #000000b3;font-size:clamp(.58rem,1.1vw,.72rem);display:block}.reel-title-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reel-hint{z-index:2;font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out);background:#0b0b0bb3;border:1px solid #ffffff14;border-radius:999px;padding:.4rem .9rem;font-size:.62rem;position:absolute;top:1rem;right:1.1rem}.reel-hint.show{opacity:1}.reel-controls{z-index:2;opacity:0;transition:opacity var(--dur-med) var(--ease-out);background:linear-gradient(#0000,#0000009e);justify-content:flex-end;align-items:center;gap:.9rem;padding:2.2rem clamp(1.2rem,4vw,2.4rem) 1rem;display:flex;position:absolute;bottom:0;left:0;right:0}.reel-stage:hover .reel-controls,.reel-stage:focus-within .reel-controls,.reel-stage.playing .reel-controls{opacity:1}.rc-btn{width:30px;height:30px;color:var(--text-hi);cursor:pointer;transition:color var(--dur-med) var(--ease-out);background:0 0;border:none;place-items:center;display:grid}.rc-btn:hover{color:var(--accent-bright)}@media (prefers-reduced-motion:reduce){.reel-stage.playing .reel-track{animation:none}}.services-section{justify-content:center;align-items:center;display:flex}.svc-wrap{width:min(1040px,100%);position:relative}.svc-eyebrow{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-low);margin-bottom:clamp(1.2rem,3vh,2.2rem);padding-left:.2rem;font-size:.66rem}.svc-thread{fill:none;pointer-events:none;width:40px;height:100%;position:absolute;top:0;left:-3.4vw}.svc-thread path{stroke:var(--accent);stroke-width:1px;opacity:.04}.svc-list{grid-template-columns:1fr 1fr;gap:clamp(1rem,2.6vh,1.9rem) clamp(2rem,5vw,4.5rem);list-style:none;display:grid}.service{cursor:pointer;grid-template-columns:auto 1fr;align-items:baseline;column-gap:clamp(.9rem,2vw,1.8rem);display:grid}.svc-index{font-family:var(--font-ui);font-variant-numeric:tabular-nums;letter-spacing:.1em;color:var(--text-low);transition:color var(--dur-med) var(--ease-out);padding-top:.6em;font-size:.74rem}.svc-body{display:block}.svc-name{font-family:var(--font-display);color:var(--text-hi);transition:color var(--dur-med) var(--ease-out);font-size:clamp(1.5rem,3vw,2.3rem);font-weight:500;line-height:1.05;display:inline-block;position:relative}.svc-name:after{content:"";background:var(--accent);transform-origin:0;width:100%;height:1px;transition:transform var(--dur-med) var(--ease-out);position:absolute;bottom:-.12em;left:0;transform:scaleX(0)}.svc-desc{max-width:40ch;font-family:var(--font-ui);letter-spacing:0;color:#b9b7b2;margin-top:.4rem;font-size:14px;line-height:1.5;display:block}.service:hover .svc-name,.service:focus-visible .svc-name{color:var(--accent-bright)}.service:hover .svc-index,.service:focus-visible .svc-index{color:var(--accent)}.service:hover .svc-name:after,.service:focus-visible .svc-name:after{transform:scaleX(1)}.service:focus-visible{outline:none}@media (prefers-reduced-motion:reduce){.svc-name:after{transition:none}}@media (width<=720px){.svc-list{grid-template-columns:1fr;row-gap:clamp(.9rem,2.2vh,1.5rem)}.svc-thread{display:none}}@media (width<=600px){.service{grid-template-columns:auto 1fr}.svc-name{font-size:clamp(1.4rem,6vw,1.9rem)}}.projects-section{flex-direction:column;height:100%;min-height:0;display:flex}.pj-head{flex:none;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:clamp(.8rem,2vh,1.6rem);display:flex}.pj-head-left{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.pj-eyebrow{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-low);font-size:.66rem}.pj-enter{color:var(--accent);font-family:var(--font-ui);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out), background var(--dur-med) var(--ease-out);background:0 0;border:1px solid #cfa96b66;border-radius:4px;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-size:.72rem;display:inline-flex}.pj-enter:hover{color:var(--char-0);background:var(--accent);border-color:var(--accent)}.pj-viewall{font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--text-low);cursor:pointer;text-underline-offset:3px;transition:color var(--dur-med) var(--ease-out);background:0 0;border:none;flex:none;padding:0;font-size:.72rem;-webkit-text-decoration:underline #cfa96b59;text-decoration:underline #cfa96b59}.pj-viewall:hover{color:var(--accent)}.projects-section.expanded{-webkit-overflow-scrolling:touch;overflow:hidden auto}.projects-section:has(.pj-grid-all){-webkit-overflow-scrolling:touch;overflow:hidden auto}.pj-filters{border-bottom:1px solid #ffffff0f;flex-wrap:wrap;flex:none;gap:clamp(.8rem,2vw,1.6rem);margin-bottom:clamp(.9rem,2.2vh,1.6rem);padding-bottom:.9rem;display:flex}.pj-filter{font-family:var(--font-ui);letter-spacing:.04em;color:var(--text-low);cursor:pointer;transition:color var(--dur-med) var(--ease-out);background:0 0;border:none;padding:0;font-size:clamp(11px,1.2vw,12.5px)}.pj-filter:hover{color:var(--text-hi)}.pj-filter.is-active{color:var(--accent)}.pj-grid{min-height:0;transition:opacity var(--dur-med) var(--ease-out);flex:auto;grid-template-rows:1fr;grid-template-columns:repeat(6,1fr);gap:clamp(.5rem,1vw,.9rem);display:grid}.pj-grid.fading{opacity:0}.pj-grid.pj-grid-all{flex:none;grid-template-rows:none;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:auto;padding-bottom:calc(2vh + 1.5rem)}.pj-grid.pj-grid-all .pj-still{aspect-ratio:2/3}.pj-still{background:var(--char-2);cursor:pointer;border:1px solid #ffffff0d;display:block;position:relative;overflow:hidden}.pj-frame{position:absolute;inset:0}.pj-frame img{object-fit:cover;object-position:center;filter:brightness(.82)saturate(.95);width:100%;height:100%;transition:filter var(--dur-slow) var(--ease-out), transform var(--dur-slow) var(--ease-out)}.pj-still:hover .pj-frame img{filter:brightness(1.02)saturate();transform:scale(1.03)}.pj-meta{background:linear-gradient(#0000,#000000d9 86%);padding:1.2rem .6rem .6rem;position:absolute;bottom:0;left:0;right:0}.pj-title{font-family:var(--font-display);color:var(--text-hi);transition:color var(--dur-med) var(--ease-out);font-size:clamp(.82rem,1.05vw,1.05rem);line-height:1.15;display:block}.pj-still:hover .pj-title{color:var(--accent-bright)}.pj-sub{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text-mid);margin-top:.2rem;font-size:.52rem;display:block}.pj-line{font-family:var(--font-ui);color:var(--text-mid);opacity:0;max-height:0;transition:max-height var(--dur-med) var(--ease-out), opacity var(--dur-med) var(--ease-out);margin-top:.35rem;font-size:.7rem;line-height:1.4;display:block;overflow:hidden}.pj-still:hover .pj-line,.pj-still:focus-visible .pj-line{opacity:1;max-height:5rem}@media (width<=900px){.pj-grid{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(3,1fr)}.pj-grid.pj-grid-all{grid-template-rows:none}}@media (width<=600px){.pj-head{flex-direction:column;align-items:flex-start;gap:.6rem}.pj-grid{grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(2,1fr)}.pj-grid.pj-grid-all{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.pj-line{display:none}}@media (prefers-reduced-motion:reduce){.pj-grid,.pj-frame img,.pj-line{transition:none}}.about-section{justify-content:center;align-items:center;display:flex}.about-wrap{max-width:880px}.about-eyebrow{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-low);margin-bottom:clamp(2rem,6vh,4rem);font-size:.66rem}.about-lead{font-family:var(--font-display);color:var(--text-hi);font-size:clamp(2rem,5.2vw,3.6rem);font-weight:500;line-height:1.16}.about-body{max-width:52ch;font-family:var(--font-ui);color:var(--text-mid);margin-top:clamp(1.6rem,4vh,2.6rem);font-size:clamp(.95rem,1.6vw,1.1rem);line-height:1.8}.contact-section{text-align:center;-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;height:100%;min-height:0;display:flex;overflow-y:auto}.contact-wrap{width:min(820px,100%);margin-block:auto;padding-block:.5rem}.contact-star{filter:drop-shadow(0 0 18px #e8c98a4d);justify-content:center;display:flex}.contact-arrive{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text-low,#f0e6d28c);margin:.85rem 0 0;font-size:.7rem}.contact-title{font-family:var(--font-display);color:var(--text-hi);margin:1rem 0 clamp(2rem,5vh,3.4rem);font-size:clamp(2rem,5vw,3rem);font-weight:500}.contact-cols{text-align:left;grid-template-columns:1fr 1fr;align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}.contact-channels{flex-direction:column;gap:.9rem;display:flex}.contact-channels a{color:var(--text-mid);transition:color var(--dur-med) var(--ease-out);font-size:1rem}.contact-channels a:hover{color:var(--accent-bright)}.contact-socials{flex-wrap:wrap;gap:1rem;margin-top:.4rem;display:flex}.contact-socials a{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text-low);font-size:.7rem}.contact-form{flex-direction:column;gap:.9rem;display:flex}.contact-form label{flex-direction:column;gap:.3rem;display:flex}.cf-label{font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-low);font-size:.58rem}.contact-form input,.contact-form textarea{background:var(--char-2);color:var(--text-hi);font-family:var(--font-ui);transition:border-color var(--dur-med) var(--ease-out);border:1px solid #ffffff14;border-radius:3px;padding:.6rem .75rem;font-size:.9rem}.contact-form input:focus-visible,.contact-form textarea:focus-visible{border-color:var(--accent)}.field-error{color:var(--accent-bright);min-height:1em;font-size:.7rem;font-style:normal}.contact-form button{border:1px solid var(--accent);color:var(--accent);font-family:var(--font-ui);letter-spacing:var(--tracking-caps);text-transform:uppercase;cursor:pointer;transition:color var(--dur-med) var(--ease-out), background var(--dur-med) var(--ease-out);background:0 0;border-radius:4px;align-self:flex-start;padding:.65rem 1.8rem;font-size:.7rem}.contact-form button:hover{color:var(--char-0);background:var(--accent)}.form-note,.form-fail{color:var(--accent-bright);font-size:.78rem}@media (width<=680px){.contact-cols{text-align:left;grid-template-columns:1fr}}.project-overlay{z-index:80;opacity:0;pointer-events:none;transition:opacity var(--dur-med) var(--ease-out);background:#0d0b08f7;position:fixed;inset:0}.project-overlay.open{opacity:1;pointer-events:auto}.po-scroll{height:100%;padding:3.5rem 1.5rem 2rem;overflow-y:auto}.po-close{z-index:2;border:1px solid var(--gold-dim);width:46px;height:46px;color:var(--gold);cursor:pointer;transition:color var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);background:#16120da6;border-radius:50%;font-size:1.6rem;line-height:1;position:fixed;top:.9rem;right:1.1rem}.po-close:hover{color:var(--gold-bright);border-color:var(--gold)}.po-hero{perspective:900px;justify-content:center;margin:0 auto 1.8rem;padding:18px;display:flex;position:relative}.po-3d{--px:0;--py:0;transform:rotateY(calc(var(--px) * 2deg)) rotateX(calc(var(--py) * -2deg));transition:transform .35s var(--ease-out);position:relative}.po-layer{transition:transform .35s var(--ease-out)}.po-l-border{border:1px solid var(--gold);transform:translate(calc(var(--px) * -6px), calc(var(--py) * -6px));background:#cfa96b0d;border-radius:6px;position:absolute;inset:-15px}.po-l-mat{transform:translate(calc(var(--px) * -3px), calc(var(--py) * -3px));background:#0b0906;border-radius:4px;position:absolute;inset:-7px}.po-l-img{border:1px solid #cfa96b59;border-radius:4px;max-width:100%;max-height:52vh;display:block;position:relative}@media (prefers-reduced-motion:reduce){.po-3d,.po-layer{transition:none;transform:none!important}}.po-play{border:1px solid var(--gold);width:72px;height:72px;color:var(--gold-bright);cursor:pointer;transition:transform var(--dur-med) var(--ease-out), background var(--dur-med) var(--ease-out);background:#0d0b088c;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.po-play:hover{background:#0d0b08bf;transform:translate(-50%,-50%)scale(1.08)}.po-body{max-width:680px;margin:0 auto}.po-head{margin-bottom:2.4rem}.po-meta{font-family:var(--font-ui,sans-serif);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--gold-dim);font-size:.66rem}.po-body h2{margin:.35rem 0 .6rem;font-size:clamp(1.9rem,5vw,2.8rem)}.po-oneliner{font-family:var(--font-serif);color:var(--gold-dim);font-size:1.1rem;font-style:italic}.po-sec{border-top:1px solid #cfa96b24;padding:1.6rem 0}.po-sec-title{font-family:var(--font-ui,sans-serif);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--gold-dim);margin-bottom:1rem;font-size:.62rem;font-weight:400}.po-desc{font-size:.95rem;line-height:1.7}.po-stub .po-stubnote{color:var(--gold-dim);opacity:.7;font-size:.82rem;font-style:italic}.po-finalreel{color:var(--gold);font-family:var(--font-ui,sans-serif);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color var(--dur-med) var(--ease-out), border-color var(--dur-med) var(--ease-out);background:0 0;border:1px solid #cfa96b66;border-radius:4px;align-items:center;gap:.55rem;padding:.7rem 1.2rem;font-size:.7rem;display:inline-flex}.po-finalreel:hover{color:var(--gold-bright);border-color:var(--gold)}.po-caps{flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;display:flex}.cap-badge{color:var(--text-soft);border:1px solid #cfa96b59;border-radius:3px;align-items:baseline;gap:.45rem;padding:.35rem .7rem;font-size:.68rem;display:inline-flex}.cap-badge b{font-family:var(--font-serif);color:var(--gold);font-size:.95rem;font-weight:600}.cap-badge [lang=fa]{color:var(--gold-dim)}.po-stills{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2.5rem;display:grid}@media (width<=560px){.po-stills{grid-template-columns:1fr}}.po-stills img{border-radius:3px;width:100%}.po-nav{border-top:1px solid var(--surface);justify-content:space-between;gap:1rem;max-width:680px;margin:0 auto;padding-top:1.2rem;display:flex}.po-nav button{color:var(--gold);font-family:var(--font-serif);cursor:pointer;text-align:left;transition:color var(--dur-med) var(--ease-out);background:0 0;border:none;font-size:1.05rem}.po-nav button:hover{color:var(--gold-bright)}.po-nav .po-next{text-align:right}.po-close:focus-visible,.po-nav button:focus-visible{outline:2px solid var(--gold-bright);outline-offset:2px}.bloom-veil{z-index:75;opacity:0;pointer-events:auto;background:radial-gradient(circle,#f0dcae 0%,#e8c98a 28%,#cfa96b 55%,#16120d 100%);transition:opacity .35s ease-in,transform .35s ease-in;position:fixed;inset:0;transform:scale(.55)}.bloom-veil.cover{opacity:1;transform:scale(1)}.bloom-veil.fade{opacity:0;transition:opacity .35s var(--ease-out), transform .35s var(--ease-out);transform:scale(1.18)}.bloom-passage{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bp-band{width:55%;position:absolute;top:-10%;bottom:-10%;left:22%;transform:translate(-160%)skew(-6deg)}.bp-frag{filter:blur(16px);width:100%;height:100%;position:absolute;inset:0}.bp-frag path{fill:#0c09068c}.bp-glint{background:linear-gradient(180deg, transparent, var(--gold-pale) 38%, var(--gold-pale) 56%, transparent);filter:blur(2.5px);opacity:.5;width:3px;height:82%;position:absolute;top:6%;left:56%;transform:rotate(13deg)}.bloom-veil.cover .fig-in .bp-band{animation:.42s cubic-bezier(.3,.1,.3,1) .1s forwards bp-sweep-in}.bloom-veil.cover .fig-out .bp-band{animation:.42s cubic-bezier(.3,.1,.3,1) .1s forwards bp-sweep-out;transform:translate(160%)skew(6deg)}@keyframes bp-sweep-in{to{transform:translate(160%)skew(-6deg)}}@keyframes bp-sweep-out{to{transform:translate(-160%)skew(6deg)}}.bloom-veil.reduced{background:var(--ink-deep);transition:opacity .3s;transform:none!important}.grain{z-index:100;pointer-events:none;opacity:.04;position:fixed;inset:0;overflow:hidden}.grain-tile{will-change:transform;background-repeat:repeat;position:absolute;inset:-160px}
