:root{--bg:#f5efe6;--paper:#fbf8f2;--ink:#211712;--muted:#80746d;--line:#d9cec0;--accent:#a16a3b;--dark:#1d1714;--radius:22px;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea,select{font:inherit}.site-header{height:88px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;gap:42px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:max-content}.brand-mark{width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;font-size:24px}.brand strong,.brand small{display:block}.brand strong{font-size:15px}.brand small{font-size:11px;color:var(--muted)}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px}.main-nav a{position:relative;padding:8px 0;color:#5c514a}.main-nav a:after{content:"";position:absolute;right:0;bottom:0;width:0;height:1px;background:var(--ink);transition:.25s}.main-nav a:hover:after,.main-nav a.active:after{width:100%}.main-nav a.active{color:var(--ink)}.menu-toggle{display:none;border:0;background:none;width:40px;height:40px;padding:9px}.menu-toggle span{display:block;height:1px;background:var(--ink);margin:8px 0}
.hero{max-width:var(--max);margin:18px auto 90px;padding:0 28px;display:grid;grid-template-columns:1fr 1.15fr;align-items:stretch;min-height:660px}.hero-copy{padding:90px 8% 70px 0;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:12px;letter-spacing:.08em;color:var(--accent);margin:0 0 12px}.hero h1,.page-title h1,.page-heading h1,.contact-info h1,.article-page h1{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;font-size:clamp(44px,6vw,88px);font-weight:400;line-height:1.25;margin:0 0 28px}.hero-copy>p:not(.eyebrow){max-width:540px;color:var(--muted);font-size:16px}.hero-actions{display:flex;gap:30px;align-items:center;margin-top:28px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;border-bottom:1px solid currentColor;padding-bottom:4px}.text-link.muted{color:var(--muted);border-color:transparent}.text-link.light{color:#efe7dc}.hero-visual{position:relative;overflow:hidden;background:#dfd2c2;border-radius:2px 2px 36px 2px;min-height:660px}.hero-visual img{width:100%;height:100%;object-fit:cover}.image-caption{position:absolute;bottom:22px;left:22px;background:rgba(245,239,230,.85);backdrop-filter:blur(8px);padding:7px 12px;font-size:11px;border-radius:20px}.section-shell{max-width:var(--max);margin:0 auto 100px;padding:0 28px}.intro-section{display:grid;grid-template-columns:70px .8fr 1fr;gap:40px;align-items:start;border-top:1px solid var(--line);padding-top:42px}.section-number{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;color:var(--muted);font-size:13px}.intro-section h2,.section-head h2,.resume-group h2{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;font-weight:400;font-size:clamp(32px,4vw,56px);margin:0}.lead{font-size:18px;color:#5e534d;margin:0;max-width:620px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.photo-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.photo-card{position:relative;overflow:hidden;aspect-ratio:4/3;background:#ded2c4}.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.photo-card:hover img{transform:scale(1.025)}.photo-card span{position:absolute;right:16px;bottom:14px;color:white;text-shadow:0 1px 8px rgba(0,0,0,.5);font-size:12px}.dark-panel{background:var(--dark);color:#f4ede4;border-radius:34px;padding:54px}.dark-panel .eyebrow{color:#c89a70}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.video-grid.compact{gap:18px}.video-card{display:block}.video-thumb{position:relative;aspect-ratio:16/10;overflow:hidden;background:#2c2420;border-radius:4px}.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.video-card:hover img{transform:scale(1.03)}.play{position:absolute;inset:0;margin:auto;width:52px;height:52px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;color:white;background:rgba(0,0,0,.22);font-size:14px;padding-right:2px}.video-card h3{font-size:15px;font-weight:500;margin:14px 0 4px}.video-card p{font-size:13px;color:var(--muted);margin:0}.news-list{border-top:1px solid var(--line)}.news-row{display:grid;grid-template-columns:120px 1fr 30px;gap:18px;align-items:center;padding:23px 0;border-bottom:1px solid var(--line);transition:padding .25s}.news-row:hover{padding-right:10px}.news-row time{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;color:var(--muted);direction:ltr;text-align:right;font-size:12px}.news-row h3,.news-row h2{margin:0;font-size:16px;font-weight:500}.news-row.large{padding:34px 0}.news-row.large h2{font-size:24px}.news-row.large p{color:var(--muted);margin:6px 0 0}.site-footer{max-width:var(--max);margin:60px auto 0;padding:30px 28px 42px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:end;color:var(--muted);font-size:12px}.site-footer strong,.site-footer span{display:block;color:var(--ink)}.site-footer span{font-size:11px;color:var(--muted)}.footer-links{display:flex;gap:18px}.site-footer>small{text-align:left}
.page-hero,.page-heading,.contact-layout,.article-page{max-width:var(--max);margin:0 auto;padding-left:28px;padding-right:28px}.split-page{display:grid;grid-template-columns:1fr .85fr;gap:80px;align-items:center;padding-top:50px;padding-bottom:80px}.page-title p{color:var(--muted)}.portrait-frame{height:650px;overflow:hidden;border-radius:2px 2px 28px 2px}.portrait-frame img{width:100%;height:100%;object-fit:cover}.content-narrow{max-width:820px;margin:0 auto 120px;padding:0 28px}.prose{font-size:16px;color:#524842;line-height:2.25}.dropcap:first-letter{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;font-size:64px;float:right;line-height:.9;padding:8px 0 0 12px;color:var(--accent)}.page-heading{padding-top:90px;padding-bottom:70px}.page-heading h1{font-size:clamp(52px,7vw,96px);margin-bottom:14px}.page-heading>p:last-child{color:var(--muted);max-width:560px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{margin:0;cursor:zoom-in}.gallery-item:nth-child(5n+2){transform:translateY(22px)}.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#ded2c4}.gallery-item figcaption{font-size:12px;color:var(--muted);padding-top:8px}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(18,14,12,.92);display:grid;place-items:center;padding:5vw}.lightbox[hidden]{display:none}.lightbox img{max-width:90vw;max-height:85vh;object-fit:contain}.lightbox button{position:absolute;top:24px;left:28px;color:white;background:none;border:0;font-size:38px;cursor:pointer}.pagination-shell{max-width:var(--max);margin:-60px auto 100px;padding:0 28px}.pagination-shell nav{display:flex;justify-content:center}.pagination-shell svg{width:18px}.resume-shell{display:grid;gap:70px}.resume-group{display:grid;grid-template-columns:280px 1fr;gap:50px;border-top:1px solid var(--line);padding-top:34px}.resume-group h2{font-size:28px}.timeline-item{display:grid;grid-template-columns:150px 1fr;gap:30px;padding:0 0 34px;margin-bottom:34px;border-bottom:1px solid var(--line)}.timeline-item .year{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;color:var(--accent);direction:rtl}.timeline-item h3{margin:0;font-size:20px}.timeline-item strong{font-size:13px;color:var(--muted)}.timeline-item p{color:var(--muted);margin:10px 0 0}.contact-layout{padding-top:100px;padding-bottom:110px;display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.contact-info h1{font-size:64px}.contact-info>p{color:var(--muted)}.contact-info dl{margin-top:44px}.contact-info dl div{border-top:1px solid var(--line);padding:14px 0;display:grid;grid-template-columns:90px 1fr}.contact-info dt{font-size:12px;color:var(--muted)}.contact-info dd{margin:0;direction:ltr;text-align:right}.contact-form{background:var(--paper);padding:38px;border-radius:22px}.contact-form label{display:block;font-size:12px;color:var(--muted);margin-bottom:20px}.contact-form input,.contact-form textarea{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 0;color:var(--ink);outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}.button{border:1px solid var(--ink);background:var(--ink);color:white;padding:11px 26px;border-radius:99px;cursor:pointer}.alert{padding:11px 14px;border-radius:10px;margin-bottom:18px;font-size:13px}.alert.success{background:#e9f1e9;color:#355b39}.alert.error{background:#f5e6e2;color:#8b4033}.article-page{max-width:900px;padding-top:80px;padding-bottom:120px}.article-page time{display:block;color:var(--muted);font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif;margin-top:55px}.article-page h1{font-size:clamp(44px,6vw,72px);margin-top:10px}.article-cover{width:100%;max-height:520px;object-fit:cover;margin:32px 0}.article-lead{font-size:20px;color:#5c514a}.empty-state{padding:55px 0;color:var(--muted);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.reveal{opacity:0;transform:translateY(14px);transition:opacity .75s ease,transform .75s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:74px;padding:0 18px}.main-nav{position:fixed;inset:74px 0 auto 0;background:rgba(245,239,230,.98);z-index:40;padding:28px 22px 34px;display:grid;gap:12px;transform:translateY(-130%);transition:.35s;border-bottom:1px solid var(--line)}.main-nav.open{transform:none}.menu-toggle{display:block}.hero{grid-template-columns:1fr;padding:0 18px;margin-top:6px;min-height:auto}.hero-copy{padding:70px 0 42px;order:2}.hero h1{font-size:48px}.hero-visual{min-height:520px;order:1;border-radius:2px 2px 22px 2px}.section-shell{padding:0 18px;margin-bottom:72px}.intro-section{grid-template-columns:1fr;gap:18px}.section-number{display:none}.photo-strip,.video-grid,.gallery-grid{grid-template-columns:1fr 1fr}.dark-panel{margin-left:10px;margin-right:10px;padding:32px 18px;border-radius:24px}.news-row{grid-template-columns:90px 1fr 20px}.site-footer{margin-top:40px;padding:26px 18px;grid-template-columns:1fr}.site-footer>small{text-align:right}.split-page{grid-template-columns:1fr;gap:30px;padding:30px 18px 70px}.page-title{order:2}.portrait-frame{height:520px}.page-heading{padding:70px 18px 50px}.resume-group{grid-template-columns:1fr;gap:24px}.timeline-item{grid-template-columns:110px 1fr}.contact-layout{padding:70px 18px 90px;grid-template-columns:1fr;gap:44px}.contact-info h1{font-size:48px}.article-page{padding:60px 18px 90px}.pagination-shell{padding:0 18px}}
@media(max-width:560px){.brand small{display:none}.hero-visual{min-height:430px}.photo-strip,.video-grid,.gallery-grid{grid-template-columns:1fr}.gallery-item:nth-child(5n+2){transform:none}.section-head{align-items:start;gap:20px}.news-row,.news-row.large{grid-template-columns:74px 1fr;gap:12px}.news-row>span{display:none}.timeline-item{grid-template-columns:1fr;gap:8px}.form-row{grid-template-columns:1fr}.contact-form{padding:26px 20px}.page-heading h1{font-size:52px}}
.pagination{display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px}.pagination a,.pagination span{padding:7px 12px;border:1px solid var(--line);border-radius:99px}.pagination .disabled{opacity:.45}.pagination .page-current{border:0;color:var(--muted)}

/* v7 typography + footer credit */
html,body,button,input,textarea,select,.brand-mark,.hero h1,.page-title h1,.page-heading h1,.contact-info h1,.article-page h1,.intro-section h2,.section-head h2,.resume-group h2,.section-number,.news-row time,.timeline-item .year,.dropcap:first-letter{font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif!important}.rzweb-credit{display:inline-block!important;margin-top:5px;color:var(--accent)!important;font-weight:600;direction:ltr}.rzweb-credit:hover{text-decoration:underline}.footer-copy{line-height:1.9}


/* ===== v9: typography, brand, articles, news modal and resume ===== */
html,body,button,input,textarea,select,
h1,h2,h3,h4,h5,h6,
.hero h1,.page-title h1,.page-heading h1,.contact-info h1,.article-page h1,
.intro-section h2,.section-head h2,.resume-group h2,
.news-row h2,.news-row h3,.article-card h2,.article-card h3,
.news-card h2,.news-card h3,.resume-intro-card h1,.resume-intro-card h2,.resume-event h3 {
    font-family:Vazirmatn,Tahoma,"Segoe UI",sans-serif!important;
}

.brand-logo{
    width:48px;height:48px;border:1px solid rgba(255,255,255,.35);border-radius:50%;
    display:grid;place-items:center;overflow:hidden;flex:0 0 48px;background:#fff;box-shadow:0 2px 14px rgba(0,0,0,.14)
}
.brand-logo img{width:100%;height:100%;object-fit:cover;padding:0;display:block}
.brand-logo-empty{position:relative}
.brand-logo-empty:before,.brand-logo-empty:after{content:"";position:absolute;border:1px solid var(--ink);border-radius:50%}
.brand-logo-empty:before{width:18px;height:28px;transform:rotate(-18deg)}
.brand-logo-empty:after{width:6px;height:6px;background:var(--ink);bottom:7px;left:7px}
.brand-copy{display:block;min-width:150px}
.brand-name{display:block;font-family:Vazirmatn,Tahoma,sans-serif!important;font-size:17px!important;line-height:1.4;font-weight:700!important}
.brand-name.nastaliq{
    font-family:"IranNastaliq","Noto Nastaliq Urdu",Vazirmatn,Tahoma,serif!important;
    font-size:25px!important;font-weight:600!important;line-height:1.55
}
.brand small{margin-top:0}

.home-intro{
    display:grid;grid-template-columns:140px 1fr auto;gap:42px;align-items:start;
    padding-top:34px;padding-bottom:34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)
}
.home-intro-label{font-size:12px;color:var(--accent);padding-top:7px}
.home-intro h2{font-size:clamp(30px,3.2vw,48px);font-weight:500;margin:0 0 12px}
.home-intro p{margin:0;max-width:720px;color:#5d514a;font-size:16px;line-height:2.15}
.home-intro .text-link{margin-top:8px;white-space:nowrap}

.articles-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-articles{grid-template-columns:repeat(4,minmax(0,1fr))}
.article-card{
    display:flex;flex-direction:column;background:rgba(255,255,255,.28);
    border:1px solid rgba(144,121,102,.20);border-radius:18px;overflow:hidden;
    transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;min-height:100%
}
.article-card:hover{transform:translateY(-4px);border-color:rgba(161,106,59,.42);box-shadow:0 18px 38px rgba(60,42,29,.07)}
.article-card-image{aspect-ratio:16/10;background:#e5dace;overflow:hidden}
.article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.article-card:hover .article-card-image img{transform:scale(1.025)}
.article-card-placeholder{height:100%;display:grid;place-items:center;color:var(--muted);font-size:13px;background:linear-gradient(135deg,#e7dbcc,#f4ede3)}
.article-card-body{padding:20px;display:flex;flex-direction:column;flex:1}
.article-card time{font-size:11px;color:var(--accent);direction:ltr;text-align:right}
.article-card h2,.article-card h3{font-size:21px;line-height:1.65;margin:8px 0 8px;font-weight:600}
.article-card p{color:var(--muted);font-size:13px;line-height:1.95;margin:0 0 18px}
.article-card-body>span{font-size:12px;margin-top:auto;border-bottom:1px solid transparent;width:max-content}
.article-card:hover .article-card-body>span{border-color:currentColor}

.news-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.news-cards-page{grid-template-columns:repeat(2,minmax(0,1fr))}
.news-card{
    display:block;padding:25px;border:1px solid var(--line);border-radius:16px;
    background:rgba(255,255,255,.18);transition:.25s;min-height:210px
}
.news-card:hover{transform:translateY(-3px);background:rgba(255,255,255,.42);border-color:#c7b49f}
.news-card time{font-size:11px;color:var(--accent);direction:ltr;display:block;text-align:right}
.news-card h2,.news-card h3{font-size:21px;line-height:1.65;margin:11px 0 8px}
.news-card p{font-size:13px;color:var(--muted);line-height:2;margin:0 0 18px}
.news-card>span{font-size:12px;border-bottom:1px solid currentColor;padding-bottom:3px}

.news-modal[hidden]{display:none}
.news-modal{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px}
.news-modal-backdrop{position:absolute;inset:0;background:rgba(20,14,11,.72);backdrop-filter:blur(6px)}
.news-modal-dialog{
    position:relative;z-index:1;width:min(760px,100%);max-height:min(84vh,860px);overflow:auto;
    background:var(--paper);border-radius:24px;padding:38px;box-shadow:0 30px 100px rgba(0,0,0,.25)
}
.news-modal-close{
    position:sticky;top:0;float:left;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
    background:var(--paper);color:var(--ink);font-size:27px;line-height:1;cursor:pointer;z-index:3
}
.news-modal-article>img{width:100%;max-height:390px;object-fit:cover;border-radius:14px;margin-bottom:24px}
.news-modal-article time{font-size:11px;color:var(--accent);direction:ltr;display:block;text-align:right}
.news-modal-article h2{font-size:clamp(28px,4vw,46px);line-height:1.5;margin:10px 0 12px}
.news-modal-lead{font-size:17px;color:#5c514a;line-height:2;margin-bottom:24px}

.resume-hero{
    display:grid;grid-template-columns:minmax(350px,.85fr) minmax(0,1.25fr);
    gap:90px;align-items:start;padding-top:75px
}
.resume-intro-card{position:sticky;top:28px;padding:16px 0 40px}
.resume-intro-card>h1{font-size:clamp(40px,5vw,70px);font-weight:500;line-height:1.45;margin:0 0 32px}
.resume-intro-card>h2{font-size:clamp(30px,4vw,52px);font-weight:600;line-height:1.7;margin:0 0 26px}
.resume-intro-card>p{color:var(--muted);font-size:15px;line-height:2.1;max-width:560px}
.resume-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}
.resume-tags span{font-size:11px;padding:7px 13px;border:1px solid var(--line);border-radius:3px;background:rgba(255,255,255,.16)}
.resume-download{display:block;width:100%;text-align:center;border:1px solid var(--ink);padding:10px 16px;border-radius:4px;margin-top:34px}
.resume-download:hover{background:var(--ink);color:#fff}
.resume-timeline{position:relative;padding:20px 0 20px}
.resume-timeline:before{content:"";position:absolute;right:91px;top:25px;bottom:20px;width:1px;background:var(--line)}
.resume-timeline-item{
    position:relative;display:grid;grid-template-columns:78px 28px 1fr;gap:0 18px;
    padding:0 0 44px;min-height:120px
}
.resume-year{font-size:23px;color:var(--accent);text-align:left;padding-top:2px;direction:rtl}
.resume-year small{display:block;font-size:10px;color:var(--muted);margin-top:5px}
.resume-dot{width:14px;height:14px;border:2px solid var(--accent);border-radius:50%;background:var(--bg);margin-top:8px;z-index:1}
.resume-event small{font-size:10px;color:var(--accent)}
.resume-event h3{font-size:21px;margin:5px 0 3px;line-height:1.7}
.resume-event strong{display:block;font-size:12px;color:#685b53;font-weight:500}
.resume-event p{font-size:13px;color:var(--muted);line-height:2;margin:7px 0 0;max-width:620px}

@media(max-width:1050px){
    .home-articles{grid-template-columns:repeat(2,minmax(0,1fr))}
    .articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
    .resume-hero{grid-template-columns:1fr 1.2fr;gap:45px}
}
@media(max-width:900px){
    .home-intro{grid-template-columns:1fr;gap:12px}
    .home-intro .text-link{margin-top:0}
    .news-cards,.news-cards-page{grid-template-columns:1fr 1fr}
    .resume-hero{grid-template-columns:1fr;gap:30px;padding-top:55px}
    .resume-intro-card{position:static}
}
@media(max-width:620px){
    .brand-copy{min-width:0}.brand-name.nastaliq{font-size:21px!important}
    .home-articles,.articles-grid,.news-cards,.news-cards-page{grid-template-columns:1fr}
    .news-modal{padding:10px}.news-modal-dialog{padding:24px 18px;border-radius:17px}
    .resume-timeline:before{right:74px}
    .resume-timeline-item{grid-template-columns:62px 24px 1fr;gap:0 12px}
    .resume-year{font-size:18px}
}


/* ===== v10: hard typography fix + true Nastaliq brand + compact single-line resume ===== */
:root{
    --font-ui:"Vazirmatn","Vazirmatn FD",Tahoma,"Segoe UI",sans-serif;
    --font-calligraphy:"Noto Nastaliq Urdu","IranNastaliq",serif;
}

html body,
html body button,
html body input,
html body textarea,
html body select{
    font-family:var(--font-ui)!important;
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .hero h1,
html body .page-title h1,
html body .page-heading h1,
html body .contact-info h1,
html body .article-page h1,
html body .home-intro h2,
html body .section-head h2,
html body .resume-summary-v10 h1,
html body .resume-summary-v10 h2,
html body .resume-content-v10 h3{
    font-family:var(--font-ui)!important;
    font-style:normal!important;
    font-synthesis:none;
    letter-spacing:0!important;
}

html body .brand-name.nastaliq{
    font-family:var(--font-calligraphy)!important;
    font-size:31px!important;
    font-weight:500!important;
    line-height:1.95!important;
    letter-spacing:0!important;
    white-space:nowrap;
    transform:translateY(1px);
}
html body .brand-name:not(.nastaliq){
    font-family:var(--font-ui)!important;
}

.resume-page-v10{
    display:grid;
    grid-template-columns:minmax(340px,.86fr) minmax(520px,1.14fr);
    gap:84px;
    align-items:start;
    padding-top:78px;
}
.resume-summary-v10{
    position:sticky;
    top:28px;
    padding:6px 0 40px;
}
.resume-summary-v10>h1{
    font-size:clamp(42px,5.1vw,72px);
    line-height:1.35;
    font-weight:500;
    margin:0 0 26px;
}
.resume-summary-v10>h2{
    font-size:clamp(30px,3.7vw,50px);
    line-height:1.55;
    font-weight:650;
    margin:0 0 22px;
}
.resume-summary-v10>p{
    max-width:560px;
    color:var(--muted);
    font-size:15px;
    line-height:2.15;
}
.resume-line-v10{
    position:relative;
    padding:14px 0 18px;
}
.resume-line-v10::before{
    content:"";
    position:absolute;
    top:20px;
    bottom:22px;
    right:102px;
    width:1px;
    background:linear-gradient(to bottom,transparent 0,var(--line) 3%,var(--line) 97%,transparent 100%);
}
.resume-entry-v10{
    position:relative;
    min-height:118px;
    padding:0 138px 42px 0;
}
.resume-date-v10{
    position:absolute;
    right:0;
    top:-3px;
    width:83px;
    text-align:left;
    color:var(--accent);
    font-family:var(--font-ui)!important;
    line-height:1.2;
}
.resume-date-v10 span{
    display:block;
    font-size:25px;
    font-weight:500;
}
.resume-date-v10 small{
    display:block;
    margin-top:5px;
    color:var(--muted);
    font-size:10px;
    font-weight:400;
}
.resume-node-v10{
    position:absolute;
    right:95px;
    top:7px;
    width:15px;
    height:15px;
    border:2px solid var(--accent);
    border-radius:50%;
    background:var(--bg);
    z-index:2;
}
.resume-content-v10{
    margin:0;
    padding:0;
}
.resume-content-v10>small{
    display:block;
    color:var(--accent);
    font-size:10px;
    margin:0 0 2px;
}
.resume-content-v10>h3{
    margin:0 0 3px;
    font-size:22px;
    line-height:1.6;
    font-weight:650;
}
.resume-content-v10>strong{
    display:block;
    color:#665950;
    font-size:12px;
    font-weight:500;
    margin:0;
}
.resume-content-v10>p{
    max-width:620px;
    color:var(--muted);
    font-size:13px;
    line-height:1.95;
    margin:7px 0 0;
}

@media(max-width:900px){
    .resume-page-v10{
        grid-template-columns:1fr;
        gap:34px;
        padding-top:55px;
    }
    .resume-summary-v10{position:static}
}
@media(max-width:620px){
    html body .brand-name.nastaliq{
        font-size:25px!important;
        line-height:1.8!important;
    }
    .resume-line-v10::before{right:72px}
    .resume-entry-v10{
        min-height:108px;
        padding-right:101px;
        padding-bottom:34px;
    }
    .resume-date-v10{
        width:57px;
        top:0;
    }
    .resume-date-v10 span{font-size:18px}
    .resume-node-v10{
        right:65px;
        top:7px;
        width:15px;
        height:15px;
    }
    .resume-content-v10>h3{font-size:18px}
}

/* ===== v11 recovery: never hide actual page content when JS/assets fail ===== */
.reveal,
.reveal.visible{
    opacity:1!important;
    transform:none!important;
    visibility:visible!important;
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6{
    font-family:"Vazirmatn",Tahoma,"Segoe UI",sans-serif!important;
    font-style:normal!important;
    font-synthesis:none!important;
}
html body .brand-name.nastaliq{
    font-family:"Noto Nastaliq Urdu","IranNastaliq",serif!important;
    font-weight:500!important;
}


/* ===== v12: all H1/H2/H3 Nastaliq + image-only home ===== */
:root{
    --font-calligraphy:"Noto Nastaliq Urdu","IranNastaliq",serif;
}

html body h1,
html body h2,
html body h3,
html body .hero h1,
html body .page-title h1,
html body .page-heading h1,
html body .contact-info h1,
html body .article-page h1,
html body .home-intro h2,
html body .section-head h2,
html body .article-card h2,
html body .article-card h3,
html body .news-card h2,
html body .news-card h3,
html body .news-modal-article h2,
html body .resume-summary-v10 h1,
html body .resume-summary-v10 h2,
html body .resume-content-v10 h3,
html body .resume-event h3,
html body .resume-entry-v10 h3{
    font-family:var(--font-calligraphy)!important;
    font-style:normal!important;
    font-synthesis:none!important;
    font-weight:500!important;
    line-height:1.95!important;
    letter-spacing:0!important;
}

html body.home-image-only-body{
    margin:0!important;
    padding:0!important;
    width:100%;
    min-height:100vh;
    min-height:100svh;
    background:#0c0a09;
    overflow:hidden;
}
.home-image-only-main{
    width:100vw;
    height:100vh;
    height:100svh;
    margin:0!important;
    padding:0!important;
    overflow:hidden;
}
.home-image-only{
    display:block;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    line-height:0;
    cursor:pointer;
    background:#0c0a09;
}
.home-image-only img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    margin:0;
    padding:0;
    border:0;
}
@media (max-width:700px){
    .home-image-only img{object-position:center center}
}

/* ===== v12.1: home uses the normal site layout and contains only one image ===== */
html body{
    overflow-x:hidden;
}
.home-single-image{
    margin-top:24px;
    margin-bottom:90px;
}
.home-single-image-frame{
    width:100%;
    overflow:hidden;
    background:#e5d9ca;
    border-radius:2px 2px 28px 2px;
}
.home-single-image-frame img{
    display:block;
    width:100%;
    height:auto;
    max-height:720px;
    object-fit:cover;
    object-position:center;
}
/* Neutralize the old v12 full-screen home rules if browser cache keeps selectors around. */
body.home-image-only-body{
    min-height:0!important;
    background:var(--bg)!important;
    overflow:auto!important;
}
.home-image-only-main{
    width:auto!important;
    height:auto!important;
    overflow:visible!important;
}
@media(max-width:700px){
    .home-single-image{margin-top:10px;margin-bottom:55px;padding-left:16px;padding-right:16px}
    .home-single-image-frame{border-radius:2px 2px 18px 2px}
    .home-single-image-frame img{max-height:none;aspect-ratio:4/5;object-fit:cover}
}

/* ===== v13: cinematic dark theme + borderless blended home portrait ===== */
:root{
    --bg:#070707;
    --paper:#101010;
    --ink:#f1ece4;
    --muted:#aaa39a;
    --line:#2c2722;
    --accent:#b8925f;
    --dark:#030303;
}

html,body{background:var(--bg)!important;color:var(--ink)!important}
body{background-image:radial-gradient(circle at 70% 10%,rgba(184,146,95,.035),transparent 32%)!important}
.site-header{background:transparent!important}
.brand-logo,.brand-mark{border-color:rgba(184,146,95,.75)!important}
.brand-logo-empty:before,.brand-logo-empty:after{border-color:var(--accent)!important}
.brand-logo-empty:after{background:var(--accent)!important}
.brand small,.site-footer,.site-footer span,.page-title p,.page-heading>p:last-child,
.hero-copy>p:not(.eyebrow),.prose,.article-lead,.gallery-item figcaption,
.timeline-item strong,.timeline-item p,.contact-info>p,.contact-info dt,
.article-page time,.empty-state,.news-card p,.article-card p,.resume-summary-v10>p,
.resume-content-v10>p,.resume-content-v10>strong{color:var(--muted)!important}
.main-nav a{color:#c9c2b9!important}
.main-nav a:hover,.main-nav a.active{color:#fff!important}
.main-nav a:after{background:var(--accent)!important}
.menu-toggle span{background:#e8e1d8!important}

.site-footer{border-color:var(--line)!important}
.site-footer strong{color:var(--ink)!important}
.rzweb-credit{color:var(--accent)!important}

.contact-form,.news-modal-dialog{background:#101010!important;color:var(--ink)!important}
.contact-form input,.contact-form textarea{color:var(--ink)!important;border-color:var(--line)!important}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)!important}
.button{background:var(--accent)!important;border-color:var(--accent)!important;color:#090909!important}

.article-card,.news-card{background:rgba(255,255,255,.025)!important;border-color:var(--line)!important}
.article-card:hover,.news-card:hover{background:rgba(255,255,255,.045)!important;border-color:rgba(184,146,95,.55)!important}
.article-card-placeholder{background:#111!important;color:var(--muted)!important}
.article-card-image,.photo-card,.gallery-item img,.video-thumb{background:#0c0c0c!important}
.dark-panel{background:#0c0b0a!important}
.news-modal-backdrop{background:rgba(0,0,0,.86)!important}
.news-modal-close{background:#101010!important;color:var(--ink)!important;border-color:var(--line)!important}
.resume-node-v10,.resume-dot{background:var(--bg)!important}
.resume-tags span{background:rgba(255,255,255,.02)!important;border-color:var(--line)!important}
.resume-download{border-color:var(--accent)!important;color:var(--ink)!important}
.resume-download:hover{background:var(--accent)!important;color:#090909!important}

/* Home: no frame, no card, no cover crop. The portrait dissolves into the site background. */
.home-portrait{
    margin-top:8px!important;
    margin-bottom:64px!important;
    min-height:calc(100vh - 190px);
    display:flex;
    align-items:center;
    justify-content:center;
}
.home-portrait-stage{
    position:relative;
    width:100%;
    min-height:72vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:transparent!important;
    overflow:visible!important;
    border:0!important;
    border-radius:0!important;
}
.home-portrait-stage::before{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(to right,var(--bg) 0%,transparent 16%,transparent 84%,var(--bg) 100%),
        linear-gradient(to bottom,var(--bg) 0%,transparent 12%,transparent 88%,var(--bg) 100%);
    z-index:2;
}
.home-portrait-stage img{
    display:block;
    width:auto!important;
    max-width:100%!important;
    height:min(78vh,900px)!important;
    object-fit:contain!important;
    object-position:center center!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    -webkit-mask-image:radial-gradient(ellipse 72% 88% at 50% 50%,#000 58%,rgba(0,0,0,.94) 72%,transparent 100%);
    mask-image:radial-gradient(ellipse 72% 88% at 50% 50%,#000 58%,rgba(0,0,0,.94) 72%,transparent 100%);
}

@media(max-width:900px){
    .main-nav{background:rgba(7,7,7,.985)!important;border-color:var(--line)!important}
    .home-portrait{min-height:auto;margin-top:0!important;margin-bottom:42px!important;padding-left:14px!important;padding-right:14px!important}
    .home-portrait-stage{min-height:auto}
    .home-portrait-stage img{height:auto!important;max-height:76vh!important;width:100%!important;object-fit:contain!important}
}


/* ===== v14: aligned thumbnails + full lightbox + autoplay slideshow ===== */
.gallery-heading-v14{
    padding-bottom:42px!important;
}
.gallery-grid-v14{
    max-width:var(--max);
    margin:0 auto 72px;
    padding:0 28px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px;
}
.gallery-card-v14{
    margin:0;
    min-width:0;
}
.gallery-thumb-v14{
    position:relative;
    display:block;
    width:100%;
    aspect-ratio:4/3;
    padding:0;
    overflow:hidden;
    border:1px solid rgba(184,146,95,.34);
    border-radius:2px;
    background:#0a0a0a;
    cursor:zoom-in;
    appearance:none;
    box-shadow:0 12px 40px rgba(0,0,0,.18);
    transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease;
}
.gallery-thumb-v14::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:linear-gradient(to top,rgba(0,0,0,.72),transparent 40%);
    opacity:.35;
    transition:opacity .25s ease;
}
.gallery-thumb-v14:hover,
.gallery-thumb-v14:focus-visible{
    outline:none;
    border-color:rgba(184,146,95,.9);
    transform:translateY(-3px);
    box-shadow:0 18px 52px rgba(0,0,0,.34);
}
.gallery-thumb-v14:hover::after,
.gallery-thumb-v14:focus-visible::after{opacity:.72}
.gallery-thumb-v14 img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
    background:#0a0a0a!important;
    transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .25s ease;
}
.gallery-thumb-v14:hover img,
.gallery-thumb-v14:focus-visible img{
    transform:scale(1.035);
    filter:brightness(.9);
}
.gallery-thumb-caption-v14{
    position:absolute;
    z-index:3;
    right:15px;
    bottom:12px;
    left:48px;
    color:#f4eee6;
    font-family:"Vazirmatn",Tahoma,sans-serif;
    font-size:12px;
    line-height:1.8;
    text-align:right;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.gallery-zoom-v14{
    position:absolute;
    z-index:4;
    left:12px;
    bottom:11px;
    display:grid;
    place-items:center;
    width:29px;
    height:29px;
    border-radius:50%;
    border:1px solid rgba(255,255,255,.42);
    color:#fff;
    background:rgba(0,0,0,.28);
    font-size:17px;
    line-height:1;
    opacity:0;
    transform:scale(.86);
    transition:.25s ease;
}
.gallery-thumb-v14:hover .gallery-zoom-v14,
.gallery-thumb-v14:focus-visible .gallery-zoom-v14{
    opacity:1;
    transform:scale(1);
}

/* Lightbox */
body.gallery-open-v14{overflow:hidden!important}
.gallery-lightbox-v14{
    position:fixed;
    inset:0;
    z-index:9999;
    opacity:0;
    visibility:hidden;
    transition:opacity .18s ease,visibility .18s ease;
}
.gallery-lightbox-v14[hidden]{display:none!important}
.gallery-lightbox-v14.is-open{
    opacity:1;
    visibility:visible;
}
.gallery-lightbox-backdrop-v14{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.94);
    backdrop-filter:blur(9px);
    -webkit-backdrop-filter:blur(9px);
}
.gallery-lightbox-dialog-v14{
    position:absolute;
    inset:0;
    display:grid;
    grid-template-columns:72px minmax(0,1fr) 72px;
    grid-template-rows:68px minmax(0,1fr) 76px;
    align-items:center;
    padding:10px 18px 14px;
    direction:ltr;
}
.gallery-lightbox-topbar-v14{
    grid-column:1/-1;
    grid-row:1;
    display:grid;
    grid-template-columns:1fr auto 1fr;
    align-items:center;
    gap:14px;
    width:100%;
    max-width:1500px;
    margin:0 auto;
    direction:rtl;
}
.gallery-control-v14,
.gallery-slideshow-v14,
.gallery-nav-v14{
    border:1px solid rgba(184,146,95,.35);
    color:#f2ece4;
    background:rgba(15,15,15,.78);
    backdrop-filter:blur(8px);
    cursor:pointer;
    transition:.2s ease;
}
.gallery-control-v14:hover,
.gallery-slideshow-v14:hover,
.gallery-nav-v14:hover{
    color:#090909;
    background:var(--accent);
    border-color:var(--accent);
}
.gallery-close-v14{
    justify-self:start;
    width:42px;
    height:42px;
    border-radius:50%;
    font-size:30px;
    line-height:1;
}
.gallery-slideshow-v14{
    justify-self:center;
    min-width:128px;
    min-height:40px;
    border-radius:999px;
    padding:7px 16px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    font-family:"Vazirmatn",Tahoma,sans-serif;
    font-size:12px;
}
.gallery-counter-v14{
    justify-self:end;
    color:#b9b0a5;
    font-family:"Vazirmatn",Tahoma,sans-serif;
    font-size:12px;
    direction:rtl;
}
.gallery-nav-v14{
    grid-row:2;
    align-self:center;
    width:50px;
    height:74px;
    border-radius:999px;
    font-size:46px;
    line-height:1;
    z-index:3;
}
.gallery-prev-v14{grid-column:1;justify-self:center}
.gallery-next-v14{grid-column:3;justify-self:center}
.gallery-image-stage-v14{
    position:relative;
    grid-column:2;
    grid-row:2;
    width:100%;
    height:100%;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
}
.gallery-image-stage-v14 img{
    display:block;
    max-width:100%;
    max-height:100%;
    width:auto;
    height:auto;
    object-fit:contain;
    border:1px solid rgba(184,146,95,.38);
    box-shadow:0 26px 90px rgba(0,0,0,.6);
    opacity:1;
    transform:scale(1);
    transition:opacity .16s ease,transform .16s ease;
}
.gallery-image-stage-v14 img.is-changing{
    opacity:.18;
    transform:scale(.994);
}
.gallery-loading-v14{
    position:absolute;
    width:34px;
    height:34px;
    border-radius:50%;
    border:2px solid rgba(184,146,95,.22);
    border-top-color:var(--accent);
    opacity:0;
    pointer-events:none;
}
.gallery-loading-v14.is-visible{
    opacity:1;
    animation:gallerySpinV14 .75s linear infinite;
}
.gallery-lightbox-footer-v14{
    grid-column:1/-1;
    grid-row:3;
    align-self:end;
    width:min(760px,80vw);
    margin:0 auto;
    text-align:center;
    direction:rtl;
}
.gallery-lightbox-footer-v14 p{
    min-height:24px;
    margin:0 0 10px;
    color:#c6bdb2;
    font-family:"Vazirmatn",Tahoma,sans-serif;
    font-size:12px;
}
.gallery-progress-v14{
    width:100%;
    height:2px;
    background:rgba(255,255,255,.08);
    overflow:hidden;
}
.gallery-progress-v14 span{
    display:block;
    width:0;
    height:100%;
    background:var(--accent);
    transform-origin:right center;
}
@keyframes galleryProgressV14{from{width:0}to{width:100%}}
@keyframes gallerySpinV14{to{transform:rotate(360deg)}}

@media(max-width:900px){
    .gallery-grid-v14{
        grid-template-columns:repeat(2,minmax(0,1fr));
        padding:0 18px;
        gap:13px;
    }
    .gallery-lightbox-dialog-v14{
        grid-template-columns:48px minmax(0,1fr) 48px;
        grid-template-rows:62px minmax(0,1fr) 70px;
        padding:7px 8px 12px;
    }
    .gallery-nav-v14{
        width:40px;
        height:62px;
        font-size:38px;
    }
    .gallery-slideshow-v14{min-width:auto;padding:7px 12px}
}
@media(max-width:560px){
    .gallery-grid-v14{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        padding:0 12px;
        margin-bottom:54px;
    }
    .gallery-thumb-v14{aspect-ratio:1/1}
    .gallery-thumb-caption-v14{display:none}
    .gallery-zoom-v14{display:none}
    .gallery-lightbox-dialog-v14{
        grid-template-columns:1fr;
        grid-template-rows:58px minmax(0,1fr) 68px;
        padding:6px 10px 12px;
    }
    .gallery-image-stage-v14{
        grid-column:1;
        grid-row:2;
        padding:0 3px;
    }
    .gallery-nav-v14{
        position:absolute;
        top:50%;
        transform:translateY(-50%);
        width:42px;
        height:58px;
        z-index:6;
        background:rgba(0,0,0,.62);
    }
    .gallery-prev-v14{left:8px}
    .gallery-next-v14{right:8px}
    .gallery-lightbox-topbar-v14{grid-column:1;grid-row:1}
    .gallery-lightbox-footer-v14{grid-column:1;grid-row:3;width:92vw}
    .gallery-counter-v14{font-size:11px}
    .gallery-slideshow-v14 span:last-child{display:none}
    .gallery-slideshow-v14{min-width:42px;width:42px;height:42px;padding:0;border-radius:50%}
}
@media(prefers-reduced-motion:reduce){
    .gallery-thumb-v14,
    .gallery-thumb-v14 img,
    .gallery-lightbox-v14,
    .gallery-image-stage-v14 img{transition:none!important}
}


/* ===== v15: softer rounded thumbnails + matte effect + brighter hover ===== */
.gallery-grid-v14{gap:20px}
.gallery-thumb-v14{
    border-radius:18px;
    border:1px solid rgba(184,146,95,.24);
    background:#0b0b0b;
    box-shadow:0 14px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
}
.gallery-thumb-v14::after{
    background:linear-gradient(to top,rgba(0,0,0,.78),rgba(0,0,0,.18) 38%,transparent 72%);
    opacity:.55;
}
.gallery-thumb-v14 img{
    filter:saturate(.82) brightness(.82) contrast(.94) grayscale(.06);
}
.gallery-thumb-v14:hover,
.gallery-thumb-v14:focus-visible{
    border-color:rgba(184,146,95,.65);
    box-shadow:0 22px 60px rgba(0,0,0,.38), 0 0 0 1px rgba(184,146,95,.14);
}
.gallery-thumb-v14:hover img,
.gallery-thumb-v14:focus-visible img{
    transform:scale(1.04);
    filter:saturate(1) brightness(1.08) contrast(1.02) grayscale(0);
}
.gallery-thumb-caption-v14{bottom:14px;right:16px}
.gallery-zoom-v14{
    left:14px;
    bottom:14px;
    background:rgba(10,10,10,.48);
}
@media(max-width:560px){
    .gallery-thumb-v14{border-radius:14px}
}


/* ===== v16: about page cleanup + editable about image ===== */
.about-v16-shell{align-items:center;gap:90px;padding-top:54px;padding-bottom:56px}
.about-v16-image{height:auto;min-height:0;max-width:460px;justify-self:start;border-radius:20px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.about-v16-image img{display:block;width:100%;height:auto;object-fit:cover}
.about-v16-copy{max-width:520px}
.about-v16-copy .eyebrow{margin-bottom:18px;color:var(--accent)}
.about-v16-copy h1{margin:0 0 14px}
.about-v16-copy p:last-child{margin:0;color:var(--muted)}
.about-v16-bio-wrap{max-width:980px;margin:0 auto 110px}
.about-v16-bio-card{max-width:760px;margin:0 auto;color:#bfb8b0;line-height:2.25;text-align:justify;direction:rtl;font-size:16px}
.about-v16-bio-card::first-letter{all:unset}
.about-v16-bio-card br{content:""}
@media(max-width:900px){
  .about-v16-shell{gap:26px;padding-top:28px;padding-bottom:34px}
  .about-v16-image{max-width:none;width:100%}
  .about-v16-copy{text-align:center;max-width:none}
  .about-v16-bio-wrap{margin-bottom:80px}
}


/* ===== v17 layout stability + AJAX music-note transition ===== */
html,body{width:100%;min-width:0;overflow-x:hidden}
body{min-height:100vh}
#ajax-page{width:100%;min-width:0;position:relative;transition:opacity .18s ease,transform .18s ease}
#ajax-page.ajax-leaving{opacity:.08;transform:translateY(7px)}
#ajax-page.ajax-entering{animation:ajaxPageInV17 .42s cubic-bezier(.2,.75,.2,1) both}
.site-header,.site-footer{width:min(calc(100% - 40px),var(--max));max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.page-hero,.page-heading,.contact-layout,.article-page,.section-shell{width:min(calc(100% - 40px),var(--max));max-width:var(--max);margin-left:auto!important;margin-right:auto!important}
.content-narrow{width:min(calc(100% - 40px),900px);margin-left:auto!important;margin-right:auto!important}
.about-v16-shell{grid-template-columns:minmax(0,1.1fr) minmax(340px,.72fr)!important;direction:rtl}
.about-v16-copy{grid-column:1;text-align:right;justify-self:stretch}
.about-v16-image{grid-column:2;justify-self:end!important;width:100%;max-width:440px!important}
.about-v16-bio-wrap{width:min(calc(100% - 40px),980px)!important;overflow:visible!important}
.about-v16-bio-card{width:100%;max-width:820px!important;margin-inline:auto!important;text-align:justify!important;direction:rtl!important;unicode-bidi:plaintext;overflow-wrap:anywhere;word-break:normal;white-space:normal}
.about-v16-bio-card *{max-width:100%}
.rich-content-v17{font-family:Vazirmatn,Tahoma,sans-serif;line-height:2.2;color:var(--muted);overflow-wrap:anywhere}
.rich-content-v17 p{margin:.35em 0 1em}.rich-content-v17 h1,.rich-content-v17 h2,.rich-content-v17 h3{margin:1.1em 0 .5em;color:var(--ink)}
.rich-content-v17 ul,.rich-content-v17 ol{padding-right:1.4em;margin:.7em 0 1.1em}.rich-content-v17 blockquote{border-right:3px solid var(--accent);margin:1.2em 0;padding:.5em 1.1em;color:var(--muted)}
.rich-content-v17 a{text-decoration:underline;text-underline-offset:3px;color:var(--accent)}
.rich-content-v17 [style*="text-align: left"]{direction:ltr}.rich-content-v17 [dir="ltr"]{direction:ltr}.rich-content-v17 [dir="rtl"]{direction:rtl}

.ajax-note-transition{position:fixed;inset:0;z-index:10050;pointer-events:none;display:grid;place-items:center;background:rgba(4,4,4,.2);opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;backdrop-filter:blur(1px)}
.ajax-note-transition.is-active{opacity:1;visibility:visible}
.ajax-note-stage{position:relative;width:min(720px,78vw);height:116px;overflow:hidden;opacity:0;transform:scaleX(.94);transition:.18s ease}
.ajax-note-transition.is-active .ajax-note-stage{opacity:1;transform:none}
.ajax-staff-lines{position:absolute;inset:27px 0 auto 0;height:56px;display:grid;align-content:space-between}
.ajax-staff-lines i{display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(193,151,91,.65) 12%,rgba(193,151,91,.65) 88%,transparent)}
.ajax-note{position:absolute;right:-80px;color:#d1a365;text-shadow:0 0 18px rgba(209,163,101,.28);font-family:serif;font-size:31px;line-height:1;animation:noteTravelV17 .82s cubic-bezier(.18,.72,.26,1) both}
.ajax-note.n1{top:18px;animation-delay:.00s}.ajax-note.n2{top:35px;animation-delay:.07s}.ajax-note.n3{top:52px;animation-delay:.13s}.ajax-note.n4{top:67px;animation-delay:.20s}.ajax-note.n5{top:29px;animation-delay:.27s}
@keyframes noteTravelV17{0%{right:-70px;opacity:0;transform:translateY(5px) scale(.86)}12%{opacity:1}88%{opacity:1}100%{right:calc(100% + 70px);opacity:0;transform:translateY(-4px) scale(1.06)}}
@keyframes ajaxPageInV17{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@media(max-width:900px){.about-v16-shell{grid-template-columns:1fr!important}.about-v16-copy,.about-v16-image{grid-column:1}.about-v16-image{justify-self:center!important;max-width:520px!important}.site-header,.site-footer,.page-hero,.page-heading,.contact-layout,.article-page,.section-shell,.content-narrow{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){#ajax-page,.ajax-note-stage,.ajax-note{transition:none!important;animation:none!important}.ajax-note-transition.is-active .ajax-note-stage:after{content:"♪";position:absolute;inset:0;display:grid;place-items:center;color:var(--accent);font-size:32px}}


/* ===== v17.8 FINAL: compact video thumbnails + real AJAX-safe popup ===== */
.video-heading-v178{padding-bottom:38px!important}
.video-thumb-grid-v178{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
    align-items:start!important;
    margin-bottom:86px!important;
}
.video-thumb-only-v178{
    position:relative!important;
    display:block!important;
    width:100%!important;
    aspect-ratio:16/9!important;
    min-width:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid rgba(184,146,95,.22)!important;
    border-radius:18px!important;
    background:#080808!important;
    color:inherit!important;
    cursor:pointer!important;
    appearance:none!important;
    box-shadow:0 13px 34px rgba(0,0,0,.24)!important;
    transition:transform .26s ease,border-color .26s ease,box-shadow .26s ease!important;
}
.video-thumb-only-v178.is-disabled{cursor:default!important;opacity:.6!important}
.video-thumb-only-v178 img,
.video-thumb-only-v178 video{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    filter:brightness(.72) saturate(.88)!important;
    transition:transform .36s ease,filter .36s ease!important;
}
.video-empty-thumb-v178{position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(184,146,95,.14),transparent 35%),#090909}
.video-thumb-shade-v178{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.48),rgba(0,0,0,.08) 52%,transparent);pointer-events:none}
.video-thumb-play-v178{
    position:absolute!important;
    inset:0!important;
    margin:auto!important;
    width:52px!important;
    height:52px!important;
    display:grid!important;
    place-items:center!important;
    border:1px solid rgba(255,255,255,.75)!important;
    border-radius:50%!important;
    background:rgba(0,0,0,.32)!important;
    color:#fff!important;
    font:600 15px/1 Arial,sans-serif!important;
    padding-left:3px!important;
    z-index:3!important;
    transition:transform .26s ease,background .26s ease!important;
}
.video-thumb-only-v178:not(.is-disabled):hover,
.video-thumb-only-v178:not(.is-disabled):focus-visible{transform:translateY(-3px)!important;border-color:rgba(184,146,95,.65)!important;box-shadow:0 18px 48px rgba(0,0,0,.36)!important;outline:none!important}
.video-thumb-only-v178:not(.is-disabled):hover img,
.video-thumb-only-v178:not(.is-disabled):hover video,
.video-thumb-only-v178:not(.is-disabled):focus-visible img,
.video-thumb-only-v178:not(.is-disabled):focus-visible video{transform:scale(1.04)!important;filter:brightness(.98) saturate(1)!important}
.video-thumb-only-v178:not(.is-disabled):hover .video-thumb-play-v178,
.video-thumb-only-v178:not(.is-disabled):focus-visible .video-thumb-play-v178{transform:scale(1.08)!important;background:rgba(184,146,95,.34)!important}

body.video-popup-open-v178{overflow:hidden!important}
.video-popup-v178[hidden]{display:none!important}
.video-popup-v178{
    position:fixed!important;
    inset:0!important;
    z-index:12000!important;
    display:grid!important;
    place-items:center!important;
    padding:22px!important;
    opacity:0!important;
    visibility:hidden!important;
    transition:opacity .18s ease,visibility .18s ease!important;
}
.video-popup-v178.is-open{opacity:1!important;visibility:visible!important}
.video-popup-backdrop-v178{position:absolute!important;inset:0!important;background:rgba(0,0,0,.91)!important;backdrop-filter:blur(9px)!important;-webkit-backdrop-filter:blur(9px)!important}
.video-popup-dialog-v178{
    position:relative!important;
    z-index:1!important;
    width:min(980px,94vw)!important;
    max-height:92vh!important;
    overflow:auto!important;
    background:#0e0e0e!important;
    border:1px solid rgba(184,146,95,.26)!important;
    border-radius:24px!important;
    padding:22px!important;
    box-shadow:0 34px 100px rgba(0,0,0,.62)!important;
}
.video-popup-close-v178{
    position:absolute!important;
    top:10px!important;
    left:12px!important;
    z-index:4!important;
    width:42px!important;
    height:42px!important;
    border-radius:50%!important;
    border:1px solid rgba(255,255,255,.22)!important;
    background:rgba(10,10,10,.86)!important;
    color:#fff!important;
    font:300 28px/1 Arial,sans-serif!important;
    cursor:pointer!important;
}
.video-popup-player-v178{width:100%!important;aspect-ratio:16/9!important;background:#000!important;border-radius:16px!important;overflow:hidden!important}
.video-popup-player-v178 video,.video-popup-player-v178 iframe{display:block!important;width:100%!important;height:100%!important;border:0!important;background:#000!important}
.video-popup-fallback-v178{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:30px;color:#fff;line-height:2}
.video-popup-info-v178{padding:16px 4px 2px!important;display:grid!important;gap:10px!important;text-align:right!important;direction:rtl!important}
.video-popup-info-v178 h2{margin:0!important;color:#fff!important;font-size:27px!important;line-height:1.8!important}
.video-popup-description-v178{color:#c9bdae!important;font-family:Vazirmatn,Tahoma,sans-serif!important;font-size:14px!important;line-height:2.15!important;white-space:pre-line!important}
.video-popup-link-v178{width:max-content!important;color:#e6c28e!important;border:1px solid rgba(184,146,95,.34)!important;border-radius:99px!important;padding:8px 15px!important}

@media(max-width:900px){.video-thumb-grid-v178{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.video-thumb-grid-v178{grid-template-columns:1fr!important;gap:12px!important}.video-thumb-only-v178{border-radius:14px!important}.video-popup-v178{padding:10px!important}.video-popup-dialog-v178{padding:14px!important;border-radius:17px!important}.video-popup-player-v178{border-radius:12px!important}.video-popup-info-v178 h2{font-size:22px!important}}

/* ===== v17.9 resume date sorting / month / media popup / Persian digits ===== */
.resume-date-v10{width:106px!important}
.resume-line-v10::before{right:124px!important}
.resume-entry-v10{padding-right:160px!important}
.resume-node-v10{right:117px!important}
.resume-date-v10 span{font-size:19px!important;line-height:1.7!important;white-space:nowrap}
.resume-date-v10 small{font-size:11px!important;line-height:1.7!important;white-space:nowrap}
.resume-title-link-v179{
    display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:inherit;padding:0;margin:0;cursor:pointer;text-align:right;
}
.resume-title-link-v179 h3{margin:0!important;font-size:22px;line-height:1.65}
.resume-title-link-v179>span{color:var(--accent);font-family:var(--font-ui);font-size:15px;transition:transform .2s ease}
.resume-title-link-v179:hover>span{transform:translate(-3px,-2px)}
.resume-view-media-v179{
    margin-top:12px;padding:7px 13px;border:1px solid rgba(184,146,95,.35);border-radius:999px;background:transparent;color:var(--accent);font-family:var(--font-ui);font-size:11px;cursor:pointer;
}
.resume-view-media-v179:hover{background:rgba(184,146,95,.12)}

body.resume-popup-open-v179{overflow:hidden!important}
.resume-popup-v179[hidden]{display:none!important}
.resume-popup-v179{position:fixed;inset:0;z-index:10110;display:grid;place-items:center;padding:22px;opacity:0;visibility:hidden;transition:.18s ease}
.resume-popup-v179.is-open{opacity:1;visibility:visible}
.resume-popup-backdrop-v179{position:absolute;inset:0;background:rgba(0,0,0,.9);backdrop-filter:blur(8px)}
.resume-popup-dialog-v179{position:relative;z-index:1;width:min(980px,94vw);max-height:92vh;overflow:auto;background:#0f0f0f;border:1px solid rgba(184,146,95,.26);border-radius:26px;padding:24px;box-shadow:0 30px 85px rgba(0,0,0,.5)}
.resume-popup-close-v179{position:absolute;left:12px;top:12px;z-index:3;width:42px;height:42px;border-radius:50%;border:1px solid rgba(184,146,95,.3);background:rgba(10,10,10,.88);color:#fff;font-size:28px;cursor:pointer}
.resume-popup-media-v179{width:100%;display:grid;place-items:center;background:#050505;border-radius:18px;overflow:hidden;min-height:220px}
.resume-popup-media-v179 img{display:block;max-width:100%;max-height:68vh;width:auto;height:auto;object-fit:contain}
.resume-popup-media-v179 video,.resume-popup-media-v179 iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
.resume-popup-copy-v179{padding-top:16px}
.resume-popup-copy-v179 h2{margin:0 0 9px;font-size:27px;line-height:1.7;color:#fff}
.resume-popup-copy-v179 p{margin:0;color:#c9bdaf;line-height:2.1;white-space:pre-line}
.resume-popup-copy-v179 a{display:inline-block;margin-top:13px;padding:8px 15px;border:1px solid rgba(184,146,95,.35);border-radius:999px;color:var(--accent)}

@media(max-width:620px){
 .resume-line-v10::before{right:82px!important}
 .resume-entry-v10{padding-right:114px!important}
 .resume-node-v10{right:75px!important}
 .resume-date-v10{width:68px!important}
 .resume-date-v10 span{font-size:14px!important;white-space:normal}
 .resume-date-v10 small{font-size:9px!important;white-space:normal}
 .resume-title-link-v179 h3{font-size:18px}
 .resume-popup-v179{padding:10px}
 .resume-popup-dialog-v179{padding:16px;border-radius:18px}
 .resume-popup-copy-v179 h2{font-size:21px}
}

/* ===== v17.10 About: portrait and artist name side by side on desktop ===== */
.about-v1710-hero{
    width:min(calc(100% - 56px),var(--max));
    max-width:var(--max);
    margin:42px auto 72px;
    display:grid;
    grid-template-columns:minmax(330px,460px) minmax(0,1fr);
    gap:clamp(54px,7vw,110px);
    align-items:center;
    direction:ltr;
}
.about-v1710-photo{
    width:100%;
    max-width:460px;
    justify-self:start;
    border-radius:26px;
    overflow:hidden;
    background:#080808;
    box-shadow:0 22px 58px rgba(0,0,0,.28);
}
.about-v1710-photo img{
    width:100%;
    height:auto;
    max-height:620px;
    display:block;
    object-fit:contain;
    background:#080808;
}
.about-v1710-intro{
    direction:rtl;
    text-align:right;
    min-width:0;
    max-width:690px;
    justify-self:end;
}
.about-v1710-intro .eyebrow{
    margin:0 0 15px;
    color:var(--accent);
}
.about-v1710-intro h1{
    margin:0;
    font-size:clamp(68px,7vw,118px);
    line-height:1.34;
    color:var(--ink);
}
.about-v1710-role{
    margin:6px 0 22px;
    color:var(--muted);
    font-size:15px;
}
.about-v1710-short{
    max-width:610px;
    color:var(--muted);
    font-size:16px;
    line-height:2.15;
    text-align:justify;
}
.about-v1710-short p:first-child{margin-top:0}
.about-v1710-short p:last-child{margin-bottom:0}
.about-v1710-biography{
    width:min(calc(100% - 56px),1000px);
    margin:0 auto 110px;
    padding-top:38px;
    border-top:1px solid var(--line);
}
.about-v1710-bio{
    width:100%;
    max-width:900px;
    margin-inline:auto;
    direction:rtl;
    text-align:justify;
    color:var(--muted);
    font-size:16px;
    line-height:2.3;
    overflow-wrap:normal;
    word-break:normal;
}
.about-v1710-bio p{margin:0 0 1.25em}
.about-v1710-bio br{display:block;content:"";margin-top:.35em}
.about-v1710-bio h2,.about-v1710-bio h3,.about-v1710-bio h4{
    margin:1.2em 0 .55em;
    color:var(--ink);
}
.about-v1710-bio ul,.about-v1710-bio ol{padding-right:1.5em;margin:1em 0}
.about-v1710-bio blockquote{margin:1.3em 0;border-right:2px solid var(--accent);padding:.3em 1em;color:var(--muted)}

@media(max-width:900px){
    .about-v1710-hero{
        width:calc(100% - 28px);
        grid-template-columns:1fr;
        gap:32px;
        margin-top:24px;
        direction:rtl;
    }
    .about-v1710-photo{
        max-width:560px;
        justify-self:center;
    }
    .about-v1710-intro{
        justify-self:stretch;
        max-width:none;
        text-align:center;
    }
    .about-v1710-intro h1{font-size:clamp(52px,13vw,82px)}
    .about-v1710-short{max-width:700px;margin-inline:auto;text-align:justify}
    .about-v1710-biography{width:calc(100% - 28px);margin-bottom:80px;padding-top:30px}
}

/* v17.14 - richer text rendering */
.rich-content-v17,.prose{overflow-wrap:anywhere}
.rich-content-v17 img,.prose img{display:block;max-width:100%;height:auto;margin:24px auto;border-radius:16px;background:#fff}
.rich-content-v17 figure,.prose figure{margin:28px auto;text-align:center}
.rich-content-v17 figcaption,.prose figcaption{margin-top:10px;font-size:12px;color:var(--muted)}
.rich-content-v17 table,.prose table{width:100%;border-collapse:collapse;margin:28px 0;background:rgba(255,255,255,.06)}
.rich-content-v17 th,.rich-content-v17 td,.prose th,.prose td{border:1px solid rgba(255,255,255,.12);padding:10px 12px}
.rich-content-v17 blockquote,.prose blockquote{margin:22px 0;padding:12px 18px;border-right:3px solid var(--accent);background:rgba(255,255,255,.04)}
.rich-content-v17 a,.prose a{text-decoration:underline;text-underline-offset:3px}

/* ===== v17.16 resume: fixed summary + independently scrolling focus timeline ===== */
@media (min-width: 901px){
    .resume-focus-layout-v16{
        width:min(calc(100% - 56px),var(--max));
        max-width:var(--max);
        min-height:calc(100vh - 132px);
        height:calc(100vh - 132px);
        display:grid!important;
        grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr)!important;
        gap:clamp(54px,7vw,110px)!important;
        align-items:stretch!important;
        padding-top:22px!important;
        margin-bottom:46px!important;
        overflow:hidden;
        direction:ltr;
    }
    .resume-summary-fixed-v16{
        grid-column:2;
        direction:rtl;
        position:relative!important;
        top:auto!important;
        align-self:center;
        justify-self:stretch;
        max-height:100%;
        overflow:auto;
        padding:18px 0 30px!important;
        scrollbar-width:none;
    }
    .resume-summary-fixed-v16::-webkit-scrollbar{display:none}
    .resume-scroll-v16{
        grid-column:1;
        direction:rtl;
        height:100%;
        min-height:0;
        overflow-y:auto;
        overflow-x:hidden;
        overscroll-behavior:contain;
        scroll-behavior:smooth;
        scroll-snap-type:y proximity;
        scrollbar-width:thin;
        scrollbar-color:rgba(184,146,95,.38) transparent;
        padding-top:clamp(180px,34vh,330px)!important;
        padding-bottom:clamp(180px,34vh,330px)!important;
        padding-left:22px!important;
        outline:none;
        mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%);
        -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 8%,#000 92%,transparent 100%);
    }
    .resume-scroll-v16::-webkit-scrollbar{width:6px}
    .resume-scroll-v16::-webkit-scrollbar-track{background:transparent}
    .resume-scroll-v16::-webkit-scrollbar-thumb{background:rgba(184,146,95,.32);border-radius:999px}
    .resume-scroll-v16::before{
        top:0!important;
        bottom:0!important;
        background:linear-gradient(to bottom,transparent 0,rgba(184,146,95,.14) 8%,rgba(184,146,95,.38) 50%,rgba(184,146,95,.14) 92%,transparent 100%)!important;
    }
    .resume-center-guide-v16{
        position:sticky;
        z-index:4;
        top:50%;
        right:117px;
        display:block;
        width:16px;
        height:16px;
        margin-top:-8px;
        margin-bottom:-8px;
        border-radius:50%;
        pointer-events:none;
        background:var(--bg);
        border:1px solid rgba(184,146,95,.8);
        box-shadow:0 0 0 7px rgba(184,146,95,.06),0 0 30px rgba(184,146,95,.22);
        opacity:.82;
    }
    .resume-focus-item-v16{
        --resume-focus:.15;
        scroll-snap-align:center;
        transform-origin:right center;
        transform:scale(calc(.80 + (var(--resume-focus) * .22)));
        opacity:calc(.38 + (var(--resume-focus) * .62));
        transition:transform .18s linear,opacity .18s linear,filter .18s linear;
        filter:saturate(calc(.72 + (var(--resume-focus) * .28)));
        will-change:transform,opacity;
    }
    .resume-focus-item-v16 .resume-node-v10{
        transform:scale(calc(.78 + (var(--resume-focus) * .58)));
        box-shadow:0 0 calc(4px + (var(--resume-focus) * 20px)) rgba(184,146,95,calc(.08 + (var(--resume-focus) * .32)));
        transition:transform .16s linear,box-shadow .16s linear,background .16s linear;
    }
    .resume-focus-item-v16 .resume-content-v10 h3,
    .resume-focus-item-v16 .resume-title-link-v179 h3{
        transition:color .18s linear;
    }
    .resume-focus-item-v16.is-nearest-v16 .resume-content-v10 h3,
    .resume-focus-item-v16.is-nearest-v16 .resume-title-link-v179 h3{
        color:#fff;
    }
    .resume-focus-item-v16.is-nearest-v16 .resume-node-v10{
        background:var(--accent)!important;
    }
}

@media (max-width:900px){
    .resume-focus-layout-v16{
        height:auto!important;
        min-height:0!important;
        overflow:visible!important;
        direction:rtl!important;
    }
    .resume-summary-fixed-v16{position:static!important;overflow:visible!important}
    .resume-scroll-v16{
        height:auto!important;
        overflow:visible!important;
        mask-image:none!important;
        -webkit-mask-image:none!important;
        padding-top:14px!important;
        padding-bottom:18px!important;
    }
    .resume-center-guide-v16{display:none!important}
    .resume-focus-item-v16{transform:none!important;opacity:1!important;filter:none!important}
}

/* ===== v17.17 resume: right summary NEVER scrolls; only timeline scrolls ===== */
@media (min-width: 901px){
    .resume-focus-layout-v16{
        position:relative!important;
        overflow:hidden!important;
        align-items:stretch!important;
    }

    .resume-summary-fixed-v16{
        position:relative!important;
        top:auto!important;
        align-self:center!important;
        justify-self:stretch!important;
        overflow:visible!important;
        overflow-x:visible!important;
        overflow-y:visible!important;
        max-height:none!important;
        height:auto!important;
        min-height:0!important;
        padding:18px 0 30px!important;
        scrollbar-width:none!important;
        z-index:5!important;
        transform:none!important;
    }

    .resume-summary-fixed-v16::-webkit-scrollbar{
        display:none!important;
        width:0!important;
        height:0!important;
    }

    .resume-summary-fixed-v16 .eyebrow,
    .resume-summary-fixed-v16 h1,
    .resume-summary-fixed-v16 h2,
    .resume-summary-fixed-v16 > p,
    .resume-summary-fixed-v16 .rich-content-v17,
    .resume-summary-fixed-v16 .resume-tags,
    .resume-summary-fixed-v16 .resume-download{
        position:relative!important;
        transform:none!important;
        opacity:1!important;
        visibility:visible!important;
    }

    .resume-summary-fixed-v16 .resume-tags{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:10px!important;
        margin-top:24px!important;
    }

    .resume-scroll-v16{
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
    }
}

/* ===== v17.18 resume clean two-column layout ===== */
@media (min-width: 901px){
    .resume-focus-layout-v16{
        width:min(calc(100% - 64px),1220px)!important;
        max-width:1220px!important;
        height:auto!important;
        min-height:760px!important;
        display:grid!important;
        grid-template-columns:minmax(0,1.06fr) minmax(420px,.94fr)!important;
        gap:clamp(58px,6.5vw,96px)!important;
        align-items:start!important;
        padding:42px 0 54px!important;
        margin:0 auto 36px!important;
        overflow:visible!important;
        direction:ltr!important;
        position:relative!important;
    }

    /* RIGHT: full summary, never clipped, never scrolling */
    .resume-summary-fixed-v16{
        grid-column:2!important;
        direction:rtl!important;
        position:sticky!important;
        top:104px!important;
        align-self:start!important;
        justify-self:stretch!important;
        width:100%!important;
        max-width:520px!important;
        height:max-content!important;
        min-height:0!important;
        max-height:none!important;
        overflow:visible!important;
        padding:38px 0 36px!important;
        margin:0!important;
        transform:none!important;
        opacity:1!important;
        visibility:visible!important;
        z-index:5!important;
    }

    .resume-summary-fixed-v16 .eyebrow{
        margin:0 0 18px!important;
    }
    .resume-summary-fixed-v16 h1{
        margin:0 0 20px!important;
        font-size:clamp(48px,4.6vw,76px)!important;
        line-height:1.45!important;
    }
    .resume-summary-fixed-v16 h2{
        margin:0 0 18px!important;
        font-size:clamp(32px,3.25vw,52px)!important;
        line-height:1.6!important;
    }
    .resume-summary-fixed-v16 > p,
    .resume-summary-fixed-v16 .rich-content-v17{
        max-width:510px!important;
        line-height:2.15!important;
        margin-top:0!important;
    }
    .resume-summary-fixed-v16 .resume-tags{
        display:flex!important;
        flex-wrap:wrap!important;
        gap:10px!important;
        margin:24px 0 0!important;
    }

    /* LEFT: only this area scrolls */
    .resume-scroll-v16{
        grid-column:1!important;
        direction:rtl!important;
        position:relative!important;
        width:100%!important;
        height:clamp(590px,69vh,760px)!important;
        min-height:590px!important;
        max-height:760px!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        scroll-behavior:smooth!important;
        scroll-snap-type:y proximity!important;
        padding:250px 16px 250px 20px!important;
        margin:0!important;
        box-sizing:border-box!important;
        outline:none!important;
        mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
        -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 5%,#000 95%,transparent 100%)!important;
        scrollbar-width:none!important;
    }
    .resume-scroll-v16::-webkit-scrollbar{
        display:none!important;
        width:0!important;
    }

    /* single timeline line only */
    .resume-scroll-v16::before{
        content:""!important;
        position:absolute!important;
        right:124px!important;
        left:auto!important;
        top:0!important;
        bottom:0!important;
        width:1px!important;
        background:linear-gradient(to bottom,transparent 0,rgba(184,146,95,.18) 5%,rgba(184,146,95,.46) 50%,rgba(184,146,95,.18) 95%,transparent 100%)!important;
        pointer-events:none!important;
    }

    .resume-center-guide-v16{
        position:sticky!important;
        z-index:6!important;
        top:50%!important;
        right:auto!important;
        left:auto!important;
        display:block!important;
        width:16px!important;
        height:16px!important;
        margin:-8px 0 -8px auto!important;
        transform:translateX(-117px)!important;
        border-radius:50%!important;
        pointer-events:none!important;
        background:#090909!important;
        border:1px solid rgba(184,146,95,.88)!important;
        box-shadow:0 0 0 7px rgba(184,146,95,.055),0 0 24px rgba(184,146,95,.18)!important;
        opacity:.95!important;
    }

    .resume-focus-item-v16{
        --resume-focus:.08;
        scroll-snap-align:center!important;
        transform-origin:right center!important;
        transform:scale(calc(.82 + (var(--resume-focus) * .20)))!important;
        opacity:calc(.28 + (var(--resume-focus) * .72))!important;
        filter:none!important;
        transition:transform .16s linear,opacity .16s linear!important;
        will-change:transform,opacity!important;
    }
    .resume-focus-item-v16.is-nearest-v16{
        opacity:1!important;
    }
    .resume-focus-item-v16.is-nearest-v16 .resume-node-v10{
        background:var(--accent)!important;
        transform:scale(1.35)!important;
        box-shadow:0 0 0 6px rgba(184,146,95,.08),0 0 24px rgba(184,146,95,.22)!important;
    }
    .resume-focus-item-v16.is-nearest-v16 .resume-content-v10 h3,
    .resume-focus-item-v16.is-nearest-v16 .resume-title-link-v179 h3{
        color:#fff!important;
    }

    .resume-entry-v10{
        min-height:122px!important;
        padding-bottom:52px!important;
    }
}

@media (max-width: 900px){
    .resume-focus-layout-v16{
        display:block!important;
        width:calc(100% - 28px)!important;
        min-height:0!important;
        height:auto!important;
        padding:34px 0 48px!important;
        overflow:visible!important;
        direction:rtl!important;
    }
    .resume-summary-fixed-v16{
        position:static!important;
        width:100%!important;
        max-width:none!important;
        overflow:visible!important;
        padding:0 0 28px!important;
    }
    .resume-scroll-v16{
        width:100%!important;
        height:auto!important;
        min-height:0!important;
        max-height:none!important;
        overflow:visible!important;
        padding:18px 0 22px!important;
        mask-image:none!important;
        -webkit-mask-image:none!important;
    }
    .resume-center-guide-v16{display:none!important}
    .resume-focus-item-v16{
        transform:none!important;
        opacity:1!important;
        filter:none!important;
    }
}

/* ===== v17.19 resume: exact top alignment for both desktop columns ===== */
@media (min-width: 901px){
    .resume-focus-layout-v16{
        align-items:start!important;
        padding-top:42px!important;
    }

    /* Both columns must begin on exactly the same horizontal line */
    .resume-summary-fixed-v16{
        padding-top:0!important;
        margin-top:0!important;
        top:96px!important;
        align-self:start!important;
    }

    .resume-scroll-v16{
        padding-top:0!important;
        margin-top:0!important;
        align-self:start!important;
        scroll-padding-top:0!important;
        /* bottom space still lets the last entries move toward the focus area */
        padding-bottom:clamp(220px,32vh,300px)!important;
    }

    /* line begins from the same top edge as the right column */
    .resume-scroll-v16::before{
        top:0!important;
        bottom:0!important;
    }

    /* first timeline item is visible immediately instead of starting halfway down */
    .resume-scroll-v16 > .resume-focus-item-v16:first-of-type{
        margin-top:0!important;
    }

    /* Slightly higher focus point so the visual balance matches the fixed summary */
    .resume-center-guide-v16{
        top:44%!important;
    }
}

/* ===== v17.20 resume: real two-column alignment + permanent line + mobile scroll ===== */
@media (min-width: 901px){
    .resume-focus-layout-v16{
        width:min(calc(100% - 64px),1220px)!important;
        max-width:1220px!important;
        display:grid!important;
        grid-template-columns:minmax(0,1fr) minmax(420px,520px)!important;
        grid-template-rows:auto!important;
        column-gap:clamp(60px,7vw,110px)!important;
        row-gap:0!important;
        align-items:start!important;
        justify-items:stretch!important;
        direction:ltr!important;
        min-height:720px!important;
        height:auto!important;
        padding:42px 0 48px!important;
        margin:0 auto 36px!important;
        overflow:visible!important;
    }

    /* Right column: starts exactly at same top line as timeline */
    .resume-summary-fixed-v16{
        grid-column:2!important;
        grid-row:1!important;
        direction:rtl!important;
        width:100%!important;
        max-width:520px!important;
        margin:0!important;
        padding:0!important;
        align-self:start!important;
        justify-self:stretch!important;
        position:sticky!important;
        top:96px!important;
        height:max-content!important;
        min-height:0!important;
        max-height:none!important;
        overflow:visible!important;
        transform:none!important;
    }

    /* Left column: independent scroll box; starts on the SAME top line */
    .resume-scroll-v16{
        grid-column:1!important;
        grid-row:1!important;
        direction:rtl!important;
        position:relative!important;
        align-self:start!important;
        width:100%!important;
        height:clamp(590px,70svh,720px)!important;
        min-height:590px!important;
        max-height:720px!important;
        box-sizing:border-box!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
        scroll-behavior:smooth!important;
        scroll-snap-type:y proximity!important;
        scroll-padding-top:0!important;
        margin:0!important;
        padding:0 18px clamp(220px,30vh,300px) 20px!important;
        outline:none!important;
        scrollbar-width:none!important;
        mask-image:linear-gradient(to bottom,#000 0,#000 92%,transparent 100%)!important;
        -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 92%,transparent 100%)!important;

        /* The timeline line is painted on the scroll viewport itself, so it NEVER scrolls away. */
        background-image:linear-gradient(to bottom,rgba(184,146,95,.42),rgba(184,146,95,.42))!important;
        background-repeat:no-repeat!important;
        background-size:1px 100%!important;
        background-position:right 120px top!important;
    }
    .resume-scroll-v16::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}

    /* Disable every old extra line / center circle. Item nodes remain. */
    .resume-scroll-v16::before,
    .resume-line-v10::before{
        content:none!important;
        display:none!important;
    }
    .resume-center-guide-v16{
        display:none!important;
        visibility:hidden!important;
        opacity:0!important;
    }

    .resume-focus-item-v16{
        --resume-focus:.05;
        scroll-snap-align:center!important;
        transform-origin:right center!important;
        transform:scale(calc(.82 + (var(--resume-focus) * .20)))!important;
        opacity:calc(.30 + (var(--resume-focus) * .70))!important;
        filter:none!important;
        transition:transform .16s linear,opacity .16s linear!important;
        will-change:transform,opacity!important;
    }
    .resume-focus-item-v16.is-nearest-v16{opacity:1!important}
    .resume-focus-item-v16.is-nearest-v16 .resume-node-v10{
        background:var(--accent)!important;
        transform:scale(1.28)!important;
        box-shadow:0 0 0 5px rgba(184,146,95,.07),0 0 22px rgba(184,146,95,.22)!important;
    }
    .resume-focus-item-v16.is-nearest-v16 .resume-content-v10 h3,
    .resume-focus-item-v16.is-nearest-v16 .resume-title-link-v179 h3{color:#fff!important}

    /* Line center matches the existing resume node center. */
    .resume-node-v10{right:113px!important}
    .resume-date-v10{right:8px!important}
    .resume-entry-v10{padding-right:154px!important}
}

/* Tablet + mobile: timeline still has its OWN scroll, as requested. */
@media (max-width: 900px){
    .resume-focus-layout-v16{
        display:flex!important;
        flex-direction:column!important;
        width:calc(100% - 28px)!important;
        max-width:760px!important;
        min-height:0!important;
        height:auto!important;
        gap:30px!important;
        padding:30px 0 42px!important;
        margin:0 auto 26px!important;
        overflow:visible!important;
        direction:rtl!important;
    }
    .resume-summary-fixed-v16{
        order:1!important;
        position:static!important;
        width:100%!important;
        max-width:none!important;
        margin:0!important;
        padding:0!important;
        overflow:visible!important;
        transform:none!important;
    }
    .resume-scroll-v16{
        order:2!important;
        position:relative!important;
        width:100%!important;
        height:clamp(420px,62svh,620px)!important;
        min-height:420px!important;
        max-height:620px!important;
        box-sizing:border-box!important;
        overflow-y:auto!important;
        overflow-x:hidden!important;
        overscroll-behavior:contain!important;
        -webkit-overflow-scrolling:touch!important;
        scroll-behavior:smooth!important;
        scroll-snap-type:y proximity!important;
        margin:0!important;
        padding:0 12px 180px 4px!important;
        outline:none!important;
        scrollbar-width:none!important;
        mask-image:linear-gradient(to bottom,#000 0,#000 90%,transparent 100%)!important;
        -webkit-mask-image:linear-gradient(to bottom,#000 0,#000 90%,transparent 100%)!important;
        background-image:linear-gradient(to bottom,rgba(184,146,95,.40),rgba(184,146,95,.40))!important;
        background-repeat:no-repeat!important;
        background-size:1px 100%!important;
        background-position:right 102px top!important;
    }
    .resume-scroll-v16::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
    .resume-scroll-v16::before,
    .resume-line-v10::before{content:none!important;display:none!important}
    .resume-center-guide-v16{display:none!important;visibility:hidden!important;opacity:0!important}

    /* Keep the same focus effect on mobile/tablet too. */
    .resume-focus-item-v16{
        --resume-focus:.05;
        scroll-snap-align:center!important;
        transform-origin:right center!important;
        transform:scale(calc(.84 + (var(--resume-focus) * .16)))!important;
        opacity:calc(.34 + (var(--resume-focus) * .66))!important;
        filter:none!important;
        transition:transform .16s linear,opacity .16s linear!important;
        will-change:transform,opacity!important;
    }
    .resume-focus-item-v16.is-nearest-v16{opacity:1!important}
    .resume-focus-item-v16.is-nearest-v16 .resume-node-v10{
        background:var(--accent)!important;
        transform:scale(1.22)!important;
        box-shadow:0 0 0 4px rgba(184,146,95,.07),0 0 18px rgba(184,146,95,.20)!important;
    }
}

@media (max-width: 620px){
    .resume-scroll-v16{
        height:clamp(390px,60svh,560px)!important;
        min-height:390px!important;
        max-height:560px!important;
        padding:0 8px 150px 0!important;
        background-position:right 72px top!important;
    }
    .resume-summary-fixed-v16 h1{font-size:clamp(42px,13vw,64px)!important}
    .resume-summary-fixed-v16 h2{font-size:clamp(30px,9vw,46px)!important}
}
