:root{
  --bg:#090a0c;
  --bg-2:#0d0f12;
  --panel:#101216;
  --panel-2:#14171c;
  --text:#f7f8fa;
  --muted:#8a919c;
  --muted-2:#5d646e;
  --line:rgba(255,255,255,.09);
  --line-strong:rgba(255,255,255,.16);
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --radius:26px;
  --shell:1180px;
  --header-h:82px;
  --pointer-x:50vw;
  --pointer-y:50vh;
  --scroll-p:0;
}
html[data-theme="light"]{
  --bg:#f4f5f1;
  --bg-2:#eceee9;
  --panel:#fff;
  --panel-2:#f4f5f0;
  --text:#121411;
  --muted:#646960;
  --muted-2:#8b9088;
  --line:rgba(14,17,13,.10);
  --line-strong:rgba(14,17,13,.18);
  --shadow:0 24px 80px rgba(18,20,15,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow-x:hidden;transition:background .35s ease,color .35s ease}
body.fa-page{font-family:Vazirmatn,Manrope,sans-serif}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
button{color:inherit}
img{display:block;max-width:100%}
::selection{background:var(--accent);color:#11140b}
.shell{width:min(calc(100% - 48px),var(--shell));margin-inline:auto}
.section-shell{position:relative;z-index:2}
.micro-label{display:block;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}
.fa-page .micro-label{letter-spacing:.07em}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 18px;border-radius:13px;border:1px solid var(--line-strong);font-size:12px;font-weight:800;transition:transform .25s ease,border-color .25s ease,background .25s ease,color .25s ease;position:relative;overflow:hidden}
.button:before{content:"";position:absolute;inset:-2px;transform:translateX(-120%);background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .55s ease}
.button:hover:before{transform:translateX(120%)}
.button.primary{background:var(--text);color:var(--bg);border-color:var(--text)}
.button.ghost{background:transparent}
.button.dark{background:#11130f;color:#fff;border-color:#11130f}
.text-link{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;border-bottom:1px solid var(--line-strong);padding-bottom:6px}

/* Motion background */
.motion-scene{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.motion-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--pointer-x) var(--pointer-y),color-mix(in srgb,var(--accent) 7%, transparent),transparent 28%);opacity:.9;transition:opacity .2s ease}
.motion-aurora{position:absolute;border-radius:50%;filter:blur(95px);opacity:.1;mix-blend-mode:screen;will-change:transform}
.motion-aurora-a{width:42vw;height:42vw;background:var(--accent);top:-14vw;left:-14vw;animation:auroraA 13s ease-in-out infinite alternate}
.motion-aurora-b{width:38vw;height:38vw;background:var(--accent-2);right:-16vw;top:32vh;animation:auroraB 15s ease-in-out infinite alternate}
.motion-grid{position:absolute;inset:-10%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:72px 72px;opacity:.15;mask-image:radial-gradient(circle at center,#000,transparent 72%);transform:translate3d(0,calc(var(--scroll-p) * -16px),0)}
.motion-orbit{position:absolute;border:1px solid var(--line);border-radius:50%;opacity:.28}
.motion-orbit-a{width:520px;height:520px;right:6vw;top:18vh;animation:spin 42s linear infinite}
.motion-orbit-b{width:280px;height:280px;left:8vw;bottom:12vh;animation:spinReverse 34s linear infinite}
.scroll-progress{position:fixed;top:0;inset-inline:0;height:2px;z-index:1200;background:transparent;pointer-events:none}.scroll-progress i{display:block;height:100%;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;box-shadow:0 0 16px var(--accent)}
html[dir="rtl"] .scroll-progress i{transform-origin:right}
.page-transition{position:fixed;inset:0;z-index:3000;background:var(--accent);display:grid;place-items:center;color:#11150b;clip-path:inset(100% 0 0);pointer-events:none;transition:clip-path .44s cubic-bezier(.76,0,.24,1)}
.page-transition span{font-size:clamp(48px,9vw,130px);font-weight:900;letter-spacing:-.07em;transform:translateY(40px);transition:transform .44s cubic-bezier(.76,0,.24,1)}
body.is-leaving .page-transition{clip-path:inset(0)}body.is-leaving .page-transition span{transform:none}
[data-reveal]{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.75,.2,1),transform .8s cubic-bezier(.2,.75,.2,1)}[data-reveal].is-visible{opacity:1;transform:none}
.click-burst{position:fixed;left:0;top:0;width:10px;height:10px;pointer-events:none;z-index:2500}.click-burst i{position:absolute;left:50%;top:50%;width:8px;height:8px;border:1px solid var(--accent);border-radius:50%;transform:translate(-50%,-50%);animation:burst .7s ease-out forwards}.click-burst i:nth-child(2){animation-delay:.05s}.click-burst i:nth-child(3){animation-delay:.1s}
.cursor-fx,.cursor-trail{position:fixed;inset:0;z-index:2100;pointer-events:none;display:none}.cursor-fx i{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);transform:translate(-50%,-50%);box-shadow:0 0 24px color-mix(in srgb,var(--accent) 55%, transparent)}.cursor-fx span{position:absolute;min-width:48px;height:28px;padding:0 10px;border-radius:999px;border:1px solid var(--line-strong);background:color-mix(in srgb,var(--bg) 80%, transparent);backdrop-filter:blur(12px);display:grid;place-items:center;font-size:9px;font-weight:900;letter-spacing:.08em;opacity:0;transform:translate(14px,-28px) scale(.8);transition:opacity .2s ease,transform .2s ease}.cursor-fx.is-labeled span{opacity:1;transform:translate(14px,-28px) scale(1)}
.cursor-trail i{position:absolute;width:4px;height:4px;border-radius:50%;background:var(--accent-2);opacity:.45;transform:translate(-50%,-50%)}
@media (hover:hover) and (pointer:fine){.cursor-fx,.cursor-trail{display:block}body{cursor:none}a,button{cursor:none}}

/* Header */
.site-header{position:fixed;top:0;inset-inline:0;z-index:1000;padding:16px 0;pointer-events:auto;transition:padding .28s ease,transform .28s ease}
.site-header.is-scrolled{padding:8px 0}
.nav-shell{min-height:64px;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 78%, transparent);backdrop-filter:blur(22px) saturate(140%);border-radius:19px;display:flex;align-items:center;justify-content:space-between;padding:8px 9px 8px 11px;box-shadow:0 12px 45px rgba(0,0,0,.08)}
.brand{display:flex;align-items:center;gap:11px;min-width:210px}
.brand-mark{width:45px;height:45px;border-radius:13px;background:var(--accent);color:#15190d;display:grid;place-items:center;position:relative;overflow:hidden;flex:0 0 auto;box-shadow:0 0 32px color-mix(in srgb,var(--accent) 20%, transparent)}
.brand-mark b,.brand-mark .brand-letter{font-size:18px;font-weight:900;line-height:1}.brand-mark sup{position:absolute;right:5px;top:4px;font-size:7px;font-weight:900}.brand-mark img{width:100%;height:100%;object-fit:cover}
.brand-copy{display:grid;line-height:1.1}.brand-copy strong,.brand-copy .brand-name{font-size:13px;letter-spacing:-.03em}.brand-copy small{font-size:7px;color:var(--muted);letter-spacing:.14em;margin-top:4px}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:26px}.desktop-nav a{font-size:10px;color:var(--muted);font-weight:700;position:relative;transition:color .2s ease}.desktop-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--accent);transition:right .25s ease}.desktop-nav a:hover{color:var(--text)}.desktop-nav a:hover:after{right:0}
.header-actions{display:flex;align-items:center;gap:7px}.lang-switch{display:flex;align-items:center;border:1px solid var(--line);padding:4px;border-radius:12px;background:color-mix(in srgb,var(--panel) 70%, transparent)}.lang-switch a{min-width:29px;height:29px;display:grid;place-items:center;border-radius:8px;font-size:8px;font-weight:900;color:var(--muted);transition:.2s}.lang-switch a.active{background:var(--text);color:var(--bg)}
.header-icon{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:color-mix(in srgb,var(--panel) 70%, transparent);display:grid;place-items:center;padding:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent;position:relative;z-index:2}.theme-button .moon{display:none}html[data-theme="light"] .theme-button .sun{display:none}html[data-theme="light"] .theme-button .moon{display:block}.menu-button{display:none}.menu-button span{position:absolute;width:15px;height:1.5px;background:currentColor;transition:transform .24s ease,top .24s ease;left:50%;transform:translateX(-50%)}.menu-button span:first-child{top:15px}.menu-button span:last-child{top:21px}.site-header.menu-open .menu-button span:first-child{top:18px;transform:translateX(-50%) rotate(45deg)}.site-header.menu-open .menu-button span:last-child{top:18px;transform:translateX(-50%) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:1190;visibility:hidden;pointer-events:none}.mobile-menu.open{visibility:visible;pointer-events:auto}.mobile-menu-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.58);backdrop-filter:blur(8px);opacity:0;transition:opacity .26s ease}.mobile-menu.open .mobile-menu-backdrop{opacity:1}.mobile-menu-panel{position:absolute;top:12px;bottom:12px;inset-inline-end:12px;width:min(420px,calc(100% - 24px));border:1px solid var(--line);border-radius:24px;background:var(--bg-2);padding:22px;display:flex;flex-direction:column;transform:translateX(calc(105% * var(--menu-dir,1)));transition:transform .36s cubic-bezier(.2,.8,.2,1);box-shadow:var(--shadow)}html[dir="rtl"] .mobile-menu-panel{--menu-dir:-1}.mobile-menu.open .mobile-menu-panel{transform:none}.mobile-menu-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}.mobile-menu-top span{font-size:9px;color:var(--muted);letter-spacing:.16em}.mobile-menu-top button{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:transparent;font-size:20px}.mobile-menu nav{display:grid;margin-top:18px}.mobile-menu nav a{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:center;min-height:68px;border-bottom:1px solid var(--line)}.mobile-menu nav small{font-size:9px;color:var(--muted)}.mobile-menu nav strong,.mobile-menu nav .nav-label{font-size:24px;letter-spacing:-.04em}.mobile-menu nav i{font-style:normal}.mobile-menu-footer{margin-top:auto;border-top:1px solid var(--line);padding-top:18px;display:grid;gap:8px}.mobile-menu-footer span{font-size:10px;color:var(--muted)}.mobile-menu-footer a{font-size:17px;font-weight:700}
body.menu-lock{overflow:hidden;touch-action:none}

