:root{--paper:#f8f8f6;--surface:#efefeb;--ink:#20211f;--muted:#686b65;--faint:#8c8e88;--line:#d8d9d2;--accent:#a4553f;--accent-blue:#426684;--blue-soft:#e7eef3;--copper-soft:#f3e7e1;--sage:#526d60;--accent-soft:#e8ddd6;--night:#20231f;--on-night:#f4f4ed;--font-fa:"IRANYekanX", sans-serif;--font-en:"Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--page-width:1320px;--gutter:clamp(22px, 5.2vw, 84px);--section-space:clamp(82px, 10vw, 152px);--radius:3px;--ease-out:cubic-bezier(.22, 1, .36, 1);--fast:.18s;--slow:.7s}@font-face{font-family:IRANYekanX;src:url(/assets/fonts/IRANYekanX-Regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:IRANYekanX;src:url(/assets/fonts/IRANYekanX-Bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:105px}body{background:var(--paper);color:var(--ink);font-family:var(--font-fa);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.9}html[lang=en] body{font-family:var(--font-en);font-size:15px;line-height:1.7}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:0}a{color:inherit;text-decoration:none}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,[tabindex="0"]:focus-visible{outline:2px solid var(--accent);outline-offset:6px}section:focus,main:focus{outline:none}button:disabled{cursor:default}img,svg{max-width:100%;display:block}svg{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:700}::selection{background:var(--accent-soft);color:var(--ink)}[hidden]{display:none!important}.container{width:calc(100% - var(--gutter) * 2);max-width:var(--page-width);margin-inline:auto}.section{padding-block:var(--section-space)}.muted{color:var(--muted)}.section-label{color:var(--accent);letter-spacing:.015em;align-items:center;gap:11px;margin-bottom:32px;font-size:11px;font-weight:400;display:flex}.section-label:before{content:"";background:currentColor;width:26px;height:1px}html[lang=en] .section-label{font-family:var(--font-mono);letter-spacing:.08em;font-size:10px}h2{letter-spacing:-1.7px;font-size:clamp(28px,3.25vw,47px);line-height:1.75}html[lang=en] h2{letter-spacing:-2px;font-size:clamp(32px,3.7vw,52px);font-weight:500;line-height:1.16}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:10px 20px;position:fixed;inset-block-start:12px;inset-inline-start:16px;transform:translateY(-150%)}.skip-link:focus{transform:none}.reading-progress{background:var(--accent);z-index:60;transform-origin:0;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}.site-header{z-index:40;background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);position:sticky;inset-block-start:0}.header-inner{justify-content:space-between;align-items:center;gap:30px;height:91px;display:flex}.brand{align-items:center;gap:13px;min-width:142px;display:flex}.brand-mark{flex-shrink:0;width:44px;height:32px}.brand span{letter-spacing:-.8px;font-size:17px;font-weight:700}.desktop-nav{color:var(--muted);align-items:center;gap:32px;font-size:12px;display:flex}.desktop-nav a{transition:color var(--fast);position:relative}.desktop-nav a:after{content:"";bottom:-8px;background:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;inset-inline-start:0}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--ink)}.desktop-nav a:hover:after,.desktop-nav a[aria-current]:after{width:100%}.header-actions{align-items:center;gap:20px;display:flex}.language-switch{font-family:var(--font-mono);direction:ltr;align-items:center;gap:7px;font-size:11px;display:flex}.language-switch button{min-width:34px;min-height:40px;color:var(--muted);padding:8px}.language-switch button[lang=fa]{font-family:var(--font-fa);font-size:13px}.language-switch button[aria-pressed=true]{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:8px}.language-switch>span{color:var(--line)}.menu-toggle{width:42px;height:42px;padding:10px;display:none}.menu-toggle span{background:var(--ink);width:22px;height:1px;transition:transform .25s;display:block}.menu-toggle span+span{margin-top:6px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px)rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px)rotate(-45deg)}.mobile-nav{padding:8px var(--gutter) 26px;border-top:1px solid var(--line);background:var(--paper)}.mobile-nav a{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:16px 0;display:flex}.mobile-nav svg{width:22px}.hero{grid-template-columns:1.06fr 1fr;column-gap:9%;padding-block:70px 0;display:grid;position:relative}.hero-copy{align-self:center;min-width:0;padding-block:0 30px}.eyebrow{letter-spacing:.02em;color:var(--muted);align-items:center;gap:9px;font-size:10px;display:flex}.status-dot{background:var(--accent);width:5px;height:5px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.hero h1{letter-spacing:-.035em;flex-wrap:wrap;align-items:baseline;gap:.08em .22em;margin:24px 0 22px;font-size:clamp(28px,3.1vw,44px);line-height:1.6;display:flex}.hero h1>span{white-space:nowrap;flex:none;display:inline-block;position:relative}.root-stroke{bottom:0;width:94%;height:14px;color:var(--accent);opacity:.7;stroke-width:1.2px;position:absolute;inset-inline-start:-3px}.hero-intro{color:var(--muted);max-width:385px;font-size:14px;line-height:2.2}.hero-links{flex-wrap:wrap;align-items:center;gap:26px;margin-top:30px;display:flex}.solid-link{background:var(--ink);color:var(--paper);isolation:isolate;justify-content:space-between;align-items:center;gap:24px;min-height:48px;padding:13px 19px;font-size:11px;transition:background .2s;display:inline-flex;position:relative;overflow:hidden}.solid-link:before{content:"";z-index:-1;background:var(--accent);transform-origin:0;transition:transform .6s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.solid-link:hover:before{transform-origin:100%;transform:scaleX(1)}html[dir=ltr] .solid-link:before{transform-origin:100%}html[dir=ltr] .solid-link:hover:before{transform-origin:0}.solid-link svg{width:18px;height:18px}.text-link{align-items:center;gap:10px;padding-block:10px;font-size:11px;display:inline-flex}.text-link span{font-size:16px;transition:transform .3s}.text-link:hover span{transform:translateY(4px)}.hero-origin{color:var(--muted);align-items:center;gap:11px;max-width:385px;margin-top:43px;font-size:9px;display:flex}.hero-origin svg{width:18px;height:18px;color:var(--accent);stroke-width:1px}.origin-line{background:var(--line);width:31px;height:1px}.origin-code{font-family:var(--font-mono);letter-spacing:1px;white-space:nowrap;font-size:9px}.hero-visual{align-self:center;width:100%;min-width:0;padding:0}.photo-mat{isolation:isolate;direction:ltr;background:#eeede7;padding:24px 28px 43px;position:relative}.photo-window{aspect-ratio:2/3;background:#f4f1e9;width:100%;position:relative;overflow:hidden}.photo-window img{width:100%;height:auto;display:block}.frame-cross{z-index:3;font-family:var(--font-mono);color:#72756c;font-size:12px;font-weight:400;line-height:1;position:absolute}.cross-one{top:9px;left:9px}.cross-two{bottom:10px;right:9px}.image-side-note{font-family:var(--font-mono);letter-spacing:2px;writing-mode:vertical-rl;color:#53574e;font-size:7px;position:absolute;top:50%;left:12px;transform:translateY(-50%)rotate(180deg)}.code-note{z-index:3;text-align:left;background:#f6f6f1f7;border:1px solid #dadbd1;width:235px;padding:16px 20px;position:absolute;bottom:3%;right:-24px;box-shadow:0 13px 44px #1a1d1517}.code-note-top{font-family:var(--font-mono);color:var(--muted);border-bottom:1px solid #d8d9d1;align-items:center;gap:7px;margin-bottom:13px;padding-bottom:10px;font-size:8px;display:flex}.code-note-top i{background:var(--accent);border-radius:50%;width:5px;height:5px}.code-note-top span:last-child{margin-left:auto;font-size:11px}.code-note code{font-size:10px;line-height:1.9;font-family:var(--font-mono);color:var(--ink);display:block}.code-note code .code-muted{color:var(--muted)}.code-caret{background:var(--accent);width:4px;height:10px;margin-left:3px;animation:1.5s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.hero-visual figcaption{color:var(--muted);justify-content:space-between;gap:12px;padding-top:15px;font-size:8px;display:flex}.hero-visual figcaption span:last-child{font-family:var(--font-mono);letter-spacing:1px}.hero-foot{min-height:76px;color:var(--muted);letter-spacing:.02em;border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:57px;font-size:8px;display:flex}.hero-foot a{align-items:center;gap:14px;display:flex}.hero-foot i{color:var(--ink);font-size:17px;font-style:normal}.hero-signature{font-family:var(--font-mono);letter-spacing:2px;font-size:8px}.discipline-strip{border-block:1px solid var(--line);background:color-mix(in srgb, var(--surface) 70%, var(--paper));overflow:hidden}.discipline-strip .container{letter-spacing:3px;height:80px;font-size:12px;font-family:var(--font-mono);color:#61665b;justify-content:space-between;align-items:center;gap:20px;display:flex}.discipline-strip svg{stroke-width:.8px;color:#a2a699;width:16px;height:16px}.about-layout{grid-template-columns:1fr 1.03fr;gap:13%;display:grid}.about-body{padding-top:8px}.about-lead{letter-spacing:-.4px;margin-bottom:20px;font-size:20px;line-height:1.95}.body-copy{color:var(--muted);font-size:13px;line-height:2.4}.principles{margin-top:34px}.principle{border-top:1px solid var(--line);align-items:center;gap:17px;padding:21px 0;display:flex}.item-number{font-family:var(--font-mono);color:var(--muted);flex:none;font-size:10px;line-height:1.5}html[lang=fa] .item-number{font-family:var(--font-fa)}.principle h3{margin-bottom:3px;font-size:12px}.principle p{color:var(--muted);font-size:10px}.principle>svg{stroke-width:.7px;color:#a1a79a;flex:none;width:17px;height:17px;margin-inline-start:auto}.research-object{border:1px solid var(--line);background:linear-gradient(130deg,#efefea,#0000 70%);max-width:390px;margin-top:35px;padding:18px 23px 21px;position:relative}.research-meta{color:var(--muted);justify-content:space-between;font-size:8px;display:flex}.research-meta span:last-child{font-size:15px}.research-graphic{direction:ltr;justify-content:center;align-items:center;height:174px;display:flex;position:relative}.research-ring{border:1px solid #b7bbae;border-radius:50%;width:128px;height:128px;position:absolute;transform:rotate(-35deg)scaleX(.5)}.ring-b{transform:rotate(35deg)scaleX(.5)}.ring-c{transform:rotate(90deg)scaleX(.5)}.research-graphic>span{font-family:var(--font-mono);color:#4c5345;z-index:1;letter-spacing:-3px;font-size:29px}.research-graphic>span b{color:var(--accent);font-weight:400}.axis{background:#d8dbd0;position:absolute}.axis-h{width:190px;height:1px}.axis-v{width:1px;height:150px}.research-graphic small{font-family:var(--font-mono);color:#777e70;font-size:6px;line-height:1.7;position:absolute;bottom:15px;left:0}.research-object h3{text-align:center;direction:inherit;font-size:13px;font-weight:400}.research-object p{color:var(--muted);text-align:center;margin-top:4px;font-size:9px}.work{border-top:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:45px;display:flex}.section-heading p{color:var(--muted);max-width:290px;padding-bottom:5px;font-size:11px;line-height:2.2}.projects{grid-template-columns:1fr 1fr;gap:40px;display:grid}.project{min-width:0}.project-sources{color:var(--muted);flex-wrap:wrap;gap:10px 24px;margin-top:16px;font-size:11px;display:flex}.project-sources a{text-underline-offset:4px;align-items:center;gap:8px;text-decoration:underline;display:inline-flex}.project-sources a:hover{color:var(--ink)}.project-sources svg{width:14px;height:14px}.project-visual{width:100%;text-align:inherit;aspect-ratio:1.32;background:var(--surface);padding:0;display:block;position:relative;overflow:hidden}.project-hover{inset-inline-end:20px;background:var(--paper);opacity:0;z-index:5;border:1px solid var(--line);align-items:center;gap:20px;padding:11px 16px;font-size:10px;transition:opacity .3s,transform .4s;display:flex;position:absolute;bottom:22px;transform:translateY(18px)}.project-hover svg{width:18px}.project-visual:hover .project-hover,.project-visual:focus-visible .project-hover{opacity:1;transform:none}.art-disclosure{bottom:8px;color:#62675c;z-index:3;font-size:7px;position:absolute;inset-inline-start:13px}.project-meta{align-items:flex-start;gap:15px;margin-top:22px;display:flex}.project-meta>.item-number{padding-top:8px}.project-meta>div{flex:1;min-width:0}.project-name{align-items:baseline;gap:15px;display:flex}.project-name h3{font:400 25px/1.4 var(--font-en);letter-spacing:-1px}.project-name>span{color:var(--muted);font-size:9px}.project-meta p{color:var(--muted);margin-top:6px;font-size:11px}.round-link{border:1px solid var(--line);border-radius:50%;flex:none;place-items:center;width:37px;height:37px;transition:color .3s,background .3s;display:grid}.round-link svg{width:17px}.round-link:hover{background:var(--ink);color:var(--paper)}.project-tags{flex-wrap:wrap;gap:8px;margin-top:18px;padding-inline-start:32px;display:flex}.project-tags span{border:1px solid var(--line);color:var(--muted);padding:3px 9px;font-size:8px}.social-links{gap:30px;display:flex}.journey{background:var(--surface);border-block:1px solid var(--line)}.journey-layout{grid-template-columns:1fr 1fr;align-items:stretch;gap:11%;display:grid}.journey-intro>p{color:var(--muted);max-width:335px;margin-top:20px;font-size:12px;line-height:2.3}.chapter-hint{color:var(--muted);margin-top:35px;font-size:8px;display:block}.chapter-tabs{margin-top:13px;position:relative}.chapter-tabs:before{content:"";inset-inline-start:4px;background:#cfd2c6;width:1px;position:absolute;top:25px;bottom:25px}.chapter-tab{text-align:start;width:100%;min-height:62px;color:var(--muted);align-items:center;gap:15px;padding:10px 0;font-size:12px;transition:color .25s;display:flex;position:relative}.timeline-dot{background:var(--surface);z-index:1;border:1px solid #a5aa9c;border-radius:50%;flex:none;width:9px;height:9px;transition:background .25s,box-shadow .25s}.chapter-tab[aria-selected=true] .timeline-dot{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px #e1dcd1}.chapter-tab>svg{opacity:0;width:18px;margin-inline-start:auto;transition:opacity .25s}.chapter-tab[aria-selected=true]>svg{opacity:1}.chapter-card{background:var(--paper);border:1px solid #d2d5c9;flex-direction:column;align-self:center;min-height:440px;padding:28px 32px 25px;display:flex;position:relative;box-shadow:7px 7px #e5e6de}.chapter-top,.chapter-bottom{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;font-size:8px;display:flex}.chapter-index{font-family:var(--font-mono);font-size:9px}.chapter-symbol{font-family:var(--font-mono);color:#b5baac;letter-spacing:-7px;text-align:start;direction:ltr;margin-top:30px;font-size:78px;font-weight:400;line-height:1.25}.chapter-card h3{letter-spacing:-.5px;margin-top:14px;font-size:21px;line-height:1.9}.chapter-card>p{color:var(--muted);flex:1;margin:15px 0 28px;font-size:12px;line-height:2.4}.chapter-bottom{border-top:1px solid var(--line);flex-wrap:wrap;padding-top:19px}.chapter-bottom code{font-family:var(--font-mono);color:var(--accent);font-size:8px}.contact{padding-bottom:55px}.contact-layout{justify-content:space-between;align-items:center;gap:40px;display:flex}.contact h2{font-size:clamp(29px,3.5vw,50px)}.contact-layout>div>p{color:var(--muted);margin-top:21px;font-size:12px}.contact-cta{border-bottom:1px solid var(--ink);align-items:center;gap:28px;margin-top:25px;padding:15px 0 10px;font-size:13px;display:inline-flex}.contact-cta>svg{width:25px;transition:transform .3s}.contact-cta:hover>svg{transform:translate(3px,-3px)}.contact-seal{border:1px solid var(--line);direction:ltr;border-radius:50%;flex:none;place-items:center;width:185px;height:185px;margin-inline-end:35px;display:grid;position:relative}.seal-ring{border:1px dashed #c4c8bb;border-radius:50%;width:140px;height:140px;animation:70s linear infinite seal-spin;position:absolute}@keyframes seal-spin{to{transform:rotate(360deg)}}.contact-seal .brand-mark{color:#727a66;width:66px;height:46px}.seal-top,.seal-bottom{font-family:var(--font-mono);letter-spacing:1.9px;text-align:center;color:var(--muted);font-size:6px;position:absolute;left:0;right:0}.seal-top{top:35px}.seal-bottom{bottom:37px}.contact-seal>i{font:29px var(--font-en);color:var(--accent);background:var(--paper);padding:3px;position:absolute;top:18px;right:-7px}.contact-bottom{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:62px;padding-top:28px;display:flex}.email-row{align-items:center;gap:12px;min-width:0;display:flex}.email-row>a{font-family:var(--font-mono);letter-spacing:-.4px;overflow-wrap:anywhere;font-size:12px}.copy-button{width:40px;height:40px;color:var(--muted);flex:none;place-items:center;transition:color .2s;display:grid}.copy-button svg{width:17px}.copy-button:hover{color:var(--accent)}.github-link{align-items:center;gap:17px;font-size:11px;display:inline-flex}.github-link svg{width:18px}.site-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:20px;padding-block:25px 28px;font-size:8px;display:flex}.site-footer a{align-items:center;gap:15px;display:flex}.site-footer a span{font-size:17px}.project-dialog{border:1px solid var(--line);background:var(--paper);width:min(600px,100% - 32px);max-height:85dvh;color:var(--ink);padding:55px 45px 42px;overflow-y:auto;box-shadow:0 25px 100px #0004}.project-dialog::backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#161c14a6}.dialog-open{overflow:hidden}.dialog-close{inset-inline-end:12px;width:40px;height:40px;font-size:28px;font-family:var(--font-en);position:absolute;top:10px}.dialog-content .section-label{margin-bottom:15px}.dialog-content h2{font:500 48px var(--font-en);letter-spacing:-2px;text-align:start}.dialog-category{color:var(--accent);margin-top:13px;font-size:11px;display:block}.dialog-content p{color:var(--muted);margin:24px 0;font-size:14px;line-height:2.2}.dialog-content .project-tags{margin-bottom:30px;padding:0}.dialog-return{width:100%}.toast{background:var(--ink);color:var(--paper);z-index:90;opacity:0;pointer-events:none;text-align:center;max-width:calc(100% - 30px);padding:13px 22px;font-size:12px;transition:opacity .25s,transform .25s;position:fixed;bottom:25px;left:50%;transform:translate(-50%,15px)}.toast.visible{opacity:1;transform:translate(-50%)}html[lang=en] .hero h1{letter-spacing:-.04em;font-size:clamp(28px,3.4vw,46px);font-weight:500;line-height:1.25}html[lang=en] .root-stroke{bottom:-8px}html[lang=en] .eyebrow{font-family:var(--font-mono);letter-spacing:.035em;font-size:8px}html[lang=en] .hero-intro{font-size:15px;line-height:1.9}html[lang=en] .hero-links{gap:22px}html[lang=en] .hero-origin{font-family:var(--font-mono);letter-spacing:.04em;margin-top:40px;font-size:7px}html[lang=en] .solid-link svg,html[lang=en] .chapter-tab>svg,html[lang=en] .mobile-nav svg{transform:scaleX(-1)}html[lang=en] .about-lead{font-size:23px;line-height:1.5}html[lang=en] .body-copy{font-size:15px;line-height:1.95}html[lang=en] .principle h3{font-size:14px}html[lang=en] .principle p{font-size:12px}html[lang=en] .project-meta p,html[lang=en] .section-heading p{font-size:13px;line-height:1.7}html[lang=en] .project-tags span{font-size:9px}html[lang=en] .journey-intro>p{font-size:14px;line-height:1.8}html[lang=en] .chapter-card h3{font-size:25px;font-weight:500;line-height:1.3}html[lang=en] .chapter-card>p{font-size:14px;line-height:1.9}html[lang=en] .contact-layout>div>p{font-size:14px}@media (width>=1500px){.hero{padding-top:85px}.photo-mat{aspect-ratio:.9}.hero-intro{font-size:15px}.hero-links{margin-top:35px}.hero-origin{margin-top:46px}}@media (width<=1100px){.hero{column-gap:7%;padding-top:55px}.hero-links{gap:18px}.hero-intro{font-size:12px}.solid-link,.text-link{font-size:10px}.photo-mat{aspect-ratio:.8;padding:22px 25px 35px}.code-note{width:210px;padding:13px 17px;right:-15px}.code-note code{font-size:9px}.hero-origin{margin-top:30px;font-size:8px}.about-layout{gap:9%}.projects{gap:28px}.journey-layout{gap:7%}.chapter-card{padding:25px}.contact-seal{width:165px;height:165px;margin-inline-end:0}.seal-ring{width:123px;height:123px}.seal-top{top:29px}.seal-bottom{bottom:29px}html[lang=en] .hero-links{gap:15px}html[lang=en] .text-link{font-size:10px}}@media (width<=800px){:root{--gutter:28px;--section-space:85px}.header-inner{height:75px}.brand{min-width:0}.brand span{font-size:16px}.brand-mark{width:39px;height:28px}.desktop-nav{display:none}.header-actions{gap:12px}.menu-toggle{display:block}.hero{grid-template-columns:1fr 1fr;gap:36px;padding-top:46px}.hero-copy{padding-top:0}.eyebrow{max-width:220px;font-size:8px;line-height:1.9}.hero-intro{font-size:11px}.hero-links{gap:12px;margin-top:23px}.hero-origin{gap:9px;font-size:7px}.origin-line{display:none}.origin-code{font-size:7px}.photo-mat{padding:18px 20px 35px}.code-note{width:185px;padding:12px;bottom:5%;right:-13px}.code-note code{font-size:8px}.hero-visual figcaption{font-size:7px}.image-side-note{letter-spacing:1px;font-size:6px;left:8px}.hero-foot{gap:12px;min-height:68px;margin-top:5px}.hero-foot>span:first-child{font-size:7px}.hero-signature{letter-spacing:1px;font-size:6px}.hero-foot a{font-size:7px}.discipline-strip .container{letter-spacing:1.5px;gap:15px;height:65px;font-size:10px}.discipline-strip svg{flex:none;width:12px;height:12px}.about-layout{gap:8%}.about-lead{font-size:17px}.body-copy{font-size:12px}.principle{gap:12px}.principle p{font-size:9px}.principle h3{font-size:11px}.principle svg{display:none}.research-object{padding:15px}.research-graphic{height:150px}.section-heading{gap:25px;margin-bottom:32px}.section-heading p{max-width:230px;font-size:10px}.project-visual{aspect-ratio:1.1}.projects{gap:25px}.project-name{gap:8px}.project-name h3{font-size:22px}.project-name span{font-size:8px}.project-meta{gap:10px}.project-meta p{font-size:10px}.project-meta .round-link{width:29px;height:29px}.project-tags{padding-inline-start:23px}.project-tags span{padding:3px 6px;font-size:7px}.journey-layout{gap:6%}.journey-intro>p{font-size:11px}.chapter-card{min-height:440px;padding:22px}.chapter-card h3{font-size:18px}.chapter-card>p{font-size:11px}.chapter-tab{gap:10px;font-size:10px}.chapter-tab>svg{width:15px}.contact-seal{width:145px;height:145px}.seal-ring{width:108px;height:108px}.seal-top{letter-spacing:1.5px;font-size:5px;top:27px}.seal-bottom{font-size:5px;bottom:27px}.contact h2{font-size:29px}html[lang=en] .eyebrow{font-size:6px}html[lang=en] .hero-intro{font-size:12px}html[lang=en] .hero-origin{font-size:6px}html[lang=en] .about-lead{font-size:20px}html[lang=en] .body-copy{font-size:13px}html[lang=en] .principle p{font-size:10px}html[lang=en] .principle h3{font-size:13px}html[lang=en] .chapter-card>p{font-size:12px}html[lang=en] .chapter-card h3{font-size:22px}html[lang=en] .section-heading p{font-size:12px}html[lang=en] .project-meta p{font-size:11px}html[lang=en] .contact h2{font-size:34px}}@media (width<=600px){.social-links{gap:30px}:root{--gutter:23px;--section-space:70px}html{scroll-padding-top:91px}.header-inner{gap:16px;height:72px}.brand{gap:9px}.brand span{font-size:15px}.header-actions{gap:6px}.language-switch{gap:2px}.language-switch button{min-width:32px;padding:7px}.menu-toggle{width:38px}.header-inner .brand-mark{width:36px;height:26px}.hero{flex-direction:column;gap:0;padding-top:38px;display:flex}.hero-copy{align-self:stretch;padding:0}.hero h1{font-size:clamp(30px,8vw,36px)}html[lang=en] .hero h1{font-size:clamp(32px,8.5vw,40px)}.eyebrow{gap:10px;max-width:none;font-size:9px}.root-stroke{bottom:-7px;width:93%;inset-inline-start:1px}.hero-intro{max-width:340px;font-size:12px;line-height:2.2}.hero-links{gap:22px;margin-top:24px}.solid-link{gap:22px;padding:12px 16px;font-size:10px}.text-link{font-size:9px}.hero-origin{gap:10px;max-width:none;margin-top:26px;font-size:8px}.origin-line{width:25px;display:block}.origin-code{font-size:8px}.hero-origin svg{width:16px;height:16px}.hero-visual{margin-top:34px;align-self:stretch;width:calc(100% - 7px);max-width:420px;margin-inline:auto}.photo-mat{padding:16px 23px 28px}.image-side-note{font-size:6px;left:9px}.code-note{width:185px;padding:12px 15px;bottom:2%;right:-12px}.code-note-top{margin-bottom:8px;padding-bottom:8px;font-size:7px}.code-note code{font-size:8px;line-height:1.8}.hero-visual figcaption{padding-top:12px;font-size:7px}.hero-foot{width:100%;min-height:60px;margin-top:29px}.hero-foot>span:first-child{display:none}.hero-foot a{font-size:7px}.hero-signature{letter-spacing:1.4px;font-size:6px}.discipline-strip .container{letter-spacing:1px;gap:12px;width:calc(100% - 36px);height:58px;font-size:8px}.discipline-strip svg{width:9px;height:9px}.discipline-strip span:last-child,.discipline-strip svg:nth-last-child(2){display:none}.section-label{margin-bottom:23px;font-size:9px}h2{letter-spacing:-1.4px;font-size:30px;line-height:1.7}.about-layout{flex-direction:column;gap:32px;display:flex}.about-heading{display:contents}.about-heading>h2{order:0}.about-body{order:1;padding:0}.research-object{order:2;grid-template-columns:1fr 1.15fr;align-items:center;column-gap:15px;max-width:none;margin:0;padding:17px 21px;display:grid}.research-meta{grid-column:1/-1}.research-graphic{grid-area:2/2/4;height:145px}.research-ring{width:104px;height:104px}.axis-h{width:125px}.axis-v{height:125px}.research-graphic>span{font-size:25px}.research-graphic small{font-size:5px;bottom:8px;left:-10px}.research-object h3{text-align:start;align-self:end;padding-bottom:7px;font-size:12px}.research-object p{text-align:start;align-self:start;font-size:8px}.about-lead{margin-bottom:15px;font-size:18px}.body-copy{font-size:12px;line-height:2.4}.principles{margin-top:27px}.principle{gap:16px;padding:18px 0}.principle h3{font-size:12px}.principle p{font-size:10px}.principle>svg{display:block}.principle:last-child{padding-bottom:0}.section-heading{margin-bottom:30px;display:block}.section-heading p{max-width:300px;margin-top:15px;font-size:11px}.projects{grid-template-columns:1fr;gap:42px}.project-visual{aspect-ratio:1.18}.project-meta{gap:12px;margin-top:19px}.project-name{gap:17px}.project-name h3{font-size:25px}.project-name span{font-size:9px}.project-meta p{font-size:11px}.project-meta .round-link{width:35px;height:35px}.project-tags{margin-top:14px;padding-inline-start:25px}.project-tags span{padding:3px 8px;font-size:8px}.project-hover{display:none}.journey-layout{grid-template-columns:1fr;gap:28px}.journey-intro>p{max-width:310px;margin-top:17px;font-size:12px}.chapter-hint{margin-top:25px}.chapter-tabs{margin-top:10px}.chapter-tab{gap:16px;min-height:58px;font-size:12px}.chapter-card{min-height:387px;padding:25px;box-shadow:5px 5px #e0e3d8}.chapter-symbol{margin-top:22px;font-size:68px;line-height:1.1}.chapter-card h3{margin-top:15px;font-size:20px}.chapter-card>p{margin-top:14px;margin-bottom:25px;font-size:12px;line-height:2.3}.chapter-bottom{font-size:8px}.contact-layout{gap:0;position:relative}.contact-layout>div:first-child{width:100%}.contact h2{letter-spacing:-1.4px;font-size:clamp(25px,6.4vw,35px);line-height:1.8}.contact-layout>div>p{max-width:300px;margin-top:16px;font-size:10px}.contact-seal{display:none}.contact-cta{gap:35px;margin-top:20px;font-size:12px}.contact-bottom{flex-wrap:wrap;gap:22px;margin-top:36px;padding-top:22px}.email-row{justify-content:space-between;gap:8px;width:100%}.email-row>a{letter-spacing:-.5px;font-size:clamp(9px,2.8vw,13px)}.github-link{gap:12px;font-size:10px}.contact{padding-bottom:32px}.site-footer{gap:12px;padding-block:21px;font-size:7px}.site-footer>span:nth-child(2){display:none}.site-footer a{gap:9px}.project-dialog{padding:50px 25px 28px}.dialog-content h2{font-size:40px}.dialog-content p{font-size:12px}html[lang=en] .eyebrow{font-size:7px}html[lang=en] .root-stroke{width:95%;bottom:-5px}html[lang=en] .hero-intro{max-width:345px;font-size:13px;line-height:1.9}html[lang=en] .hero-origin{margin-top:26px;font-size:7px}html[lang=en] .hero-links{gap:24px}html[lang=en] .text-link{font-size:10px}html[lang=en] .hero-visual{margin-top:34px}html[lang=en] h2{letter-spacing:-1.6px;font-size:34px;line-height:1.14}html[lang=en] .about-lead{font-size:21px}html[lang=en] .body-copy{font-size:14px;line-height:1.85}html[lang=en] .principle h3{font-size:14px}html[lang=en] .principle p{font-size:11px}html[lang=en] .research-object h3{font-size:13px;line-height:1.6}html[lang=en] .research-object p{font-size:10px}html[lang=en] .project-meta p{font-size:13px}html[lang=en] .section-heading p{font-size:13px;line-height:1.8}html[lang=en] .journey-intro>p{font-size:14px}html[lang=en] .chapter-card h3{font-size:26px}html[lang=en] .chapter-card>p{font-size:14px;line-height:1.85}html[lang=en] .contact h2{font-size:clamp(30px,8.1vw,42px)}html[lang=en] .contact-layout>div>p{font-size:13px}}@media (width<=360px){:root{--gutter:19px}.hero-links{gap:17px}.text-link,.eyebrow{font-size:8px}.hero-intro{font-size:11px}.hero-origin{font-size:7px}.code-note{width:170px;right:-9px}.project-name{gap:12px}.project-name span{font-size:8px}.project-meta p{font-size:10px}.chapter-card{padding:21px}.chapter-card h3{font-size:18px}.contact h2{font-size:24px}.research-object{padding:16px}.research-object h3{font-size:11px}html[lang=en] .hero-links{gap:15px}html[lang=en] .hero-origin{font-size:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:56px 28px}.project-visual{aspect-ratio:4/3;background:#eeeeea}.project-image{object-fit:cover;width:100%;height:100%;transition:transform .9s var(--ease-out);display:block}.project-visual:hover .project-image{transform:scale(1.035)}.project-period{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:18px;font-size:10px;display:flex}.project-period .item-number{font-size:9px}.project-meta{gap:14px;margin-top:10px}.project-name{display:block}.project-name h3{font-size:25px;line-height:1.4}.project-name h3[lang=fa],.dialog-content h2[lang=fa]{font-family:var(--font-fa);letter-spacing:-1px}.project-name>span{margin-top:4px;font-size:10px;display:block}.project-meta p{font-size:11px;line-height:2}.project-meta .round-link{width:32px;height:32px;margin-top:4px}.project-tags{gap:6px;margin-top:14px;padding-inline-start:0}.project-tags span{font-size:8px}.art-disclosure{color:#62625e}.social-links{flex-wrap:wrap;gap:16px 26px}.contact-bottom{flex-wrap:wrap;gap:25px}.dialog-image{aspect-ratio:4/3;height:auto;margin-bottom:27px}.project-external{margin-bottom:25px}.project-external .text-link{font-size:12px}.project-external svg{width:17px}html[lang=en] .project-meta p{font-size:13px;line-height:1.7}@media (width<=1050px){.projects{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 26px}}@media (width<=600px){.projects{grid-template-columns:1fr;gap:42px}.project-name{flex-wrap:wrap;align-items:baseline;gap:4px 14px;display:flex}.project-name>span{margin-top:0}.project-visual{aspect-ratio:4/3}.project-meta p{font-size:11px}.project-tags{padding-inline-start:0}.social-links{gap:15px 22px}.dialog-image{margin-bottom:22px}}@media (prefers-reduced-motion:reduce){.project-image{transition:none}.project-visual:hover .project-image{transform:none}}.hero-root{color:var(--accent)}.root-stroke{color:#b97a60}.status-dot{background:var(--accent-blue);box-shadow:0 0 0 4px var(--blue-soft)}.hero-origin svg{color:var(--sage)}.solid-link{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.solid-link:before{background:#304f69}.code-note-top i{background:#b88063}.code-note code span{color:#8aafc4}.research-object{background:var(--blue-soft);border-color:#c7d6e1}.research-ring{border-color:#8ea8bc}.research-graphic>span{color:var(--accent-blue)}.research-graphic .axis{background:#c6d4df}.research-graphic small,.research-meta{color:#557188}.principle>svg{color:var(--sage)}.project{--project-accent:var(--accent);--project-tint:var(--copper-soft)}:is(.project:has([data-project=webi]),.project:has([data-project=googlemapview]),.project:has([data-project=meditorha])){--project-accent:var(--accent-blue);--project-tint:var(--blue-soft)}:is(.project:has([data-project=mioplay]),.project:has([data-project=chetorie])){--project-accent:var(--sage);--project-tint:#e8eee8}.project-period{color:var(--project-accent)}.project-tags span:first-child{background:var(--project-tint);color:var(--project-accent);border-color:#0000}.project .round-link:hover{background:var(--project-accent);border-color:var(--project-accent)}.project-hover{border-color:var(--project-accent);color:var(--project-accent)}.chapter-tab[aria-selected=true]{color:var(--accent)}.chapter-tab[aria-selected=true] .timeline-dot{box-shadow:0 0 0 4px #e9d9cf}.chapter-card{border-color:#dbc7ba;box-shadow:7px 7px #eadcd2}.chapter-symbol{color:#bc8b70}.chapter-bottom code{color:var(--accent-blue)}.contact-seal{background:#edf1ed;border-color:#cbd7cc}.contact-seal .brand-mark{color:var(--sage)}.social-links a:hover{color:var(--accent-blue)}main{overflow-x:clip}.hero{isolation:isolate}.hero:before,.hero-field{inset:0 calc(var(--gutter) * -1);z-index:-1;pointer-events:none;opacity:0;transition:opacity .8s var(--ease-out);position:absolute}.hero:before{content:"";background:radial-gradient(560px circle at var(--mx,50%) var(--my,40%), #a4553f14, #4266840d 40%, transparent 70%)}.hero-field{-webkit-mask-image:radial-gradient(260px circle at var(--mx,50%) var(--my,40%), #000, transparent 72%);-webkit-mask-image:radial-gradient(260px circle at var(--mx,50%) var(--my,40%), #000, transparent 72%);mask-image:radial-gradient(260px circle at var(--mx,50%) var(--my,40%), #000, transparent 72%);background-image:radial-gradient(circle,#42668461 1px,#0000 1.6px);background-position:50%;background-size:22px 22px}.hero.is-lit:before,.hero.is-lit .hero-field{opacity:1}.hero-visual{isolation:isolate;position:relative}.hero-ornament{z-index:-1;aspect-ratio:1;pointer-events:none;color:#c4c7bb;width:145%;position:absolute;top:calc(50% - 15px);left:50%;translate:-50% -50%}.hero-ornament svg{stroke-width:.8px;width:100%;max-width:none;height:100%;position:absolute;inset:0;overflow:visible}.orn-ring{animation:180s linear infinite ornament-spin}.orn-star{animation:260s linear infinite reverse ornament-spin}.orn-bead{fill:var(--paper)}.orn-tick{stroke-linecap:butt}.orn-accent{color:#c08d74;stroke-width:1.6px}.orn-axes{opacity:.7}@keyframes ornament-spin{to{transform:rotate(360deg)}}.photo-glare{z-index:2;pointer-events:none;background:radial-gradient(circle at var(--gx,50%) var(--gy,30%), #ffffff8c, transparent 55%);mix-blend-mode:soft-light;opacity:0;transition:opacity .6s var(--ease-out);position:absolute;inset:0}@media (hover:hover){.photo-mat:hover .photo-glare{opacity:1}}.status-dot{position:relative}.status-dot:after{content:"";background:var(--accent-blue);animation:status-ping 2.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:0}@keyframes status-ping{0%{opacity:.55;transform:scale(1)}70%,to{opacity:0;transform:scale(4.2)}}.code-note{animation:7s ease-in-out 1s infinite drift}@keyframes drift{50%{translate:0 -7px}}.code-note.is-typing .code-caret{animation:none}.hero-foot i{animation:scroll-cue 2.4s var(--ease-out) infinite}@keyframes scroll-cue{0%{opacity:0;translate:0 -5px}30%,65%{opacity:1}to{opacity:0;translate:0 7px}}.solid-link svg{transition:translate .5s var(--ease-out)}.solid-link:hover svg{translate:-4px}html[dir=ltr] .solid-link:hover svg{translate:4px}.text-link{transition:background-size .5s var(--ease-out);background:linear-gradient(currentColor,currentColor) right calc(100% - 6px)/0 1px no-repeat}html[dir=ltr] .text-link{background-position-x:left}.text-link:hover{background-size:100% 1px}.section-label:before{transform:scaleX(var(--label-line,1));transform-origin:100%}html[dir=ltr] .section-label:before{transform-origin:0}.discipline-strip .container.is-marquee{justify-content:flex-start;width:100%;max-width:none;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000);mask-image:linear-gradient(90deg,#0000,#000 9% 91%,#0000)}.marquee-track{will-change:transform;flex:none;display:flex}.marquee-group{--marquee-gap:clamp(26px, 3.4vw, 54px);align-items:center;gap:var(--marquee-gap);padding-right:var(--marquee-gap);flex:none;display:flex}.marquee-group span{transition:color .3s}.marquee-group span:hover{color:var(--accent)}.research-ring{animation:24s linear infinite orbit-a}.ring-b{animation-name:orbit-b;animation-duration:30s}.ring-c{animation-name:orbit-c;animation-duration:38s}@keyframes orbit-a{0%{transform:rotate(-35deg)scaleX(.5)}to{transform:rotate(325deg)scaleX(.5)}}@keyframes orbit-b{0%{transform:rotate(35deg)scaleX(.5)}to{transform:rotate(395deg)scaleX(.5)}}@keyframes orbit-c{0%{transform:rotate(90deg)scaleX(.5)}to{transform:rotate(450deg)scaleX(.5)}}.principle>svg{transition:transform .8s var(--ease-out), color .3s}.principle:hover>svg{color:var(--accent);transform:rotate(90deg)}.cursor-ring{z-index:95;pointer-events:none;opacity:0;width:36px;height:36px;transition:opacity .3s, scale .45s var(--ease-out), background-color .3s, border-color .3s;border:1px solid #20211f66;border-radius:50%;margin:-18px 0 0 -18px;position:fixed;top:0;left:0}.cursor-ring.is-visible{opacity:1}.cursor-ring.is-active{border-color:var(--accent);background-color:#a4553f14;scale:1.65}.cursor-ring.is-pressed{scale:.8}.cursor-ring.is-active.is-pressed{scale:1.35}.dialog-open .cursor-ring{opacity:0}.portrait-card{border:1px solid var(--line);background:#eeede7;max-width:390px;margin:32px 0 0;padding:12px}.portrait-window{aspect-ratio:4/5;background:#e5e2dc;overflow:hidden}.portrait-window img{width:100%;height:auto;display:block}.portrait-card figcaption{justify-content:space-between;align-items:center;gap:16px;padding:17px 3px 4px;display:flex}.portrait-name{font-size:13px;font-weight:700;display:block}.portrait-role{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.8;display:block}.portrait-card .brand-mark{width:38px;height:28px;color:var(--ink)}.research-inline{grid-template-columns:minmax(0,1fr) 108px;align-items:center;column-gap:20px;max-width:none;margin-top:27px;padding:18px 22px;display:grid}.research-inline .research-meta{grid-column:1;align-self:end}.research-inline .research-meta span{font-size:8px}.research-inline .research-graphic{grid-area:1/2/4;height:100px}.research-inline .research-ring{width:80px;height:80px}.research-inline .axis-h{width:100px}.research-inline .axis-v{height:100px}.research-inline .research-graphic>span{font-size:24px}.research-inline h3,.research-inline p{text-align:start;grid-column:1;margin:0;padding:0}.research-inline h3{align-self:center;font-size:13px}.research-inline p{align-self:start;font-size:10px}@media (width<=600px){.portrait-card{order:1;width:min(100%,350px);margin:0 auto}.about-body{order:2}.research-inline{grid-template-columns:minmax(0,1fr) 88px;column-gap:12px;padding:16px}.research-inline .research-graphic{height:90px}.research-inline .research-ring{width:72px;height:72px}.research-inline .axis-h{width:88px}.research-inline .axis-v{height:88px}.hero-ornament{width:138%;top:calc(50% - 12px)}.hero-ornament svg{stroke-width:1.1px}}.project-story-link{width:fit-content;color:var(--accent);border-bottom:1px solid var(--accent-soft);align-items:center;gap:12px;margin-top:18px;padding:7px 0;font-size:12px;display:flex}.project-story-link svg{width:16px;height:16px}.project-story-link:hover{color:var(--ink)}.project-dialog .project-story-link{margin-bottom:24px}
