@font-face{font-family:Anton;src:url('/minimal/assets/anton.woff2?v=f08675a900b9') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url('/assets/fonts/vazirmatn.woff2?v=f08675a900b9') format('woff2');font-weight:100 900;font-display:swap}
:root{color-scheme:dark;--bg:#1e1e1e;--ink:#e9e8e3;--muted:#a7a6a1;--line:#454540;--pad:clamp(24px,5.2vw,100px);--px:0;--py:0}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{font-family:Vazirmatn,Arial,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:7px}
svg{width:24px;height:24px;flex-shrink:0}
.minimal-page{isolation:isolate;display:grid;grid-template-rows:78px minmax(0,1fr) 84px;padding-inline:var(--pad);position:relative}
.minimal-page:after{content:'';position:fixed;inset:0;border:12px solid #242424;pointer-events:none;z-index:6}
.skip{position:fixed;top:10px;left:30px;background:var(--ink);color:var(--bg);padding:10px 18px;z-index:20;transform:translateY(-180%)}
.skip:focus{transform:translateY(0)}
.minimal-header{display:flex;align-items:center;justify-content:space-between;direction:ltr;z-index:5}
.brand{font:600 18px/1 'Courier New',monospace;letter-spacing:1px;color:#d4d3ce}
.header-actions{display:flex;align-items:center;gap:22px}
.motion-toggle{display:grid;place-items:center;width:32px;height:32px;background:none;border:0;padding:4px;color:#8e8e89;transition:color .2s}
.motion-toggle svg{width:18px;height:18px}.motion-toggle:hover{color:var(--ink)}
.lang-switch{font-size:13px;line-height:32px;color:#c2c1bc;min-width:26px;text-align:center}
.poster{position:relative;min-height:0;direction:ltr;outline:none}
.poster-copy{position:relative;z-index:3;width:57%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-block:10px 24px;transform:translate(calc(var(--px)*-3px),calc(var(--py)*-2px));transition:transform .6s ease-out}
.name-stack{font-family:Anton,Impact,sans-serif;font-weight:400;font-size:min(13.5vw,20.2vh,204px);line-height:.94;letter-spacing:-.025em;margin:0 0 24px;transform:translateX(-3px);text-shadow:1px 1px 0 #979892,2px 2px 0 #888984,3px 3px 0 #7b7c77,4px 4px 0 #6b6c67,5px 5px 0 #5b5c57,6px 6px 0 #50514d;user-select:text}
.name-line{display:block;white-space:nowrap;animation:name-in .8s cubic-bezier(.2,.7,.2,1) both}
.name-line:nth-child(2){animation-delay:.08s}.name-line:nth-child(3){animation-delay:.16s}
.identity-fa{font-size:clamp(15px,1.35vw,22px);font-weight:400;line-height:1.6;margin:0 0 8px;color:#d6d5d0}
.specialties{display:flex;align-items:center;gap:12px;line-height:1.5;margin:0;font-size:clamp(12px,1.05vw,16px);color:var(--muted)}
[lang=fa] .specialties{direction:rtl}.specialties i{color:#686964;font-style:normal;font-size:13px}
.project-block{display:flex;align-items:center;gap:20px;margin-top:27px;font-size:13px}
.project-label{color:#94958f;font-size:11px;line-height:24px}
.project-links{display:flex;align-items:center;gap:24px}
.project-links a{display:flex;align-items:center;gap:4px;line-height:24px;color:#bcbcb6;transition:color .2s}
.project-links a svg{width:12px;height:12px;color:#7c7d77;transition:transform .2s,color .2s}
.project-links a:hover{color:#fff}.project-links a:hover svg{color:#fff;transform:translate(2px,-2px)}
.portrait-wrap{position:absolute;z-index:2;bottom:-84px;right:-5.5vw;width:62%;height:calc(100% + 94px);margin:0;pointer-events:none;transform:translate(calc(var(--px)*7px),calc(var(--py)*3px));transition:transform .7s ease-out;animation:portrait-in 1s cubic-bezier(.2,.7,.2,1) both}
.portrait{display:block;width:100%;height:100%;object-fit:contain;object-position:bottom center;filter:grayscale(1);-webkit-user-drag:none;user-select:none}
.poster-footer{z-index:5;display:flex;align-items:center;justify-content:space-between;direction:ltr;gap:24px}
.concept-back{order:2;display:flex;align-items:center;gap:8px;font-size:12px;color:#a7a6a1;transition:color .2s;white-space:nowrap}
.concept-back svg{width:15px;height:15px}.concept-back:hover{color:var(--ink)}
.social-links{order:1;display:flex;align-items:center;gap:28px;direction:ltr;padding:10px 0}
.social-link{display:flex;align-items:center;gap:9px;color:#bdbdb7;font-size:12px;transition:color .2s,transform .2s;white-space:nowrap}
.social-link svg{width:24px;height:24px;stroke-width:1.5}.social-link:hover{color:white;transform:translateY(-3px)}
@keyframes name-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes portrait-in{from{opacity:0;translate:20px 0}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.poster-copy{width:60%}.portrait-wrap{right:0;width:59%}.minimal-page{grid-template-rows:90px minmax(0,1fr) 90px}.portrait-wrap{bottom:-90px;height:calc(100% + 100px)}}
@media(max-height:720px) and (min-width:901px){.minimal-page{grid-template-rows:60px minmax(0,1fr) 62px}.name-stack{font-size:min(12.5vw,19vh);margin-bottom:18px}.identity-fa{font-size:16px;margin-bottom:4px}.project-block{margin-top:18px}.portrait-wrap{bottom:-62px;height:calc(100% + 75px)}}
@media(max-width:1100px) and (min-width:701px){:root{--pad:40px}.project-links{gap:16px}.project-block{gap:16px}.portrait-wrap{width:65%;right:-9vw}.name-stack{font-size:min(13vw,19vh)}.social-links{gap:20px}}
@media(max-width:700px){:root{--pad:26px}.minimal-page{grid-template-rows:65px minmax(0,1fr) 80px}.minimal-page:after{border-width:7px}.brand{font-size:15px}.header-actions{gap:12px}.poster-copy{width:100%;justify-content:flex-start;padding-top:5vh;padding-bottom:0}.name-stack{font-size:min(18vw,12.8vh);line-height:1.02;margin-bottom:22px;text-shadow:1px 1px 0 #888984,2px 2px 0 #777872,3px 3px 0 #63645e,4px 4px 0 #50514d}.portrait-wrap{width:100%;right:-30%;height:78%;bottom:-75px;opacity:.75}.identity-fa{font-size:15px}.specialties{font-size:12px;gap:10px}.project-block{flex-direction:column;align-items:flex-start;gap:3px;margin-top:20px}.project-links{gap:17px;font-size:12px}.poster-footer{align-items:center;gap:10px}.concept-back{font-size:10px;gap:3px}.concept-back svg{width:12px;height:12px}.social-links{gap:18px;padding:10px 0}.social-link{font-size:10px;gap:5px}.social-link svg{width:20px;height:20px}}
@media(max-width:420px){.social-link span{display:none}.social-links{gap:20px}.portrait-wrap{right:-34%;height:75%}.name-stack{font-size:min(18vw,12vh)}.project-links{gap:15px}.project-label{display:none}.project-block{margin-top:17px}}
@media(max-height:560px) and (min-width:701px){.minimal-page{grid-template-rows:48px minmax(0,1fr) 48px}.name-stack{font-size:min(11vw,18vh);margin-bottom:12px}.identity-fa{font-size:13px;margin-bottom:3px}.specialties{font-size:11px}.project-block{margin-top:12px}.project-label{display:none}.project-links{font-size:11px}.portrait-wrap{bottom:-48px;height:calc(100% + 60px)}}
@media(max-width:700px) and (max-height:650px){.minimal-page{grid-template-rows:50px minmax(0,1fr) 55px}.poster-copy{padding-top:2vh}.name-stack{font-size:min(17vw,12vh);margin-bottom:17px}.identity-fa{font-size:13px;margin-bottom:5px}.project-block{margin-top:14px}.portrait-wrap{bottom:-55px;height:77%}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=running]) *,html:not([data-motion=running]) *:before,html:not([data-motion=running]) *:after{animation:none!important;transition:none!important}html:not([data-motion=running]) .poster-copy,html:not([data-motion=running]) .portrait-wrap{transform:none!important}}
html[data-motion=paused] *,html[data-motion=paused] *:before,html[data-motion=paused] *:after{animation:none!important;transition:none!important}
html[data-motion=paused] .poster-copy,html[data-motion=paused] .portrait-wrap{transform:none!important}

/* A registered second portrait appears through a small, feathered lens. */
.poster-copy{pointer-events:none}.poster-copy>*{pointer-events:auto}
.portrait-wrap{container-type:size;transform:none;transition:none}
.portrait-stage{position:absolute;bottom:0;left:50%;translate:-50% 0;width:min(100cqw,75cqh);aspect-ratio:3/4;pointer-events:auto;--lens-x:50%;--lens-y:22%;--lens-radius:44px;--lens-opacity:0}
.portrait-stage>.portrait{position:absolute;inset:0}
.portrait-reveal{position:absolute;inset:0;pointer-events:none;opacity:0;-webkit-mask-image:radial-gradient(circle var(--lens-radius) at var(--lens-x) var(--lens-y),#000 0%,#000 50%,rgba(0,0,0,.98) 61%,rgba(0,0,0,.6) 82%,transparent 100%);mask-image:radial-gradient(circle var(--lens-radius) at var(--lens-x) var(--lens-y),#000 0%,#000 50%,rgba(0,0,0,.98) 61%,rgba(0,0,0,.6) 82%,transparent 100%);transition:opacity .2s ease-out}
.portrait-child{display:block;width:100%;height:100%;object-fit:contain;object-position:bottom center;filter:grayscale(1);user-select:none;-webkit-user-drag:none;transform-origin:38.858% 22.479%;transform:translate(-.184%,-3.004%) rotate(-.3deg) scale(1.122)}
.portrait-halo{position:absolute;pointer-events:none;left:var(--lens-x);top:var(--lens-y);width:calc(var(--lens-radius)*2);height:calc(var(--lens-radius)*2);transform:translate(-50%,-50%);border:0;border-radius:48% 52% 46% 54%;opacity:0;transition:opacity .2s ease-out}
.portrait-halo:before{content:'';position:absolute;inset:-22%;border-radius:47% 53% 45% 55%;background:conic-gradient(from 15deg,transparent 0deg,rgba(134,110,247,.4) 50deg,rgba(201,220,255,.5) 84deg,transparent 125deg,rgba(112,105,218,.36) 200deg,rgba(131,211,237,.45) 255deg,transparent 308deg);-webkit-mask-image:radial-gradient(ellipse,#0000 45%,#000 61%,#000 65%,#0000 77%);mask-image:radial-gradient(ellipse,#0000 45%,#000 61%,#000 65%,#0000 77%);filter:blur(7px);animation:horizon-drift 8s linear infinite;animation-play-state:paused}
.portrait-halo:after{content:'';position:absolute;inset:-8%;border-radius:50%;background:radial-gradient(ellipse,transparent 42%,rgba(10,8,25,.16) 60%,rgba(125,110,219,.08) 72%,transparent 88%);filter:blur(5px)}
.portrait-stage.reveal-ready.is-revealing .portrait-reveal,.portrait-stage.reveal-ready.is-revealing .portrait-halo{opacity:var(--lens-opacity)}
.portrait-stage.reveal-ready.is-revealing .portrait-halo:before{animation-play-state:running}
@keyframes horizon-drift{0%{rotate:0deg;scale:1 .91}50%{rotate:180deg;scale:1.06 .95}100%{rotate:360deg;scale:1 .91}}

/* The wider name portal trades the first name for the personal handle. */
.name-portal{position:relative;isolation:isolate;--name-x:50%;--name-y:50%;--name-radius-x:600px;--name-radius-y:260px}
.name-base{position:relative;display:block}
.name-alias{position:absolute;top:0;left:0;opacity:0;pointer-events:none;color:#efedf7}
.name-alias:before{content:attr(data-alias)}
.name-portal.is-name-revealing .name-base{-webkit-mask-image:radial-gradient(ellipse var(--name-radius-x) var(--name-radius-y) at var(--name-x) var(--name-y),transparent 0%,transparent 70%,#000 100%);mask-image:radial-gradient(ellipse var(--name-radius-x) var(--name-radius-y) at var(--name-x) var(--name-y),transparent 0%,transparent 70%,#000 100%)}
.name-portal.is-name-revealing .name-alias{opacity:1;-webkit-mask-image:radial-gradient(ellipse var(--name-radius-x) var(--name-radius-y) at var(--name-x) var(--name-y),#000 0%,#000 70%,transparent 100%);mask-image:radial-gradient(ellipse var(--name-radius-x) var(--name-radius-y) at var(--name-x) var(--name-y),#000 0%,#000 70%,transparent 100%)}
.name-aura{position:absolute;z-index:-1;pointer-events:none;left:var(--name-x);top:var(--name-y);width:100%;height:210%;transform:translate(-50%,-50%);opacity:0;background:radial-gradient(ellipse,rgba(91,77,158,.11) 8%,rgba(115,138,188,.07) 32%,transparent 67%);filter:blur(15px);transition:opacity .2s}
.name-portal.is-name-revealing .name-aura{opacity:1}
@media(pointer:coarse){.portrait-stage{pointer-events:none}.portrait-reveal,.portrait-halo{display:none}}
.profile-summary{font-size:12px;line-height:1.7;color:#a7a6a1;max-width:100%;margin:8px 0 0}
@media(min-width:701px) and (max-height:720px){.name-stack{font-size:min(12.5vw,18vh);margin-bottom:14px}.poster-copy{padding-block:8px 12px}.project-block{margin-top:14px}}
@media(max-width:700px){.profile-summary{font-size:11px;max-width:215px;margin-top:6px}.project-block{margin-top:13px}}