/* Hero */
.hero-section{padding-top:130px;border-bottom:1px solid var(--line)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;min-height:690px;gap:72px;padding-bottom:54px}
.hero-copy{position:relative;z-index:2}.availability{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:24px}.availability i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 10%, transparent),0 0 20px var(--accent);animation:pulse 1.9s ease-in-out infinite}
.hero-copy h1{font-size:clamp(54px,6.3vw,92px);line-height:.96;letter-spacing:-.07em;margin:0;max-width:760px;font-weight:700;text-wrap:balance}.fa-page .hero-copy h1{font-size:clamp(50px,5.7vw,82px);line-height:1.13;letter-spacing:-.045em;font-weight:700}
.hero-intro{font-size:14px;line-height:1.9;color:var(--muted);max-width:590px;margin:28px 0 0}.hero-actions{display:flex;gap:10px;margin-top:30px}.hero-mini-meta{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px}.hero-mini-meta span{font-size:7px;color:var(--muted-2);letter-spacing:.11em}.hero-mini-meta b,.hero-mini-meta .meta-value{color:var(--muted);font-weight:700;margin-inline-start:4px}
.hero-art{position:relative;aspect-ratio:1/1;max-width:560px;width:100%;justify-self:end;isolation:isolate;will-change:transform}.hero-crosshair{position:absolute;inset:8%;background:linear-gradient(transparent calc(50% - .5px),var(--line) 50%,transparent calc(50% + .5px)),linear-gradient(90deg,transparent calc(50% - .5px),var(--line) 50%,transparent calc(50% + .5px));opacity:.5}.hero-ring{position:absolute;border:1px dashed color-mix(in srgb,var(--text) 16%, transparent);border-radius:50%}.ring-one{width:68%;height:68%;left:14%;top:15%;animation:spin 28s linear infinite}.ring-two{width:47%;height:47%;left:31%;top:31%;animation:spinReverse 23s linear infinite}.hero-orb{position:absolute;border-radius:50%;filter:saturate(105%);box-shadow:inset -20px -24px 50px rgba(0,0,0,.14),0 30px 65px rgba(0,0,0,.22)}.orb-lime{width:47%;height:47%;right:12%;top:10%;background:radial-gradient(circle at 35% 30%,#efffa8,var(--accent) 55%,#a9d91d);animation:floatA 7s ease-in-out infinite}.orb-violet{width:42%;height:42%;left:12%;bottom:12%;background:radial-gradient(circle at 35% 30%,#c3b8ff,var(--accent-2) 58%,#594ac2);animation:floatB 8s ease-in-out infinite}.hero-y{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:clamp(160px,18vw,250px);font-weight:800;line-height:.7;color:#12150f;z-index:4;letter-spacing:-.09em;text-shadow:0 18px 45px rgba(0,0,0,.16)}.hero-dx{position:absolute;left:35%;top:56%;z-index:5;width:56px;height:56px;border-radius:50%;background:color-mix(in srgb,var(--bg) 75%, transparent);backdrop-filter:blur(12px);border:1px solid var(--line-strong);display:grid;place-items:center;font-weight:900;font-size:17px}.hero-tag{position:absolute;z-index:7;min-width:100px;padding:11px 13px;border:1px solid var(--line-strong);border-radius:13px;background:color-mix(in srgb,var(--panel) 72%, transparent);backdrop-filter:blur(14px);display:grid;gap:4px;box-shadow:0 15px 40px rgba(0,0,0,.16)}.hero-tag small{font-size:7px;color:var(--muted)}.hero-tag b,.hero-tag .hero-tag-label{font-size:9px;letter-spacing:.08em}.hero-tag-a{left:2%;top:24%;transform:rotate(-5deg);animation:tagA 6s ease-in-out infinite}.hero-tag-b{right:0;top:48%;transform:rotate(6deg);animation:tagB 7s ease-in-out infinite}.hero-tag-c{left:18%;bottom:4%;transform:rotate(-3deg);animation:tagC 8s ease-in-out infinite}.hero-code{position:absolute;top:8%;left:38%;z-index:5;font-size:7px;color:var(--muted);letter-spacing:.12em}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.stat{min-height:94px;padding:23px 26px;display:flex;align-items:flex-end;gap:10px;border-inline-end:1px solid var(--line)}.stat:last-child{border-inline-end:0}.stat strong,.stat .stat-value{font-size:27px;letter-spacing:-.06em}.stat span{font-size:9px;color:var(--muted);margin-bottom:5px}
.kinetic-strip{height:42px;border-bottom:1px solid var(--line);overflow:hidden;position:relative;z-index:3;background:var(--bg)}.kinetic-strip div,.footer-marquee div{height:100%;width:max-content;display:flex;align-items:center;gap:22px;animation:marquee 18s linear infinite}.kinetic-strip span{font-size:9px;font-weight:900;letter-spacing:.12em}.kinetic-strip i{color:var(--accent);font-style:normal}

/* Work + sliders */
.work-section{padding:106px 0 118px}.section-heading{display:grid;grid-template-columns:1fr minmax(280px,390px);gap:70px;align-items:end;margin-bottom:38px}.section-heading h2,.skills-section h2,.interests-section h2{font-size:clamp(40px,5vw,68px);line-height:1;letter-spacing:-.06em;margin:0}.fa-page .section-heading h2,.fa-page .skills-section h2,.fa-page .interests-section h2{letter-spacing:-.035em;line-height:1.15}.selected-notice{border-inline-start:2px solid var(--accent);padding-inline-start:18px}.selected-notice strong,.selected-notice .selected-label{font-size:13px;display:block;margin-bottom:7px}.selected-notice p{margin:0;color:var(--muted);font-size:11px;line-height:1.75}.selected-notice a{display:inline-block;margin-top:10px;font-size:10px;font-weight:900;border-bottom:1px solid var(--text);padding-bottom:4px}
.project-slider-wrap{position:relative}.desktop-project-showcase{position:relative;min-height:650px;border-top:1px solid var(--line);padding-top:28px}.desktop-slider-count{position:absolute;top:22px;inset-inline-end:0;z-index:20;display:flex;align-items:baseline;gap:7px;border:1px solid var(--line);border-radius:999px;padding:9px 12px;background:color-mix(in srgb,var(--panel) 76%, transparent);backdrop-filter:blur(12px)}.desktop-slider-count small{font-size:7px;color:var(--muted);letter-spacing:.12em;margin-inline-end:4px}.desktop-slider-count strong,.desktop-slider-count b,.desktop-slider-count .slider-current,.desktop-slider-count .slider-total{font-size:12px}.desktop-slider-count span{font-size:9px;color:var(--muted)}
.desktop-slider-stage{height:570px;position:relative;perspective:1400px;margin-top:42px}.desktop-slide{position:absolute;inset:0;opacity:0;transform:translate3d(8%,30px,-80px) scale(.94) rotateY(-3deg);pointer-events:none;transition:opacity .72s cubic-bezier(.2,.72,.2,1),transform .82s cubic-bezier(.2,.72,.2,1),filter .72s ease;filter:blur(5px) saturate(.65)}.desktop-slide.is-active{opacity:1;transform:none;pointer-events:auto;filter:none;z-index:4}.desktop-slide.is-prev{opacity:.12;transform:translate3d(-10%,18px,-120px) scale(.91) rotateY(3deg);z-index:1}.desktop-slide.is-next{opacity:.18;transform:translate3d(10%,18px,-120px) scale(.91) rotateY(-3deg);z-index:2}
.desktop-slider-stage .project-card{height:100%;max-width:none}.project-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 94%, transparent),color-mix(in srgb,var(--panel-2) 90%, transparent));overflow:hidden;box-shadow:0 30px 85px rgba(0,0,0,.18);transition:border-color .28s ease,transform .28s ease,box-shadow .28s ease;will-change:transform}.project-card:hover{border-color:color-mix(in srgb,var(--accent) 35%, var(--line));box-shadow:0 35px 100px rgba(0,0,0,.28)}.project-card>a{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);height:100%}.project-visual{position:relative;min-height:390px;overflow:hidden;background:#11141a;isolation:isolate}.project-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.09) 50%,transparent 80%);transform:translateX(-120%);transition:transform 1s ease;z-index:8}.project-card:hover .project-visual:after{transform:translateX(120%)}.project-visual>img{width:100%;height:100%;object-fit:cover}.project-tone-1{background:radial-gradient(circle at 48% 36%,#6157d5 0 15%,transparent 38%),linear-gradient(135deg,#131722,#0c0e13)}.project-tone-2{background:radial-gradient(circle at 56% 42%,#b3e32a 0 13%,transparent 36%),linear-gradient(145deg,#1b1823,#0d0f12)}.project-tone-3{background:radial-gradient(circle at 50% 50%,#ae6acb 0 16%,transparent 40%),linear-gradient(145deg,#152017,#0d100e)}.visual-orb{position:absolute;border-radius:50%;filter:blur(1px);opacity:.82}.visual-orb-a{width:320px;height:320px;left:11%;top:8%;background:radial-gradient(circle at 35% 30%,#9d90ff,#5145c6 62%,#342c82);animation:visualFloat 8s ease-in-out infinite}.visual-orb-b{width:280px;height:280px;right:10%;bottom:4%;background:radial-gradient(circle at 35% 30%,#f0ff9a,var(--accent) 58%,#9aca25);animation:visualFloat2 9s ease-in-out infinite}.visual-wire{position:absolute;width:72%;height:72%;border:1px dashed rgba(255,255,255,.14);border-radius:50%;left:14%;top:12%;animation:spin 28s linear infinite}.mock-window{position:absolute;z-index:5;width:65%;height:60%;left:18%;top:20%;border-radius:9px;background:#f6f6f4;color:#111;box-shadow:0 35px 70px rgba(0,0,0,.35);transform:rotate(-2.5deg);overflow:hidden}.mock-bar{height:28px;border-bottom:1px solid #d9d9d6;display:flex;align-items:center;gap:5px;padding:0 10px}.mock-bar i{width:5px;height:5px;border-radius:50%;background:#bbb}.mock-body{display:grid;grid-template-columns:18% 1fr;height:calc(100% - 28px)}.mock-nav{background:#181b21}.mock-content{padding:12%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;align-content:center}.mock-content i{height:38px;background:#e3e3e0;border-radius:4px}.mock-content span{grid-column:1/-1;height:70px;background:linear-gradient(135deg,#ece9ff,#c6bcff);border-radius:4px;position:relative}.mock-content span:after{content:"";position:absolute;left:14%;right:12%;bottom:18px;height:3px;background:#6c59e8;transform:rotate(-8deg)}.visual-index{position:absolute;right:15px;bottom:14px;z-index:10;font-size:8px;color:rgba(255,255,255,.48);letter-spacing:.12em}
.project-card-copy{padding:42px 34px;display:flex;flex-direction:column;position:relative;min-width:0}.project-meta{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.08em}.project-card-copy h3,.project-card-copy .project-card-title{font-size:clamp(30px,3.2vw,52px);line-height:1.02;letter-spacing:-.06em;margin:28px 0 16px;overflow-wrap:anywhere}.fa-page .project-card-copy h3,.project-card-copy .project-card-title{letter-spacing:-.035em;line-height:1.15}.project-card-copy p,.project-card-copy .project-card-description{font-size:11px;line-height:1.8;color:var(--muted);margin:0;max-width:430px}.project-stack{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:28px}.project-stack span,.tech-cloud span{border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:8px;color:var(--muted)}.project-arrow{position:absolute;inset-inline-end:27px;bottom:27px;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal;transition:background .2s ease,color .2s ease,transform .25s ease}.project-card:hover .project-arrow{background:var(--accent);color:#11140b;transform:rotate(45deg)}
.desktop-slider-ui{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px}.desktop-slider-dots{display:flex;gap:6px;flex:1}.desktop-slider-dots button{height:22px;flex:1;max-width:100px;border:0;background:transparent;padding:8px 0}.desktop-slider-dots i{display:block;height:2px;background:var(--line);position:relative;overflow:hidden}.desktop-slider-dots button.active i:after{content:"";position:absolute;inset:0;background:var(--accent);transform-origin:left;animation:sliderProgress var(--slider-duration,4.8s) linear forwards}.desktop-slider-controls{display:flex;gap:7px}.desktop-slider-controls button{width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--panel);transition:.2s}.desktop-slider-controls button:hover{background:var(--accent);color:#11140b;border-color:var(--accent)}
.mobile-project-sequence{display:none}

/* About teaser / skills / cta */
.about-teaser{padding:110px 0 100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 58%, var(--bg));overflow:hidden}.split-grid{display:grid;grid-template-columns:1fr .8fr;gap:110px;position:relative;z-index:2}.split-grid h2{font-size:clamp(42px,5.2vw,72px);line-height:1.05;letter-spacing:-.06em;margin:0}.fa-page .split-grid h2{letter-spacing:-.035em;line-height:1.2}.split-grid p{color:var(--muted);line-height:1.9;font-size:13px;margin:37px 0 22px}.giant-word{position:absolute;left:50%;bottom:-.2em;transform:translateX(-50%);font-size:clamp(170px,26vw,400px);font-weight:900;letter-spacing:-.09em;line-height:.75;color:color-mix(in srgb,var(--text) 3%, transparent);white-space:nowrap;user-select:none}
.skills-section{padding:108px 0}.skills-section h2{margin-bottom:42px}.skills-list{border-top:1px solid var(--line)}.skill-row{min-height:74px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:16px;position:relative;overflow:hidden}.skill-row:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 7%, transparent),transparent);transform:translateX(-100%);transition:transform .42s ease}.skill-row:hover:before{transform:none}.skill-row span{font-size:8px;color:var(--muted)}.skill-row strong,.skill-row .skill-name{font-size:25px;letter-spacing:-.04em;position:relative}.skill-row i{font-style:normal;color:var(--muted);transition:transform .25s ease}.skill-row:hover i{transform:rotate(45deg)}
.cta-section{padding:10px 0 90px}.cta-card{min-height:330px;background:var(--accent);color:#11150b;border-radius:30px;padding:44px;position:relative;overflow:hidden}.cta-card .micro-label{color:#48521f}.cta-card h2{max-width:760px;font-size:clamp(44px,5.8vw,78px);line-height:1.02;letter-spacing:-.065em;margin:34px 0}.fa-page .cta-card h2{letter-spacing:-.035em;line-height:1.18}.cta-arrow{position:absolute;right:4%;bottom:-25%;font-size:240px;line-height:1;color:rgba(17,21,11,.08);font-weight:300}.cta-orbit{position:absolute;width:220px;height:220px;border:1px dashed rgba(17,21,11,.18);border-radius:50%;right:9%;bottom:-26%;animation:spin 22s linear infinite}.cta-card:after{content:"";position:absolute;top:-40%;left:-20%;width:45%;height:180%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:rotate(12deg) translateX(-150%);animation:ctaSweep 6s ease-in-out infinite}

/* Footer */
.site-footer{border-top:1px solid var(--line);position:relative;z-index:2;background:var(--bg)}.footer-marquee{height:105px;border-bottom:1px solid var(--line);overflow:hidden}.footer-marquee div{font-size:clamp(44px,5vw,78px);font-weight:800;letter-spacing:-.05em;gap:28px;animation-duration:24s}.footer-marquee i{font-style:normal;color:var(--accent);font-size:.42em}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:68px 0 28px}.footer-brand{display:flex;gap:15px;align-items:center}.footer-brand h2{font-size:24px;margin:0}.footer-brand p{font-size:10px;color:var(--muted);margin:5px 0 0}.footer-contact{display:grid;align-content:start;justify-items:start}.footer-contact small{font-size:8px;color:var(--muted);letter-spacing:.14em}.footer-contact a{font-size:clamp(24px,3vw,42px);font-weight:600;letter-spacing:-.05em;border-bottom:1px solid var(--line-strong);margin-top:14px}.footer-meta{grid-column:1/-1;border-top:1px solid var(--line);padding-top:26px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-meta p{max-width:500px;color:var(--muted);font-size:10px;line-height:1.8}.footer-meta nav{display:flex;gap:18px;flex-wrap:wrap}.footer-meta a{font-size:9px}.footer-bottom{grid-column:1/-1;border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;color:var(--muted);font-size:8px;letter-spacing:.1em}

/* Pages */
.page-hero{padding:170px 0 80px}.page-hero-grid{display:grid;grid-template-columns:1fr .65fr;gap:90px;align-items:end}.page-hero h1{font-size:clamp(70px,9vw,130px);line-height:.9;letter-spacing:-.08em;margin:0}.fa-page .page-hero h1{line-height:1.05;letter-spacing:-.045em}.page-hero p{color:var(--muted);line-height:1.9;font-size:13px;margin:0 0 28px}.project-total{display:inline-flex;align-items:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:14px}.project-total strong,.project-total .project-total-value{font-size:36px}.project-total span{font-size:8px;color:var(--muted);letter-spacing:.12em;margin-bottom:7px}.archive-showcase{padding:20px 0 120px}.archive-slider-wrap .desktop-project-showcase{min-height:680px}
.project-detail{padding:150px 0 120px}.project-detail-top{display:grid;grid-template-columns:180px 1fr;gap:70px;align-items:start}.back-link{font-size:10px;color:var(--muted);margin-top:14px}.project-detail-title h1{font-size:clamp(60px,8vw,120px);line-height:.93;letter-spacing:-.075em;margin:0}.fa-page .project-detail-title h1{line-height:1.1;letter-spacing:-.04em}.project-detail-title p{max-width:720px;color:var(--muted);font-size:15px;line-height:1.9;margin:28px 0 0}.project-detail-visual{margin-top:58px;border-radius:30px;overflow:hidden;border:1px solid var(--line)}.project-detail-visual .project-visual{min-height:650px}.project-detail-visual .mock-window{width:58%;height:58%;left:21%;top:20%}.project-detail-info{display:grid;grid-template-columns:1fr auto;gap:50px;padding-top:38px}.tech-cloud{display:flex;flex-wrap:wrap;gap:8px}.tech-cloud span{font-size:10px;padding:9px 12px;color:var(--text)}.project-links{display:flex;gap:9px;align-items:end}
.about-hero{padding:160px 0 92px}.about-hero-grid{display:grid;grid-template-columns:1fr 420px;gap:70px;align-items:end}.about-hero h1{font-size:clamp(70px,8.5vw,126px);line-height:.88;letter-spacing:-.08em;margin:0;max-width:800px}.fa-page .about-hero h1{line-height:1.06;letter-spacing:-.045em}.about-portrait-graphic{aspect-ratio:1/1;border:1px solid var(--line);border-radius:30px;position:relative;overflow:hidden;background:radial-gradient(circle at 40% 38%,color-mix(in srgb,var(--accent) 85%, white) 0 22%,transparent 23%),radial-gradient(circle at 60% 62%,color-mix(in srgb,var(--accent-2) 90%, white) 0 24%,transparent 25%),var(--panel)}.about-portrait-graphic:after{content:"";position:absolute;inset:12%;border:1px dashed var(--line-strong);border-radius:50%;animation:spin 24s linear infinite}.about-portrait-graphic strong,.about-portrait-graphic .portrait-y{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:190px;line-height:1;font-weight:900;color:#11140e;z-index:3}.about-portrait-graphic span{position:absolute;left:20px;bottom:17px;font-size:8px;color:var(--muted);letter-spacing:.12em}.about-lead{display:flex;justify-content:flex-end;padding-top:62px}.about-lead p{width:min(780px,100%);font-size:clamp(22px,2.5vw,34px);line-height:1.6;letter-spacing:-.03em;margin:0;color:color-mix(in srgb,var(--text) 88%, var(--muted))}.fa-page .about-lead p{line-height:1.8}
.story-section{padding:110px 0;border-top:1px solid var(--line);background:var(--panel)}.story-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}.story-sticky{position:sticky;top:120px;align-self:start}.story-sticky h2{font-size:clamp(42px,4.8vw,66px);line-height:1.08;letter-spacing:-.055em;margin:0}.fa-page .story-sticky h2{line-height:1.24;letter-spacing:-.035em}.story-line{width:72px;height:2px;background:var(--accent);margin-top:30px}.story-copy p{font-size:clamp(20px,2.1vw,29px);line-height:1.8;letter-spacing:-.025em;margin:0;color:var(--muted)}.fa-page .story-copy p{line-height:2}
.identity-section{padding:105px 0}.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.identity-grid article{min-height:590px;border:1px solid var(--line);border-radius:26px;padding:36px;position:relative;overflow:hidden;background:var(--panel)}.identity-grid h2{font-size:clamp(48px,5vw,72px);letter-spacing:-.06em;margin:10px 0 28px}.identity-grid p{color:var(--muted);font-size:13px;line-height:1.95;max-width:580px}.identity-code{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);letter-spacing:.08em;white-space:nowrap;overflow:hidden}.identity-shape{position:absolute;width:300px;height:300px;border-radius:42% 58% 38% 62%;right:-90px;bottom:-100px;background:linear-gradient(135deg,var(--accent),var(--accent-2));filter:saturate(120%);animation:morph 8s ease-in-out infinite}
.interests-section{padding:90px 0 120px;border-top:1px solid var(--line)}.interests-section h2{margin-bottom:42px}.interest-list{border-top:1px solid var(--line)}.interest-list>div{min-height:78px;display:grid;grid-template-columns:50px 1fr auto;align-items:center;border-bottom:1px solid var(--line)}.interest-list span{font-size:9px;color:var(--muted)}.interest-list strong,.interest-list .interest-title{font-size:25px;letter-spacing:-.035em}.interest-list i{font-style:normal;color:var(--muted)}
.resume-section{padding:20px 0 120px}.resume-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.resume-grid>div{border:1px solid var(--line);border-radius:24px;padding:34px;background:var(--panel)}.resume-grid article{padding:27px 0;border-top:1px solid var(--line)}.resume-grid article small{color:var(--muted);font-size:8px}.resume-grid article h3{font-size:24px;margin:9px 0 5px}.resume-grid article p{color:var(--muted);font-size:11px;margin:0}
.contact-page{padding:170px 0 120px;min-height:85vh}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px}.contact-grid h1{font-size:clamp(60px,7vw,100px);line-height:.98;letter-spacing:-.07em;margin:0}.fa-page .contact-grid h1{line-height:1.15;letter-spacing:-.04em}.contact-email{display:inline-block;font-size:clamp(24px,3vw,42px);margin-top:38px;border-bottom:1px solid var(--line-strong);padding-bottom:7px}.contact-form{border:1px solid var(--line);border-radius:24px;padding:30px;background:var(--panel);display:grid;gap:18px}.contact-form label{display:grid;gap:8px}.contact-form label span{font-size:9px;color:var(--muted);letter-spacing:.1em}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:12px;padding:13px 14px;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.flash{padding:10px 12px;border-radius:10px;font-size:11px}.flash.success{background:color-mix(in srgb,var(--accent) 13%, transparent);border:1px solid color-mix(in srgb,var(--accent) 32%, transparent)}.flash.error{background:#ff5c6a18;border:1px solid #ff5c6a44}

/* Responsive */
@media (max-width:980px){
  .desktop-nav{display:none}.menu-button{display:grid}.brand{min-width:auto}.brand-copy small{display:none}.hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:70px;gap:20px}.hero-art{justify-self:center;max-width:620px;order:2}.hero-copy{order:1}.section-heading,.split-grid,.page-hero-grid,.story-grid,.contact-grid{grid-template-columns:1fr;gap:34px}.identity-grid{grid-template-columns:1fr}.about-hero-grid{grid-template-columns:1fr}.about-portrait-graphic{width:min(520px,100%)}.project-detail-top{grid-template-columns:1fr;gap:28px}.project-detail-info{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-meta{grid-column:1}.footer-bottom{grid-column:1}.project-card>a{grid-template-columns:1fr 330px}.desktop-project-showcase{min-height:620px}.desktop-slider-stage{height:530px}
}

@media (max-width:760px){
  :root{--header-h:70px;--radius:20px}.shell{width:min(calc(100% - 24px),var(--shell))}.site-header{padding:8px 0}.site-header.is-scrolled{padding:6px 0}.nav-shell{min-height:58px;padding:6px 7px;border-radius:17px}.brand-mark{width:40px;height:40px;border-radius:12px}.brand-copy strong,.brand-copy .brand-name{font-size:12px}.brand-copy small{display:none}.lang-switch{padding:3px}.lang-switch a{min-width:27px;height:27px;font-size:8px}.header-icon{width:36px;height:36px;border-radius:10px}.theme-button{display:grid!important}.menu-button{display:grid!important}.mobile-menu-panel{top:8px;bottom:8px;inset-inline-end:8px;width:calc(100% - 16px);border-radius:22px;padding:18px}.mobile-menu nav strong,.mobile-menu nav .nav-label{font-size:23px}
  .motion-orbit{display:none}.motion-aurora{filter:blur(70px);opacity:.08}.motion-grid{background-size:48px 48px;opacity:.08}.cursor-fx,.cursor-trail{display:none!important}.page-transition span{font-size:52px}
  .hero-section{padding-top:92px}.hero-grid{padding-top:34px;padding-bottom:24px;gap:18px}.availability{font-size:9px;margin-bottom:18px}.hero-copy h1{font-size:clamp(43px,12.6vw,61px);line-height:1.0;letter-spacing:-.065em}.fa-page .hero-copy h1{font-size:clamp(41px,11.7vw,56px);line-height:1.18;letter-spacing:-.04em}.hero-intro{font-size:13px;line-height:1.85;margin-top:18px}.hero-actions{margin-top:22px;display:grid;grid-template-columns:1fr 1fr}.hero-actions .button{min-height:46px;padding:0 12px;font-size:10px}.hero-mini-meta{gap:8px 14px;margin-top:20px}.hero-art{aspect-ratio:1/.92;width:100%;margin-top:4px}.hero-crosshair{inset:4%}.orb-lime{width:48%;height:48%;right:11%;top:9%}.orb-violet{width:43%;height:43%;left:11%;bottom:8%}.hero-y{font-size:36vw}.hero-dx{width:46px;height:46px;font-size:14px;left:34%;top:58%}.hero-tag{min-width:78px;padding:9px 10px;border-radius:11px}.hero-tag strong,.hero-tag b,.hero-tag .hero-tag-label{font-size:8px}.hero-tag-a{left:3%;top:23%}.hero-tag-b{right:1%;top:49%}.hero-tag-c{left:17%;bottom:4%}.hero-code{font-size:6px}.ring-one{width:69%;height:69%}.ring-two{width:46%;height:46%}.stats-row{grid-template-columns:repeat(3,1fr)}.stat{min-height:75px;padding:15px 10px;display:grid;align-content:center;gap:2px;text-align:center}.stat strong,.stat .stat-value{font-size:22px}.stat span{font-size:7px;margin:0}.kinetic-strip{height:38px}.kinetic-strip div{gap:16px;animation-duration:14s}
  .work-section{padding:72px 0 82px}.section-heading{margin-bottom:20px}.section-heading h2,.skills-section h2,.interests-section h2{font-size:clamp(36px,10vw,48px)}.selected-notice{padding-inline-start:14px}.selected-notice strong,.selected-notice .selected-label{font-size:12px}.selected-notice p{font-size:10px}.desktop-project-showcase{display:none}.mobile-project-sequence{display:block;position:relative}.mobile-project-sticky{position:sticky;top:78px;height:calc(100svh - 92px);z-index:3;display:flex;flex-direction:column;min-height:560px}.mobile-project-toolbar{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:0 2px}.mobile-project-toolbar strong,.mobile-project-toolbar .mobile-project-count{display:flex;gap:6px;align-items:baseline;font-size:11px}.mobile-project-toolbar strong i,.mobile-project-toolbar .mobile-project-count i{font-style:normal;color:var(--muted);font-size:8px}.mobile-project-toolbar small{font-size:8px;color:var(--muted);max-width:190px;text-align:end}.mobile-project-stage{position:relative;flex:1;min-height:0;margin-top:10px;overflow:hidden;border-radius:21px}.mobile-project-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transform:translate3d(18%,20px,0) scale(.965);filter:blur(4px) saturate(.65);transition:opacity .45s ease,transform .55s cubic-bezier(.2,.78,.2,1),filter .45s ease;will-change:transform,opacity}.mobile-project-slide.is-active{opacity:1;pointer-events:auto;transform:none;filter:none;z-index:3}.mobile-project-slide.is-before{opacity:.09;transform:translate3d(-14%,-16px,0) scale(.95);z-index:1}.mobile-project-slide.is-after{opacity:.14;transform:translate3d(14%,16px,0) scale(.95);z-index:2}.mobile-project-slide .project-card{height:100%;border-radius:21px}.mobile-project-slide .project-card>a{display:grid;grid-template-columns:1fr;grid-template-rows:minmax(0,1.1fr) minmax(210px,.72fr);height:100%}.mobile-project-slide .project-visual{min-height:0;height:100%}.mobile-project-slide .project-card-copy{padding:18px 18px 16px;min-height:0}.mobile-project-slide .project-meta{font-size:7px}.mobile-project-slide .project-card-copy h3,.project-card-copy .project-card-title{font-size:28px;margin:12px 0 8px}.fa-page .mobile-project-slide .project-card-copy h3,.project-card-copy .project-card-title{font-size:27px}.mobile-project-slide .project-card-copy p,.project-card-copy .project-card-description{font-size:10px;line-height:1.65;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mobile-project-slide .project-stack{padding-top:12px;margin-top:auto;padding-inline-end:42px}.mobile-project-slide .project-stack span{font-size:7px;padding:5px 7px}.mobile-project-slide .project-arrow{width:32px;height:32px;bottom:14px;inset-inline-end:14px}.mobile-project-slide .mock-window{width:68%;height:56%;left:16%;top:22%}.mobile-project-slide .visual-orb-a{width:230px;height:230px}.mobile-project-slide .visual-orb-b{width:205px;height:205px}.mobile-project-meter{display:grid;grid-template-columns:repeat(var(--count,3),1fr);gap:5px;height:22px;align-items:center}.mobile-project-meter i{height:2px;background:var(--line);transition:background .25s ease,transform .25s ease}.mobile-project-meter i.active{background:var(--accent);transform:scaleY(1.6)}.mobile-project-scroll-space{position:relative;z-index:1;pointer-events:none}
  .about-teaser{padding:72px 0 64px}.split-grid{gap:25px}.split-grid h2{font-size:39px}.split-grid p{margin-top:10px;font-size:12px}.giant-word{font-size:170px}.skills-section{padding:72px 0}.skills-section h2{margin-bottom:26px}.skill-row{min-height:64px;grid-template-columns:38px 1fr auto}.skill-row strong,.skill-row .skill-name{font-size:21px}.cta-section{padding-bottom:65px}.cta-card{min-height:285px;padding:26px 22px;border-radius:23px}.cta-card h2{font-size:38px;margin:30px 0}.fa-page .cta-card h2{font-size:35px}.cta-arrow{font-size:150px}.footer-marquee{height:78px}.footer-marquee div{font-size:46px;gap:20px}.footer-grid{padding:42px 0 24px}.footer-brand .brand-mark{width:48px;height:48px}.footer-contact a{font-size:26px}.footer-meta{display:grid;gap:18px}.footer-meta p{margin:0}.footer-bottom{font-size:7px;gap:15px}.footer-bottom span:last-child{text-align:end}
  .page-hero{padding:120px 0 48px}.page-hero h1{font-size:58px}.page-hero-grid{gap:22px}.project-total{margin-top:4px}.archive-showcase{padding:0 0 86px}.archive-slider-wrap .mobile-project-sticky{top:78px}.project-detail{padding:115px 0 80px}.project-detail-title h1{font-size:54px}.project-detail-title p{font-size:13px;margin-top:18px}.project-detail-visual{margin-top:32px;border-radius:21px}.project-detail-visual .project-visual{min-height:420px}.project-detail-visual .mock-window{width:72%;height:56%;left:14%;top:22%}.project-detail-info{padding-top:26px;gap:24px}.project-links{display:grid;grid-template-columns:1fr 1fr}.project-links .button{font-size:10px}
  .about-hero{padding:120px 0 62px}.about-hero h1{font-size:58px}.about-hero-grid{gap:30px}.about-portrait-graphic{width:100%;max-width:420px}.about-portrait-graphic strong,.about-portrait-graphic .portrait-y{font-size:150px}.about-lead{padding-top:36px}.about-lead p{font-size:20px}.story-section{padding:68px 0}.story-grid{gap:22px}.story-sticky{position:relative;top:auto}.story-sticky h2{font-size:40px}.story-copy p{font-size:18px;line-height:1.9}.identity-section{padding:68px 0}.identity-grid article{min-height:470px;padding:24px}.identity-grid h2{font-size:46px}.identity-grid p{font-size:12px}.interests-section{padding:68px 0 80px}.interest-list>div{min-height:66px;grid-template-columns:38px 1fr auto}.interest-list strong,.interest-list .interest-title{font-size:19px}.resume-grid{grid-template-columns:1fr}.contact-page{padding:120px 0 82px}.contact-grid{gap:34px}.contact-grid h1{font-size:52px}.contact-form{padding:20px}
}

@media (max-width:390px){.brand-copy{display:none}.hero-copy h1{font-size:41px}.fa-page .hero-copy h1{font-size:39px}.hero-actions{grid-template-columns:1fr}.mobile-project-sticky{height:calc(100svh - 86px);min-height:520px}.mobile-project-slide .project-card>a{grid-template-rows:minmax(0,1fr) minmax(205px,.78fr)}.mobile-project-slide .project-card-copy h3,.project-card-copy .project-card-title{font-size:25px}.project-links{grid-template-columns:1fr}.footer-bottom{display:grid}}


/* v0.9 inherited polish: RTL-safe icons and tighter desktop type */
.ui-arrow,.project-arrow,.skill-row i,.interest-list i,.mobile-menu nav i,.cta-arrow{
  font-family:Arial,"Helvetica Neue",sans-serif!important;
  font-variant-emoji:text;
  font-style:normal;
  unicode-bidi:isolate;
}
.lang-switch{direction:ltr}
bdi[dir="ltr"]{unicode-bidi:isolate;direction:ltr}

@media (min-width:981px){
  .hero-grid{grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);min-height:630px;gap:38px;padding-bottom:46px}
  .hero-copy h1{font-size:clamp(50px,5vw,76px);line-height:.98;max-width:660px}
  .fa-page .hero-copy h1{font-size:clamp(48px,4.7vw,72px);line-height:1.14;max-width:650px}
  .hero-intro{max-width:540px;margin-top:22px}
  .hero-actions{margin-top:25px}.hero-mini-meta{margin-top:23px}
  .hero-art{max-width:520px;justify-self:center}

  .about-hero{padding:145px 0 72px}
  .about-hero-grid{grid-template-columns:minmax(0,1fr) minmax(330px,385px);gap:40px;align-items:center}
  .about-hero h1{font-size:clamp(56px,6.2vw,90px);line-height:.94;max-width:650px}
  .fa-page .about-hero h1{font-size:clamp(54px,5.8vw,84px);line-height:1.12;max-width:640px}
  .about-portrait-graphic{max-width:385px;justify-self:end}
  .about-portrait-graphic strong,.about-portrait-graphic .portrait-y{font-size:165px}
  .about-lead{padding-top:38px}
  .about-lead p{width:min(700px,100%);font-size:clamp(18px,1.7vw,25px);line-height:1.7}
  .fa-page .about-lead p{line-height:1.9}
  .story-grid{grid-template-columns:.82fr 1.18fr;gap:52px}
  .story-sticky h2{font-size:clamp(38px,4vw,56px)}
  .story-copy p{font-size:clamp(17px,1.55vw,22px);line-height:1.9}
  .fa-page .story-copy p{line-height:2.05}
}

