:root{
  --bg:#09090b; --ink:#f3f1ec; --muted:#98a0ad; --faint:#667080;
  --line:rgba(243,241,236,.12);
  --blue:#4d8fe8; --blue-soft:#8db8f5;
  --card:#111216;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
html[lang="fa"] body{ font-family:'Vazirmatn','Inter',sans-serif; }
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1100px;margin:0 auto;padding:0 clamp(16px,4vw,36px)}

/* ===== language gate (first screen) ===== */
#gate{
  position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center;
  text-align:center; padding:24px; background:var(--bg);
  transition:opacity .5s ease, visibility 0s linear .5s;
}
#gate.hide{ opacity:0; visibility:hidden; pointer-events:none; }
#gate .bg{
  position:absolute; inset:0; background:url('../images/hero-bg.jpg') center/cover no-repeat;
  filter:brightness(.36) saturate(.9);
}
#gate .bg::after{
  content:""; position:absolute; inset:0;
  background:radial-gradient(120% 90% at 50% 30%, transparent 35%, rgba(9,9,11,.7) 100%),
             linear-gradient(180deg, rgba(9,9,11,.5), rgba(9,9,11,.25) 45%, rgba(9,9,11,.92));
}
#gate .inner{ position:relative; z-index:1; width:100%; max-width:760px; }
.eyebrow{
  display:inline-block; margin-bottom:22px; font-size:10.5px; letter-spacing:.32em; text-transform:uppercase;
  font-weight:600; color:var(--blue-soft); border:1px solid rgba(77,143,232,.5); padding:6px 14px; border-radius:100px;
}
h1.name{
  font-family:'Bricolage Grotesque',sans-serif; font-weight:800; text-transform:uppercase;
  font-size:clamp(46px,11vw,112px); line-height:.92; letter-spacing:-.02em;
}
h1.name .ac{ color:var(--blue); }
.gate-fa{
  font-family:'Vazirmatn',sans-serif; font-weight:700; direction:rtl; display:block; margin-top:14px;
  color:var(--blue-soft); font-size:clamp(20px,5vw,32px);
}
.gate-buttons{ display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:42px; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:9px; width:300px; max-width:88vw;
  background:transparent; border:2px solid rgba(255,255,255,.85); color:#fff; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:600;
  height:46px; padding:0 26px; border-radius:100px;
  transition:transform .25s, background .25s, color .25s, border-color .25s;
}
.btn:hover,.btn:focus-visible{ transform:translateY(-2px); background:var(--blue); border-color:var(--blue); color:#fff; outline:none; }
.btn.fa{ font-family:'Vazirmatn',sans-serif; letter-spacing:0; text-transform:none; font-size:15px; }
.btn.small{ width:auto; height:40px; font-size:11.5px; padding:0 22px; }
.btn.solid{ background:var(--blue); border-color:var(--blue); }
.btn.solid:hover{ background:var(--blue-soft); border-color:var(--blue-soft); color:#09090b; }
@media (min-width:768px){ .gate-buttons{ flex-direction:row; justify-content:center; } .gate-buttons .btn{ width:auto; padding:0 44px; } }

/* ===== top bar ===== */
.topbar{ position:fixed; top:0; left:0; width:100%; z-index:100; background:#000; border-bottom:1px solid var(--line); }
.topbar-inner{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 0; }
.brand{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:13px; letter-spacing:.16em; text-transform:uppercase; white-space:nowrap; }
.brand .ac{ color:var(--blue); }
.topright{ display:flex; align-items:center; gap:clamp(12px,2.2vw,20px); }
.socials{ display:flex; align-items:center; gap:clamp(11px,2.2vw,18px); }
.socials a{ color:var(--muted); font-size:17px; line-height:1; transition:color .2s, transform .2s; }
.socials a:hover{ transform:translateY(-2px); color:#fff; }
.socials a.objkt{ font-family:'Inter',sans-serif; font-weight:700; font-size:11px; letter-spacing:.06em; border:1px solid var(--faint); padding:3px 7px; border-radius:6px; }
.socials a.objkt:hover{ border-color:var(--blue); color:var(--blue-soft); }
.langbtn{
  background:none; border:1px solid var(--faint); color:var(--ink); border-radius:100px; cursor:pointer;
  font-size:11.5px; font-weight:600; letter-spacing:.06em; padding:5px 12px; transition:border-color .2s, color .2s;
}
html[lang="en"] .langbtn{ font-family:'Vazirmatn','Inter',sans-serif; }
.langbtn:hover{ border-color:var(--blue); color:var(--blue-soft); }
@media (max-width:640px){ .brand{ font-size:11px; letter-spacing:.05em; } .socials a{ font-size:15px; } .socials a.objkt{ display:none; } }

/* ===== hero ===== */
.hero{ position:relative; min-height:78svh; display:flex; align-items:center; justify-content:center; text-align:center; padding:110px 20px 60px; overflow:hidden; }
.hero .bg{ position:absolute; inset:0; background:url('../images/hero-bg.jpg') center/cover no-repeat; filter:brightness(.34) saturate(.9); }
.hero .bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(9,9,11,.55), rgba(9,9,11,.2) 50%, var(--bg)); }
.hero .content{ position:relative; z-index:1; max-width:820px; }
.hero p.tag{ margin:26px auto 0; max-width:560px; color:#c9ced7; font-size:clamp(15px,2.2vw,18px); }
.hero .cta{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:34px; }

/* ===== sections ===== */
section{ padding:clamp(56px,9vw,100px) 0; }
.sec-head{ display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin-bottom:34px; border-bottom:1px solid var(--line); padding-bottom:14px; }
.sec-head h2{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:-.01em; font-size:clamp(28px,5vw,44px); line-height:1; }
html[lang="fa"] .sec-head h2{ font-family:'Vazirmatn',sans-serif; text-transform:none; font-size:clamp(26px,4.5vw,38px); }
.sec-head .sub{ color:var(--faint); font-size:12px; letter-spacing:.2em; text-transform:uppercase; }
html[lang="fa"] .sec-head .sub{ letter-spacing:0; text-transform:none; font-size:13px; }

/* ===== artwork grid ===== */
.grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(14px,2.4vw,26px); }
@media (max-width:700px){ .grid{ grid-template-columns:1fr; } }
.card{ position:relative; display:block; width:100%; text-align:inherit; cursor:pointer; background:var(--card); border:1px solid var(--line); border-radius:14px; overflow:hidden; color:inherit; font:inherit; transition:transform .3s, border-color .3s; }
.card:hover,.card:focus-visible{ transform:translateY(-4px); border-color:rgba(77,143,232,.6); outline:none; }
.card .media{ aspect-ratio:16/9; overflow:hidden; background:#000; }
.card .media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease, filter .4s; }
.card:hover .media img{ transform:scale(1.05); filter:brightness(.7); }
.card .view{ position:absolute; top:0; left:0; right:0; aspect-ratio:16/9; display:flex; align-items:center; justify-content:center; opacity:0; transition:opacity .3s; font-size:12px; letter-spacing:.22em; text-transform:uppercase; font-weight:600; }
html[lang="fa"] .card .view{ letter-spacing:0; font-size:15px; text-transform:none; }
.card:hover .view,.card:focus-visible .view{ opacity:1; }
.card .info{ padding:16px 18px 18px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.card h3{ font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:19px; line-height:1.25; }
html[lang="fa"] .card h3{ font-family:'Vazirmatn',sans-serif; font-weight:700; }
.card .meta{ margin-top:3px; color:var(--muted); font-size:12.5px; }
.pill{ flex:none; font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--blue-soft); border:1px solid rgba(77,143,232,.5); border-radius:100px; padding:3px 10px; white-space:nowrap; }
html[lang="fa"] .pill{ letter-spacing:0; text-transform:none; font-size:12px; }
.card.soon{ cursor:default; }
.card.soon:hover{ transform:none; border-color:var(--line); }
.card.soon .media{ display:flex; align-items:center; justify-content:center; color:var(--faint); font-size:12px; letter-spacing:.24em; text-transform:uppercase; border-bottom:1px dashed var(--line); background:repeating-linear-gradient(45deg,#0c0d10,#0c0d10 12px,#101116 12px,#101116 24px); }

/* ===== about ===== */
.about{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(24px,5vw,64px); align-items:start; }
@media (max-width:760px){ .about{ grid-template-columns:1fr; } }
.about p{ color:#c9ced7; font-size:clamp(15px,2vw,17px); margin-bottom:16px; }
.links{ list-style:none; border-top:1px solid var(--line); }
.links li a{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 4px; border-bottom:1px solid var(--line); color:var(--ink); transition:color .2s, padding .2s; }
.links li a:hover{ color:var(--blue-soft); padding-inline-start:10px; }
.links .l{ display:flex; align-items:center; gap:14px; font-weight:500; }
.links .l i{ width:20px; text-align:center; color:var(--muted); }
.links .h{ color:var(--faint); font-size:13px; direction:ltr; }

footer{ text-align:center; padding:30px 20px 40px; color:var(--faint); font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; border-top:1px solid var(--line); }
html[lang="fa"] footer{ letter-spacing:0; text-transform:none; font-size:12px; }

/* ===== modal ===== */
#modal{ position:fixed; inset:0; z-index:300; background:rgba(0,0,0,.92); display:none; overflow-y:auto; padding:clamp(14px,3vw,40px); }
#modal.open{ display:block; }
.mbox{ max-width:1100px; margin:48px auto 20px; position:relative; }
.mclose{ position:fixed; top:14px; inset-inline-end:18px; z-index:2; width:42px; height:42px; border-radius:50%; border:1px solid var(--faint); background:#000; color:#fff; font-size:20px; cursor:pointer; }
.mclose:hover{ border-color:var(--blue); color:var(--blue-soft); }
.mbox img.big{ width:100%; border-radius:12px; border:1px solid var(--line); background:#000; }
.mtext{ display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(20px,4vw,48px); margin-top:26px; }
@media (max-width:760px){ .mtext{ grid-template-columns:1fr; } }
.mtext h3{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(26px,4.5vw,40px); line-height:1.1; }
html[lang="fa"] .mtext h3{ font-family:'Vazirmatn',sans-serif; }
.mtext .desc p{ color:#c9ced7; margin-top:14px; }
.facts{ list-style:none; border-top:1px solid var(--line); }
.facts li{ display:flex; justify-content:space-between; gap:14px; padding:11px 2px; border-bottom:1px solid var(--line); font-size:14px; }
.facts li span:first-child{ color:var(--faint); }
.tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.tags span{ font-size:11.5px; color:var(--muted); border:1px solid var(--line); border-radius:100px; padding:3px 11px; }
.mtext .btn{ width:100%; margin-top:20px; }

.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* typography image (name) */
.name-img{ display:block; width:min(86vw,760px); height:auto; margin:0 auto; }
.gate-fa{ display:none; }
.gate-buttons{ margin-top:30px; }
.brand{ display:flex; align-items:center; gap:14px; }
.brand img{ height:34px; width:auto; }
.brand .sep{ width:1px; height:26px; background:var(--faint); }
.socials a{ display:inline-flex; align-items:center; justify-content:center; }
.hero .name-img{ width:min(80vw,640px); margin-top:20px; }
.hero p.tag{ margin-top:10px; }
.icons{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.icons a{ display:flex; align-items:center; justify-content:center; aspect-ratio:16/9; border:1px solid var(--line); border-radius:14px; background:var(--card); font-size:30px; color:var(--muted); transition:color .25s, border-color .25s, transform .25s, background .25s; }
.icons a:hover,.icons a:focus-visible{ color:#fff; border-color:rgba(77,143,232,.7); background:rgba(77,143,232,.12); transform:translateY(-3px); outline:none; }
@media (max-width:520px){ .icons{ grid-template-columns:repeat(2,1fr); } }

/* ================= shared additions (nav, feed, post) ================= */
html[lang="en"] [data-l="fa"], html[lang="fa"] [data-l="en"]{ display:none !important; }
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
section{ scroll-margin-top:70px; }

/* top bar: brand | nav | socials */
.topbar-inner{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:16px; }
.brand{ justify-self:start; }
.topright{ justify-self:end; }
.mainnav{ display:flex; gap:2px; background:#0f1013; border:1px solid var(--line); border-radius:10px; padding:4px; }
.mainnav a{ font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:#c9ced7; padding:9px 14px; border-radius:7px; transition:color .2s, background .2s; white-space:nowrap; }
.mainnav a:hover{ color:#fff; background:rgba(255,255,255,.06); }
.mainnav a[aria-current="page"]{ color:var(--blue-soft); }
html[lang="fa"] .mainnav a{ letter-spacing:0; text-transform:none; font-size:14px; font-family:'Vazirmatn',sans-serif; }
.menubtn{ display:none; width:40px; height:34px; align-items:center; justify-content:center; background:none; border:1px solid var(--faint); border-radius:10px; color:var(--ink); cursor:pointer; font-size:15px; }
.navsocials{ display:none; }
@media (max-width:980px){
  .topbar-inner{ display:flex; justify-content:space-between; }
  .socials.hide-sm{ display:none; }
  .menubtn{ display:inline-flex; }
  .mainnav{ display:none; position:absolute; top:100%; left:0; right:0; flex-direction:column; gap:0; border-radius:0; border-width:1px 0; background:#000; padding:6px clamp(16px,4vw,36px) 20px; }
  .mainnav.open{ display:flex; }
  .mainnav a{ padding:15px 4px; border-bottom:1px solid var(--line); border-radius:0; font-size:13px; }
  .mainnav a:hover{ background:none; }
  .navsocials{ display:flex; gap:22px; padding-top:18px; }
  .navsocials a{ border:0; padding:0; font-size:21px; color:var(--muted); }
}

/* feed */
.page{ padding-top:clamp(96px,12vw,128px); padding-bottom:clamp(50px,8vw,90px); min-height:70svh; }
.cat{ display:inline-block; font-size:10.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#08090b; background:var(--blue-soft); padding:3px 9px; border-radius:5px; }
html[lang="fa"] .cat{ letter-spacing:0; text-transform:none; font-size:12px; }
.fmeta{ display:flex; align-items:center; flex-wrap:wrap; gap:10px; color:var(--faint); font-size:12px; letter-spacing:.06em; }
html[lang="fa"] .fmeta{ letter-spacing:0; font-size:13px; }
.fcard-lg{ position:relative; display:grid; grid-template-columns:1.25fr 1fr; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:var(--card); transition:border-color .3s, transform .3s; }
.fcard-lg:hover{ border-color:rgba(77,143,232,.6); transform:translateY(-3px); }
.fcard-lg .img{ min-height:300px; background:#000; }
.fcard-lg .img img{ width:100%; height:100%; object-fit:cover; }
.fcard-lg .body{ padding:clamp(22px,3vw,40px); display:flex; flex-direction:column; justify-content:center; gap:14px; }
.fcard-lg h2{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; line-height:1.12; font-size:clamp(24px,3.2vw,38px); }
html[lang="fa"] .fcard-lg h2, html[lang="fa"] .fcard h3{ font-family:'Vazirmatn',sans-serif; line-height:1.4; }
.excerpt{ color:#aab1bd; font-size:15px; }
.readmore{ color:var(--blue-soft); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; display:inline-flex; align-items:center; gap:8px; }
html[lang="fa"] .readmore{ letter-spacing:0; text-transform:none; font-size:14px; }
.readmore .ar{ display:inline-block; transition:transform .25s; }
html[dir="rtl"] .readmore .ar{ transform:scaleX(-1); }
.fcard-lg:hover .ar, .fcard:hover .ar{ transform:translateX(4px); }
html[dir="rtl"] .fcard-lg:hover .ar, html[dir="rtl"] .fcard:hover .ar{ transform:scaleX(-1) translateX(4px); }
.latest{ position:absolute; top:14px; inset-inline-start:14px; z-index:1; font-size:10.5px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; background:var(--blue); color:#fff; padding:4px 10px; border-radius:6px; }
html[lang="fa"] .latest{ letter-spacing:0; text-transform:none; font-size:12px; }
.fgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:22px; }
.fcard{ display:flex; flex-direction:column; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--card); transition:border-color .3s, transform .3s; }
.fcard:hover{ border-color:rgba(77,143,232,.6); transform:translateY(-3px); }
.fcard .img{ aspect-ratio:16/10; background:#000; overflow:hidden; }
.fcard .img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.fcard:hover .img img{ transform:scale(1.04); }
.fcard .body{ padding:16px 18px 20px; display:flex; flex-direction:column; gap:10px; }
.fcard h3{ font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:18px; line-height:1.3; }
.empty{ color:var(--faint); padding:40px 0; }
@media (max-width:900px){ .fcard-lg{ grid-template-columns:1fr; } .fcard-lg .img{ min-height:0; aspect-ratio:16/9; } .fgrid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .fgrid{ grid-template-columns:1fr; } }

/* post page */
.post{ max-width:760px; margin:0 auto; }
.crumbs{ font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--faint); }
.crumbs a{ color:var(--blue-soft); }
html[lang="fa"] .crumbs{ letter-spacing:0; text-transform:none; font-size:13px; }
.post .fmeta{ margin-top:18px; }
.post h1{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(30px,5.4vw,52px); line-height:1.08; margin:16px 0 28px; letter-spacing:-.01em; }
html[lang="fa"] .post h1{ font-family:'Vazirmatn',sans-serif; line-height:1.4; letter-spacing:0; }
.post .cover{ width:100%; border-radius:14px; border:1px solid var(--line); background:#000; }
.prose{ margin-top:34px; font-size:clamp(16px,2vw,18px); line-height:1.85; color:#d3d7df; }
html[lang="fa"] .prose{ line-height:2.05; }
.prose p{ margin:0 0 20px; }
.prose h2{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(22px,3vw,28px); margin:34px 0 14px; color:var(--ink); }
html[lang="fa"] .prose h2{ font-family:'Vazirmatn',sans-serif; }
.prose figure{ margin:26px 0; } .prose figure img{ width:100%; border-radius:12px; border:1px solid var(--line); }
.prose figcaption{ font-size:13px; color:var(--faint); margin-top:8px; }
.prose .btn{ width:auto; margin:6px 0 20px; }
.postfoot{ display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; align-items:center; margin-top:44px; padding-top:26px; border-top:1px solid var(--line); }
.backlink{ color:var(--blue-soft); font-size:12px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; display:inline-flex; gap:8px; align-items:center; }
html[lang="fa"] .backlink{ letter-spacing:0; text-transform:none; font-size:14px; }
html[dir="rtl"] .backlink .ar{ transform:scaleX(-1); }
.sharebtns{ display:flex; flex-wrap:wrap; gap:8px; }
.sharebtns a, .sharebtns button{ display:inline-flex; align-items:center; gap:8px; border:1px solid var(--line); background:#0f1013; color:var(--ink); border-radius:8px; padding:9px 14px; font:inherit; font-size:12.5px; cursor:pointer; transition:border-color .2s, color .2s; }
.sharebtns a:hover, .sharebtns button:hover{ border-color:var(--blue); color:var(--blue-soft); }
.more{ margin-top:60px; }
.more h4{ font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--blue-soft); margin-bottom:6px; }
html[lang="fa"] .more h4{ letter-spacing:0; text-transform:none; font-size:14px; }
.more .fgrid{ margin-top:14px; }
.totop{ position:fixed; bottom:22px; inset-inline-end:22px; z-index:90; display:inline-flex; align-items:center; gap:8px; background:#0f1013; color:var(--ink); border:1px solid var(--faint); border-radius:100px; padding:9px 16px; font-size:12px; cursor:pointer; opacity:0; pointer-events:none; transition:opacity .25s; }
.totop.show{ opacity:1; pointer-events:auto; }
.totop:hover{ border-color:var(--blue); color:var(--blue-soft); }

.topbar-inner{ padding:12px clamp(16px,4vw,36px); }
html[lang="fa"] .prose .btn{ text-transform:none; letter-spacing:0; font-size:14px; font-family:'Vazirmatn',sans-serif; }

/* ================= works (archive) ================= */
.wgrid{ display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(14px,2.4vw,26px); }
.wgrid.three{ grid-template-columns:repeat(3,1fr); }
@media (max-width:900px){ .wgrid.three{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:480px){ .wgrid, .wgrid.three{ gap:12px; } .wcard .info{ padding:10px 12px 12px; } .wcard h3{ font-size:15px; } }
.wcard{ display:block; border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--card); transition:border-color .3s, transform .3s; }
.wcard:hover,.wcard:focus-visible{ border-color:rgba(77,143,232,.6); transform:translateY(-4px); outline:none; }
.wcard .img{ aspect-ratio:1/1; background:#000; overflow:hidden; }
.wcard .img img{ width:100%; height:100%; object-fit:cover; transition:transform .6s ease; }
.wcard .img img.contain{ object-fit:contain; }
.wcard:hover .img img{ transform:scale(1.04); }
.wcard .info{ padding:14px 18px 16px; display:flex; align-items:baseline; justify-content:space-between; gap:10px; }
.wcard h3{ font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:18px; line-height:1.3; }
html[lang="fa"] .wcard h3{ font-family:'Vazirmatn',sans-serif; font-weight:700; }
.dt{ font-size:12px; color:var(--faint); letter-spacing:.08em; font-variant-numeric:tabular-nums; direction:ltr; unicode-bidi:isolate; white-space:nowrap; }
.morewrap{ text-align:center; margin-top:34px; }
.work{ max-width:900px; margin:0 auto; }
.work h1{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(32px,5.6vw,56px); line-height:1.08; margin:16px 0 14px; letter-spacing:-.01em; }
html[lang="fa"] .work h1{ font-family:'Vazirmatn',sans-serif; line-height:1.35; letter-spacing:0; }
.work .tagline{ color:var(--muted); font-size:clamp(16px,2vw,20px); margin:0 0 26px; }
.work .cover{ width:100%; border-radius:14px; border:1px solid var(--line); background:#000; }
.wtext{ max-width:640px; margin:0 auto; }
.wtext .prose p{ margin:0 0 22px; }
.gal{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; margin-top:40px; }
.gal figure{ margin:0; }
.gal .wide,.gal .tall,.gal .full{ grid-column:1/-1; }
.gal .tall{ justify-self:center; width:min(100%,460px); }
.gal img,.gal video{ display:block; width:100%; border-radius:12px; border:1px solid var(--line); background:#000; }
.gal video{ max-height:82vh; object-fit:contain; }
.gal figcaption{ font-size:13px; color:var(--faint); margin-top:8px; }
@media (max-width:560px){ .gal{ grid-template-columns:1fr; } }
.pn{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:54px; }
.pn a{ display:flex; flex-direction:column; gap:4px; border:1px solid var(--line); border-radius:12px; padding:16px 18px; background:var(--card); transition:border-color .25s; }
.pn a:hover{ border-color:rgba(77,143,232,.6); }
.pn .next{ text-align:end; }
.pn .lab{ font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--blue-soft); }
html[lang="fa"] .pn .lab{ letter-spacing:0; text-transform:none; font-size:13px; }
.pn .t{ font-family:'Bricolage Grotesque',sans-serif; font-weight:600; font-size:17px; }
html[lang="fa"] .pn .t{ font-family:'Vazirmatn',sans-serif; font-weight:700; }

/* ================= image protection (deterrent only) ================= */
img{ -webkit-user-drag:none; user-select:none; -webkit-user-select:none; -webkit-touch-callout:none; pointer-events:none; }
video{ -webkit-touch-callout:none; }

.about-text h3{ font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(20px,2.6vw,27px); line-height:1.25; margin-bottom:18px; }
html[lang="fa"] .about-text h3{ font-family:'Vazirmatn',sans-serif; line-height:1.6; }
html[lang="fa"] .about p{ line-height:2; }

/* menu hover: site blue */
.mainnav a:hover{ color:var(--blue); background:rgba(77,143,232,.10); }
.mainnav a[aria-current="page"]{ color:var(--blue); }
@media (max-width:980px){ .mainnav a:hover{ background:none; } }

/* water-wave hover on the name typography */
.name-wave{ width:min(86vw,760px); margin:0 auto; -webkit-tap-highlight-color:transparent; }
.hero .name-wave{ width:min(80vw,640px); margin-top:20px; }
.name-wave .name-img{ width:100%; margin:0; will-change:filter; }

.fcard-lg .img video,.fcard .img video{ width:100%; height:100%; object-fit:cover; display:block; pointer-events:none; }
.post video.cover{ display:block; width:100%; border-radius:14px; border:1px solid var(--line); background:#000; pointer-events:none; }

/* ===== round 3 tweaks ===== */
.brand .blogo{ height:38px; width:auto; }
.brand .bname-img{ height:16px; width:auto; display:block; }
@media (max-width:640px){ .brand{ gap:9px; } .brand .blogo{ height:30px; } .brand .bname-img{ height:12px; } .brand .sep{ height:20px; } }
/* bigger name typography, quieter text around it */
.hero .name-wave{ width:min(92vw,860px); margin-top:14px; }
.name-wave{ width:min(92vw,860px); }
.hero .eyebrow{ font-size:10.5px !important; }
.hero p.tag{ font-size:clamp(13px,1.7vw,15px); margin-top:6px; }
/* mobile work card titles */
@media (max-width:560px){
  .wcard .info{ flex-direction:column; align-items:flex-start; gap:3px; padding:9px 11px 11px; }
  .wcard h3{ font-size:12.5px; line-height:1.3; overflow-wrap:anywhere; }
  html[lang="fa"] .wcard h3{ font-size:12.5px; }
  .wcard .dt{ font-size:10.5px; }
}
/* work page description centered */
.wtext .prose{ text-align:center; }

/* round 4: exact centering in both languages + smaller header brand */
.hero .content{ max-width:min(96vw,920px); width:100%; }
.name-wave{ margin-left:auto; margin-right:auto; }
.brand .blogo{ height:28px; }
.brand .bname-img{ height:11px; }
.brand{ gap:11px; }
.brand .sep{ height:20px; }
@media (max-width:640px){ .brand .blogo{ height:23px; } .brand .bname-img{ height:9px; } .brand .sep{ height:16px; } .brand{ gap:8px; } }
.hero .name-wave{ width:min(100%,860px); }

/* ===== about-me floating portrait link ===== */
.about-link{ max-width:1100px; margin:70px auto 40px; padding:0 20px; }
.al-a{ position:relative; display:block; text-align:center; padding:70px 10px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.al-sub{ display:block; font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; color:var(--blue-soft); margin-bottom:12px; }
html[lang="fa"] .al-sub{ letter-spacing:0; text-transform:none; font-size:14px; }
.al-title{ display:block; font-family:'Bricolage Grotesque',sans-serif; font-weight:800; font-size:clamp(40px,9vw,110px); line-height:1.05; letter-spacing:-.01em; transition:color .3s; }
html[lang="fa"] .al-title{ font-family:'Vazirmatn',sans-serif; letter-spacing:0; line-height:1.3; }
.al-a:hover .al-title,.al-a:focus-visible .al-title{ color:var(--blue-soft); }
.al-img{ display:none; }
@media (hover:hover) and (pointer:fine) and (min-width:900px){
  .al-img{ display:block; position:fixed; left:0; top:0; width:220px; height:290px; object-fit:cover; border-radius:14px; border:1px solid rgba(255,255,255,.12); pointer-events:none; opacity:0; z-index:80; transition:opacity .3s ease; will-change:transform; box-shadow:0 20px 50px rgba(0,0,0,.55); }
  .al-img.on{ opacity:1; }
}