@media (max-width:760px){
  .mobile-project-scroll-space{height:auto!important}
  .mobile-project-sequence{--slide-forward:11%;--slide-back:-11%}
  html[dir="rtl"] .mobile-project-sequence{--slide-forward:-11%;--slide-back:11%}
  .mobile-project-slide{
    opacity:0;
    pointer-events:none;
    transform:translate3d(var(--slide-forward),0,0) scale(.987);
    filter:none!important;
    transition:opacity .40s ease,transform .52s cubic-bezier(.22,.82,.25,1);
    will-change:transform,opacity;
    backface-visibility:hidden;
  }
  .mobile-project-slide.is-active{
    opacity:1;
    pointer-events:auto;
    transform:translate3d(0,0,0) scale(1);
    filter:none!important;
    z-index:3;
  }
  .mobile-project-slide.is-before{
    opacity:0;
    transform:translate3d(var(--slide-back),0,0) scale(.987);
    filter:none!important;
    z-index:1;
  }
  .mobile-project-slide.is-after{
    opacity:0;
    transform:translate3d(var(--slide-forward),0,0) scale(.987);
    filter:none!important;
    z-index:2;
  }
  .mobile-project-stage{contain:paint;isolation:isolate}
  .mobile-project-slide .project-card{box-shadow:0 18px 55px rgba(0,0,0,.20)}
  .mobile-project-toolbar strong,.mobile-project-toolbar .mobile-project-count{direction:ltr;unicode-bidi:isolate}
  .mobile-project-toolbar small{line-height:1.45}
  .skill-row strong bdi,.skill-row .skill-name bdi,.project-stack bdi{display:inline-block}
}


/* v0.9 mobile pinned project showcase -------------------------------------------------- */
@media (max-width:760px){
  body.project-deck-locked{touch-action:none;-webkit-overflow-scrolling:auto}
  .mobile-project-sequence{
    display:block;
    position:relative;
    height:calc(100svh - 88px);
    min-height:570px;
    scroll-margin-top:82px;
  }
  .mobile-project-sticky{
    position:relative!important;
    top:auto!important;
    height:100%!important;
    min-height:0!important;
    z-index:3;
    display:flex;
    flex-direction:column;
    transition:box-shadow .3s ease,border-color .3s ease;
  }
  .mobile-project-sequence.is-pinned .mobile-project-sticky{
    filter:none!important;
  }
  .mobile-project-stage{
    contain:layout paint;
    transform:translateZ(0);
  }
  .mobile-project-slide{
    opacity:0!important;
    visibility:hidden;
    pointer-events:none;
    transform:translate3d(7%,0,0) scale(.992)!important;
    filter:none!important;
    transition:opacity .34s linear,transform .50s cubic-bezier(.22,.8,.24,1),visibility 0s linear .50s!important;
    will-change:transform,opacity;
    backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
  }
  html[dir="rtl"] .mobile-project-slide{transform:translate3d(-7%,0,0) scale(.992)!important}
  .mobile-project-slide.is-active{
    opacity:1!important;
    visibility:visible;
    pointer-events:auto;
    transform:translate3d(0,0,0) scale(1)!important;
    transition:opacity .34s linear,transform .50s cubic-bezier(.22,.8,.24,1),visibility 0s!important;
    z-index:4;
  }
  .mobile-project-slide.is-before{
    opacity:0!important;visibility:hidden;pointer-events:none;
    transform:translate3d(-7%,0,0) scale(.992)!important;
    filter:none!important;z-index:2;
  }
  html[dir="rtl"] .mobile-project-slide.is-before{transform:translate3d(7%,0,0) scale(.992)!important}
  .mobile-project-slide.is-after{
    opacity:0!important;visibility:hidden;pointer-events:none;
    transform:translate3d(7%,0,0) scale(.992)!important;
    filter:none!important;z-index:2;
  }
  html[dir="rtl"] .mobile-project-slide.is-after{transform:translate3d(-7%,0,0) scale(.992)!important}
  .mobile-project-slide .project-card,.mobile-project-slide .project-visual,.mobile-project-slide .project-card-copy{filter:none!important}
  .mobile-project-meter i{transition:background .22s ease,transform .22s ease}
  .mobile-pin-status{height:4px;position:absolute;inset-inline:0;bottom:-2px;overflow:hidden;border-radius:999px;pointer-events:none;opacity:0;transition:opacity .2s ease}
  .mobile-pin-status span{display:block;width:34%;height:100%;background:var(--accent);border-radius:inherit;animation:mobilePinPulse 1.2s ease-in-out infinite alternate}
  .mobile-project-sequence.is-pinned .mobile-pin-status{opacity:.75}
}
@keyframes mobilePinPulse{from{transform:translateX(-8%);opacity:.45}to{transform:translateX(195%);opacity:1}}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.motion-scene,.cursor-fx,.cursor-trail{display:none!important}}

@keyframes pulse{0%,100%{transform:scale(.86);opacity:.7}50%{transform:scale(1.12);opacity:1}}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}
@keyframes auroraA{to{transform:translate3d(18vw,10vh,0) scale(1.18)}}@keyframes auroraB{to{transform:translate3d(-14vw,-10vh,0) scale(.9)}}
@keyframes floatA{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-12px,18px,0)}}@keyframes floatB{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(16px,-12px,0)}}
@keyframes tagA{0%,100%{translate:0 0}50%{translate:8px -8px}}@keyframes tagB{0%,100%{translate:0 0}50%{translate:-8px 10px}}@keyframes tagC{0%,100%{translate:0 0}50%{translate:10px -6px}}
@keyframes marquee{to{transform:translateX(-50%)}}@keyframes visualFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(20px,-8px,0)}}@keyframes visualFloat2{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(-15px,12px,0)}}
@keyframes sliderProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes ctaSweep{0%,60%{transform:rotate(12deg) translateX(-160%)}85%,100%{transform:rotate(12deg) translateX(360%)}}
@keyframes burst{0%{opacity:1;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(9)}}@keyframes morph{0%,100%{border-radius:42% 58% 38% 62%;transform:rotate(0)}50%{border-radius:63% 37% 58% 42%;transform:rotate(18deg)}}

/* v0.9 resume --------------------------------------------------------------- */
.resume-hero{padding:150px 0 72px}
.resume-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(350px,.72fr);gap:72px;align-items:end}
.resume-hero h1{font-size:clamp(58px,6.5vw,96px);line-height:.94;letter-spacing:-.065em;margin:0;max-width:760px}
.fa-page .resume-hero h1{line-height:1.12;letter-spacing:-.035em}
.resume-hero p{max-width:640px;color:var(--muted);font-size:13px;line-height:1.9;margin:24px 0 0}
.resume-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.resume-id-card{border:1px solid var(--line);border-radius:24px;background:color-mix(in srgb,var(--panel) 88%,transparent);padding:26px;box-shadow:var(--shadow)}
.resume-id-top{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:8px;letter-spacing:.13em;text-transform:uppercase}
.resume-id-top b,.resume-id-top .resume-logo-letter{width:38px;height:38px;border-radius:11px;background:var(--accent);color:#11150b;display:grid;place-items:center;font-size:17px}
.resume-id-card h2{font-size:27px;letter-spacing:-.04em;margin:25px 0 20px}
.resume-id-card dl{margin:0}.resume-id-card dl>div{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.resume-id-card dt{font-size:8px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.resume-id-card dd{margin:0;font-size:10px;line-height:1.55;overflow-wrap:anywhere}
.resume-body{padding:10px 0 130px}.resume-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;align-items:start}
.resume-section-head,.resume-side-label{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:8px}.resume-section-head span,.resume-side-label span{font-size:8px;color:var(--muted);letter-spacing:.1em}.resume-section-head h2{font-size:36px;letter-spacing:-.05em;margin:0}.resume-side-label h3{font-size:22px;letter-spacing:-.035em;margin:0}
.resume-timeline{position:relative}.resume-entry{display:grid;grid-template-columns:150px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--line)}.resume-entry-period{display:flex;align-items:flex-start;gap:10px;color:var(--muted);font-size:9px;white-space:nowrap}.resume-entry-period i{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 50%,transparent);margin-top:3px}.resume-entry-copy small{color:var(--muted);font-size:9px}.resume-entry-copy h3{font-size:25px;margin:8px 0 14px;letter-spacing:-.035em}.resume-entry-copy ul,.resume-education-grid ul{margin:0;padding-inline-start:18px;color:var(--muted);font-size:11px;line-height:1.85}.resume-entry-copy li+li,.resume-education-grid li+li{margin-top:6px}
.resume-education-head{margin-top:58px}.resume-education-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.resume-education-grid article{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:24px;min-height:250px}.resume-education-grid small{font-size:8px;color:var(--muted)}.resume-education-grid h3{font-size:21px;line-height:1.25;margin:18px 0 8px}.resume-education-grid p{font-size:11px;color:var(--muted);line-height:1.7;margin:0 0 15px}
.resume-side{position:sticky;top:104px;display:grid;gap:12px}.resume-side>section,.resume-reference-note{border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:22px}.resume-side-label{margin-bottom:15px}.resume-language-list>div{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-top:1px solid var(--line)}.resume-language-list strong{font-size:11px}.resume-language-list span{font-size:9px;color:var(--muted);text-align:end}.resume-skill-group+ .resume-skill-group{margin-top:18px}.resume-skill-group small{display:block;color:var(--muted);font-size:8px;margin-bottom:9px;text-transform:uppercase;letter-spacing:.08em}.resume-skill-group>div{display:flex;flex-wrap:wrap;gap:6px}.resume-skill-group bdi,.resume-hobbies span{border:1px solid var(--line);border-radius:999px;padding:7px 9px;font-size:8px;color:var(--muted)}.resume-hobbies{display:flex;flex-wrap:wrap;gap:7px}.resume-reference-note{font-size:9px;color:var(--muted);line-height:1.7;margin:0}
@media (max-width:980px){.resume-hero-grid,.resume-layout{grid-template-columns:1fr}.resume-id-card{max-width:640px}.resume-side{position:relative;top:auto;grid-template-columns:repeat(2,1fr)}.resume-reference-note{grid-column:1/-1}}
@media (max-width:760px){.resume-hero{padding:112px 0 48px}.resume-hero-grid{gap:28px}.resume-hero h1{font-size:50px}.fa-page .resume-hero h1{font-size:47px}.resume-hero p{font-size:12px}.resume-hero-actions{display:grid;grid-template-columns:1fr}.resume-id-card{padding:20px}.resume-id-card h2{font-size:23px}.resume-id-card dl>div{grid-template-columns:72px 1fr}.resume-body{padding-bottom:84px}.resume-layout{gap:34px}.resume-section-head h2{font-size:32px}.resume-entry{grid-template-columns:1fr;gap:11px;padding:24px 0}.resume-entry-period{justify-content:space-between}.resume-entry-copy h3{font-size:22px}.resume-entry-copy ul,.resume-education-grid ul{font-size:10px}.resume-education-grid{grid-template-columns:1fr}.resume-education-grid article{min-height:0}.resume-side{grid-template-columns:1fr}.resume-reference-note{grid-column:auto}}

/* v0.10 mobile project showcase — native scrolling, sticky presentation, no hard lock */
@media (max-width:760px){
  body.project-deck-locked{position:static!important;overflow:visible!important;touch-action:auto!important}
  .mobile-project-sequence{
    display:block;
    position:relative;
    min-height:0!important;
    scroll-margin-top:calc(var(--mobile-sticky-top,78px) + 6px);
  }
  .mobile-project-sticky{
    position:sticky!important;
    top:var(--mobile-sticky-top,78px)!important;
    height:calc(100svh - var(--mobile-sticky-top,78px) - 16px)!important;
    min-height:520px!important;
    z-index:3;
    display:flex;
    flex-direction:column;
    filter:none!important;
  }
  .mobile-project-stage{
    position:relative;
    flex:1;
    min-height:0;
    margin-top:10px;
    overflow:hidden;
    border-radius:21px;
    contain:layout paint;
    isolation:isolate;
    transform:translateZ(0);
    perspective:1100px;
    perspective-origin:50% 48%;
  }
  .mobile-project-slide,
  html[dir="rtl"] .mobile-project-slide{
    position:absolute;
    inset:0;
    opacity:0!important;
    visibility:visible!important;
    pointer-events:none;
    transform:translate3d(7%,0,-10px) rotateY(-2.4deg) scale(.994)!important;
    transform-origin:0 50%;
    filter:none!important;
    transition:transform .54s cubic-bezier(.2,.78,.2,1),opacity .34s cubic-bezier(.24,.72,.22,1)!important;
    will-change:transform,opacity;
    backface-visibility:hidden;
    -webkit-font-smoothing:antialiased;
  }
  .mobile-project-slide.is-active,
  html[dir="rtl"] .mobile-project-slide.is-active{
    opacity:1!important;
    pointer-events:auto;
    transform:translate3d(0,0,0) rotateY(0deg) scale(1)!important;
    transform-origin:50% 50%;
    z-index:4;
  }
  .mobile-project-slide.is-before,
  html[dir="rtl"] .mobile-project-slide.is-before{
    opacity:0!important;
    transform:translate3d(-7%,0,-10px) rotateY(2.4deg) scale(.994)!important;
    transform-origin:100% 50%;
    z-index:2;
  }
  .mobile-project-slide.is-after,
  html[dir="rtl"] .mobile-project-slide.is-after{
    opacity:0!important;
    transform:translate3d(7%,0,-10px) rotateY(-2.4deg) scale(.994)!important;
    transform-origin:0 50%;
    z-index:2;
  }
  .mobile-project-slide:after{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,transparent 38%,rgba(255,255,255,.055) 55%,transparent 72%);opacity:0;transform:translateX(24%);transition:opacity .28s ease,transform .54s cubic-bezier(.2,.78,.2,1)}
  .mobile-project-sequence.motion-forward .mobile-project-slide.is-active:after{animation:mobilePageSheen .54s cubic-bezier(.2,.78,.2,1)}
  .mobile-project-sequence.motion-backward .mobile-project-slide.is-active:after{animation:mobilePageSheenBack .54s cubic-bezier(.2,.78,.2,1)}
  .mobile-project-slide .project-card,
  .mobile-project-slide .project-visual,
  .mobile-project-slide .project-card-copy{filter:none!important}
  .mobile-pin-status{display:none!important}
  .mobile-project-meter i{transition:background .24s ease,transform .24s ease}
}

@keyframes mobilePageSheen{0%{opacity:0;transform:translateX(32%)}35%{opacity:.72}100%{opacity:0;transform:translateX(-36%)}}
@keyframes mobilePageSheenBack{0%{opacity:0;transform:translateX(-32%)}35%{opacity:.72}100%{opacity:0;transform:translateX(36%)}}

/* v12 — project detail multi-image gallery */
.project-detail-media{margin-top:58px}
.project-gallery{display:grid;gap:12px}
.project-gallery-main{position:relative;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#0c0f14;min-height:620px;isolation:isolate}
.project-gallery-main:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.055) 50%,transparent 72%);transform:translateX(-130%)}
.project-gallery-main:hover:after{transform:translateX(130%);transition:transform 1.1s ease}
.project-gallery-main>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#090b0f;transition:opacity .22s ease,transform .32s cubic-bezier(.2,.75,.2,1);will-change:opacity,transform}
.project-gallery-main.is-switching>img{opacity:.2;transform:scale(.985)}
.project-gallery-counter{position:absolute;left:18px;top:18px;z-index:3;display:flex;align-items:baseline;gap:6px;border:1px solid rgba(255,255,255,.12);background:rgba(8,10,13,.72);backdrop-filter:blur(10px);border-radius:999px;padding:9px 12px;color:#fff;font-size:9px;letter-spacing:.08em}
.project-gallery-counter b{font-size:12px}
.project-gallery-counter span{opacity:.55}
.project-gallery-controls{position:absolute;right:18px;bottom:18px;z-index:3;display:flex;gap:7px}
.project-gallery-controls button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.13);background:rgba(8,10,13,.74);backdrop-filter:blur(10px);color:#fff;font:inherit;font-size:15px;cursor:pointer;transition:background .2s ease,color .2s ease,transform .2s ease}
.project-gallery-controls button:hover{background:var(--accent);color:#10130b;transform:translateY(-2px)}
.project-gallery-thumbs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,220px);gap:9px;overflow-x:auto;padding:2px 1px 7px;scrollbar-width:none;scroll-snap-type:x proximity}
.project-gallery-thumbs::-webkit-scrollbar{display:none}
.project-gallery-thumb{position:relative;appearance:none;border:1px solid var(--line);border-radius:14px;padding:0;overflow:hidden;background:#0b0e12;aspect-ratio:16/10;cursor:pointer;opacity:.56;scroll-snap-align:start;transition:opacity .2s ease,border-color .2s ease,transform .22s ease}
.project-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.project-gallery-thumb span{position:absolute;right:8px;bottom:7px;font-size:7px;color:#fff;background:#090b0eb8;border-radius:999px;padding:4px 6px}
.project-gallery-thumb.active{opacity:1;border-color:color-mix(in srgb,var(--accent) 58%,var(--line));transform:translateY(-2px)}
@media(max-width:760px){
  .project-detail-media{margin-top:30px}
  .project-gallery-main{min-height:0;aspect-ratio:4/5;border-radius:21px}
  .project-gallery-main>img{object-fit:contain}
  .project-gallery-counter{left:12px;top:12px;padding:7px 9px}
  .project-gallery-controls{right:12px;bottom:12px}
  .project-gallery-controls button{width:38px;height:38px}
  .project-gallery-thumbs{grid-auto-columns:118px;gap:7px}
  .project-gallery-thumb{border-radius:10px}
}

/* v13 — restrained typography tuning + homepage resume invitation ----------- */
.resume-teaser{
  position:relative;
  padding:96px 0 100px;
  overflow:hidden;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 44%,var(--bg)),var(--bg));
}
.resume-teaser-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(300px,.72fr);
  gap:88px;
  align-items:center;
  min-height:290px;
}
.resume-teaser h2{
  max-width:760px;
  margin:0;
  font-size:clamp(40px,4.35vw,62px);
  line-height:1.06;
  letter-spacing:-.058em;
  text-wrap:balance;
}
.fa-page .resume-teaser h2{line-height:1.22;letter-spacing:-.032em}
.resume-teaser-copy{max-width:510px;justify-self:end}
.resume-teaser-copy p{margin:0 0 23px;color:var(--muted);font-size:15px;line-height:1.85}
.fa-page .resume-teaser-copy p{line-height:2}
.resume-teaser-link{position:relative;z-index:3}
.resume-teaser-link:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 52%,transparent)}
.resume-watermark{
  position:absolute;
  inset-inline-end:-.015em;
  bottom:-.27em;
  font-size:clamp(180px,24vw,360px);
  line-height:.78;
  font-weight:900;
  letter-spacing:-.09em;
  color:color-mix(in srgb,var(--text) 2.7%,transparent);
  user-select:none;
  pointer-events:none;
}

/* Keep the developer decoration decorative, never on top of readable copy. */
.developer-card>span,.developer-card h2,.developer-card p{position:relative;z-index:2}
.developer-card .identity-shape{z-index:1}

@media (min-width:761px){
  /* Project detail: less poster-like title, more readable supporting copy. */
  .project-detail-top{grid-template-columns:150px minmax(0,1fr);gap:54px}
  .project-detail-title h1{font-size:clamp(52px,5.8vw,90px);line-height:.96;letter-spacing:-.065em;max-width:1050px}
  .fa-page .project-detail-title h1{line-height:1.12;letter-spacing:-.035em}
  .project-detail-title p{max-width:820px;font-size:clamp(15px,1.15vw,17px);line-height:1.8;margin-top:24px}

  /* General desktop balance: keep the editorial scale, remove extremes. */
  .section-heading h2,.skills-section h2,.interests-section h2{font-size:clamp(39px,4.45vw,62px)}
  .split-grid h2{font-size:clamp(39px,4.35vw,62px)}
  .split-grid p{font-size:15px;line-height:1.82;max-width:520px;margin-top:28px}
  .selected-notice p{font-size:12px;line-height:1.75}
  .selected-notice a{font-size:11px}
  .project-card-copy h3,.project-card-copy .project-card-title{font-size:clamp(30px,2.85vw,46px)}
  .project-card-copy p,.project-card-copy .project-card-description{font-size:13px;line-height:1.78;max-width:470px}
  .project-meta{font-size:9px}
  .project-stack span,.tech-cloud span{font-size:9px}
  .identity-grid h2{font-size:clamp(43px,4.35vw,62px)}
  .identity-grid p{font-size:14px;line-height:1.9;max-width:560px}
}

@media (max-width:760px){
  .resume-teaser{padding:70px 0 74px}
  .resume-teaser-grid{grid-template-columns:1fr;gap:22px;min-height:0}
  .resume-teaser h2{font-size:clamp(36px,10.4vw,46px);line-height:1.08;max-width:540px}
  .fa-page .resume-teaser h2{line-height:1.25}
  .resume-teaser-copy{max-width:none;justify-self:stretch}
  .resume-teaser-copy p{font-size:12px;line-height:1.85;max-width:460px;margin-bottom:18px}
  .resume-watermark{font-size:150px;bottom:-.18em;opacity:.8}

  /* Reserve a clean visual zone for the green/violet developer shape. */
  .developer-card{padding-bottom:190px!important;min-height:620px!important}
  .developer-card .identity-shape{width:205px;height:205px;right:-52px;bottom:-62px;opacity:.72}
  .developer-card p{max-width:none}
}


/* SEO hotfix: mobile slider reuses copy visually without duplicating text nodes in source. */
.seo-attr-copy::before{content:attr(data-text)}
.footer-brand-name{font-size:24px;font-weight:700;margin:0}
.resume-language-name{font-weight:700}
