:root{
  --bg:#f5f1e9;--paper:#fffdf8;--ink:#171a17;--muted:#6c7069;--line:#dcd7ce;
  --dark:#171b18;--green:#5c7755;--blue:#536d9a;--brown:#9a682e;--max:1180px;
  --radius:26px;--shadow:0 18px 55px rgba(30,28,23,.08)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:clip}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Vazirmatn",Tahoma,sans-serif;width:100%;max-width:100%;overflow-x:clip;min-width:0;position:relative}
main,section,header,footer{width:100%;max-width:100%;min-width:0}
main{overflow-x:clip}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.icon-sprite{position:absolute;width:0;height:0;overflow:hidden}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto;min-width:0}
.section{padding:96px 0;scroll-margin-top:80px}
.section-tint{background:#eee8de}
.section-dark{background:var(--dark);color:#f7f4ed}
.eyebrow{margin:0 0 14px;color:#7a6f5c;font-size:.82rem;font-weight:800;letter-spacing:.06em}
.section-dark .eyebrow{color:#c9b99e}
.section-head{margin-bottom:40px;min-width:0}
.section-head.solo{display:flex;justify-content:flex-start}
.section-head h2{margin:0;font-size:clamp(1.75rem,3vw,3.2rem);line-height:1.3;letter-spacing:-.035em;max-width:100%;text-wrap:pretty}
.section-head.solo h2{white-space:normal}.section-head.one-line h2{white-space:normal}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 20px;border:1px solid var(--line);border-radius:15px;font-weight:800;transition:.2s ease;white-space:nowrap}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:#1d211e;color:#fff;border-color:#1d211e}
.btn.quiet{background:rgba(255,255,255,.38)}
.btn.light-btn{background:#fff;color:#171a17;border-color:#fff}
.site-header{position:sticky;top:0;z-index:60;background:rgba(245,241,233,.91);backdrop-filter:blur(16px);border-bottom:1px solid rgba(90,85,75,.13)}
.nav{height:74px;display:flex;align-items:center;gap:30px;min-width:0}
.brand{display:flex;flex-direction:column;gap:1px;min-width:0}
.brand strong{font-size:1.02rem;letter-spacing:.08em}
.brand small{font-size:.69rem;color:var(--muted);white-space:nowrap}
.desktop-nav{display:flex;gap:22px;margin-right:auto;font-size:.82rem;font-weight:700}
.desktop-nav a{padding:8px 0;position:relative}
.desktop-nav a:after{content:"";position:absolute;right:0;left:100%;bottom:2px;height:1px;background:currentColor;transition:.2s}
.desktop-nav a:hover:after{left:0}
.header-actions{display:flex;align-items:center;gap:8px;margin-right:auto}
.icon-link,.lang-switch{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.45)}
.lang-switch{font-size:.72rem;font-weight:900;direction:ltr}
.mobile-dock{display:none}
.hero{padding:70px 0 78px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:64px;align-items:center;min-width:0}
.hero-copy{min-width:0}
.hero-role{display:grid;gap:0;margin-bottom:25px;width:max-content;max-width:100%}
.hero-role span{font-size:clamp(2.5rem,5.1vw,5.5rem);font-weight:900;line-height:.98;letter-spacing:-.06em;white-space:nowrap}
.hero-role span+span{color:#767a73}
.hero h1{font-size:clamp(1.45rem,2.25vw,2.55rem);line-height:1.62;letter-spacing:-.025em;margin:0;max-width:890px;text-wrap:pretty}
.hero-lead{max-width:760px;margin:20px 0 0;color:#555b54;font-size:clamp(1rem,1.4vw,1.17rem);line-height:2;text-align:justify;text-justify:inter-word}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.hero-media{margin:0;border-radius:32px;overflow:hidden;background:#ddd3c3;aspect-ratio:4/5;box-shadow:var(--shadow);min-width:0}
.hero-media img{width:100%;height:100%;object-fit:cover}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px;min-width:0;overflow:hidden}
.service-card:before{content:"";position:absolute;top:0;right:0;left:0;height:5px;background:var(--accent)}
.service-top{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.75rem}
.service-number{font-weight:900;color:var(--accent)}
.service-line{height:1px;background:var(--line);flex:1}
.service-card h3{margin:24px 0 10px;font-size:1.35rem}
.service-card>p{color:#676b65;line-height:1.9;min-height:72px}
.service-card ul{margin:20px 0 24px;padding:0;list-style:none;display:grid;gap:11px}
.service-card li{position:relative;padding-right:18px;font-size:.88rem;line-height:1.7}
.service-card li:before{content:"";position:absolute;right:1px;top:.72em;width:6px;height:6px;border-radius:99px;background:var(--accent)}
.service-bottom{border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.service-bottom strong{font-size:.83rem;line-height:1.8;max-width:58%}
.service-bottom a{border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-weight:800;font-size:.78rem;background:#fff}

.project-group+.project-group{margin-top:64px}
.project-group-head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:16px;align-items:start;margin-bottom:18px;min-width:0}
.project-group-number{width:42px;height:42px;border:1px solid #cfc6b8;border-radius:13px;background:rgba(255,255,255,.45);display:grid;place-items:center;font-weight:900;font-size:.8rem;color:#756d62}
.project-group-head>div{min-width:0}
.project-group-head h3{margin:0;font-size:1.28rem;line-height:1.55;white-space:normal}
.project-group-head p{margin:7px 0 0;max-width:880px;color:#676b65;font-size:.84rem;line-height:1.95;text-align:justify;text-justify:inter-word}
.project-rail-shell{width:100%;min-width:0;overflow:hidden;border:1px solid #cfc6b8;border-radius:24px;background:rgba(255,253,248,.46);padding:14px 14px 8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.55)}
.project-drag-hint{font-size:.67rem;color:#827b70;margin:0 4px 10px;user-select:none}
.project-rail{display:flex;direction:ltr;gap:16px;width:100%;min-width:0;max-width:none;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;padding:2px 2px 14px;scrollbar-width:thin;scrollbar-color:#9d9587 transparent;cursor:grab;user-select:none;-webkit-user-select:none;scroll-behavior:auto}
.project-rail::-webkit-scrollbar{height:7px}.project-rail::-webkit-scrollbar-track{background:transparent}.project-rail::-webkit-scrollbar-thumb{background:#a59d90;border-radius:99px}
.project-rail.is-dragging{cursor:grabbing;scroll-snap-type:none}
.project-card{direction:rtl;text-align:right;flex:0 0 312px;scroll-snap-align:start;background:var(--paper);border:1px solid var(--line);border-radius:20px;overflow:hidden;min-width:0;display:flex;flex-direction:column}
.project-visual{height:174px;background:linear-gradient(135deg,#d9d0c2,#eee8df);display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
.project-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.project-visual.contain{padding:18px 24px;background:#fff}
.project-visual.contain img{object-fit:contain;padding:0;background:transparent}
.project-placeholder{font-weight:900;font-size:1.25rem;color:#635d54;text-align:center;padding:20px}
.project-copy{padding:19px;display:flex;flex-direction:column;flex:1;min-width:0}
.project-meta{display:flex;align-items:center;justify-content:flex-start;gap:10px;font-size:.68rem;color:#77796f}
.project-meta .status{padding:4px 8px;border-radius:99px;background:#ece8df}
.project-card h4{margin:12px 0 4px;font-size:1.13rem;line-height:1.6}
.project-role{font-size:.77rem;font-weight:800;color:#586d52;line-height:1.7}
.project-dates{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:13px}
.project-dates span{display:grid;gap:2px;border:1px solid #e0dbd1;border-radius:10px;background:#faf7f0;padding:8px 9px;font-size:.67rem;color:#6f706a;line-height:1.55}
.project-dates b{font-size:.59rem;color:#989084;font-weight:700}
.project-card p{margin:13px 0 16px;color:#656962;line-height:1.9;font-size:.81rem;min-height:92px;text-align:justify;text-justify:inter-word}
.project-links{display:flex;gap:8px;margin-top:auto;direction:rtl}
.project-links a{width:35px;height:35px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:#fff;user-select:none}
.roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;gap:24px;padding-top:22px}
.roadmap:before{content:"";position:absolute;top:52px;right:7%;left:7%;height:3px;border-radius:99px;background:linear-gradient(90deg,#756a5b,#d0be9f,#756a5b)}
.process-step{position:relative;padding-top:0;min-width:0}
.process-node{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#f5f1e9;color:#171a17;border:8px solid #2d332f;font-weight:900;position:relative;z-index:2;margin-bottom:24px}
.process-step h3{font-size:1.03rem;margin:0 0 8px}
.process-step p{font-size:.81rem;line-height:1.85;color:#c9ccc5;margin:0}
.about-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:50px;align-items:start}
.about-media{margin:0;border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#ddd3c3}
.about-media img{width:100%;height:100%;object-fit:cover}
.about-copy{min-width:0}
.about-copy h2{font-size:clamp(2rem,3.5vw,3.6rem);margin:0 0 20px;letter-spacing:-.04em}
.about-text p{font-size:.98rem;line-height:2.15;color:#565b55;margin:0 0 18px;text-align:justify;text-justify:inter-word}
.signature{display:block;margin-top:24px;font-size:.9rem}
.stats{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:4px}
.stat{background:#ede7dc;border:1px solid #d8d0c3;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:8px;min-height:122px}
.stat strong{font-size:1.32rem;letter-spacing:-.03em}
.stat span{font-size:.78rem;line-height:1.7;color:#666a64}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}
.testimonial-card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:22px;min-width:0}
.quote-mark{font-family:Georgia,serif;font-size:2.5rem;line-height:1;color:#9b8a70}
.review-copy-wrap{position:relative;margin-bottom:18px}
.review-copy{font-size:.86rem;line-height:2;color:#565b55;margin:0;white-space:pre-line}
.review-copy-wrap.is-collapsed .review-copy{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow:hidden}
.review-more{display:inline;padding:0;border:0;background:transparent;color:#6d775f;font:inherit;font-size:.72rem;font-weight:900;cursor:pointer;margin-top:5px}
.testimonial-card footer{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.avatar{width:54px;height:54px;flex:0 0 54px;border:3px solid #fff;border-radius:50%;display:grid;place-items:center;background:#ded7cb;font-weight:900;overflow:hidden;box-shadow:0 4px 16px rgba(25,29,26,.22)}
.avatar img{width:100%;height:100%;object-fit:cover}
.testimonial-card footer>span:last-child{display:flex;flex-direction:column}
.testimonial-card footer strong{font-size:.8rem}.testimonial-card footer small{font-size:.68rem;color:#838078}
.review-panel{display:grid;grid-template-columns:.7fr 1.3fr;gap:36px;background:#171a17;color:#f5f1e9;border-radius:28px;padding:34px}
.review-intro h3{font-size:1.6rem;margin:5px 0 8px}.review-intro p{color:#bfc4bc;line-height:1.9;font-size:.85rem}
.review-form{display:grid;gap:14px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.review-form label{display:grid;gap:7px}.review-form label>span{font-size:.73rem;color:#d5d8d2}
.review-form input,.review-form select,.review-form textarea{width:100%;border:1px solid #454a45;background:#232824;color:#fff;border-radius:12px;padding:12px;outline:none}
.review-form textarea{min-height:118px;resize:vertical}
.review-form input:focus,.review-form select:focus,.review-form textarea:focus{border-color:#aeb8a9}
.photo-cropper{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;border:1px solid #454a45;border-radius:16px;background:#202521;padding:16px}
.photo-cropper[hidden]{display:none}
.crop-preview{display:grid;justify-items:center;gap:7px}
.crop-preview canvas{width:148px;height:148px;border-radius:50%;border:4px solid #fff;box-shadow:0 8px 24px rgba(0,0,0,.35);background:#343a35;cursor:grab;touch-action:none}
.crop-preview canvas:active{cursor:grabbing}
.crop-preview span{font-size:.67rem;color:#d5d8d2;font-weight:800}
.crop-tools{display:grid;gap:10px;min-width:0}.crop-tools strong{font-size:.75rem}.crop-tools label{display:grid!important;gap:6px}.crop-tools input[type=range]{width:100%;accent-color:#c49328}.crop-tools small{font-size:.66rem;color:#aeb4ad;line-height:1.7}
.form-foot{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-foot small{color:#a6aba4}
.form-status{min-height:20px;font-size:.78rem}.form-status.success{color:#b8d7b1}.form-status.error{color:#ffb5aa}
.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.final-cta{background:#9c6c36;color:#fff;padding:70px 0}
.final-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}
.final-cta h2{margin:0;max-width:820px;font-size:clamp(1.7rem,3.2vw,3.2rem);line-height:1.45;letter-spacing:-.04em;text-wrap:pretty}
.final-cta .eyebrow{color:#ead8c3}
.site-footer{background:#111411;color:#e8e8e3;padding:58px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .9fr;gap:50px}
.footer-brand>strong{font-size:1.2rem;letter-spacing:.08em}.footer-brand>p{color:#aeb2ab;line-height:1.9;font-size:.82rem;max-width:450px}
.footer-grid h3{font-size:.82rem;margin:0 0 14px}.footer-links{display:grid;gap:9px}.footer-links a{font-size:.78rem;color:#b9bdb6}
.footer-social{display:flex;gap:8px;margin-top:20px}.footer-social a{width:38px;height:38px;border:1px solid #363b36;border-radius:11px;display:grid;place-items:center}
.copyright{border-top:1px solid #2b2f2b;margin-top:36px;padding-top:18px;font-size:.7rem;color:#777d76;direction:ltr;text-align:left}

@media(max-width:980px){
  .desktop-nav{display:none}
  .hero-grid{grid-template-columns:minmax(0,1fr) 340px;gap:30px}
  .hero-role span{font-size:clamp(2.4rem,7vw,4.5rem)}
  .service-grid{grid-template-columns:1fr}
  .service-card>p{min-height:0}
  .review-panel{grid-template-columns:1fr}
  .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  :root{--radius:20px}
  html,body{width:100%;max-width:100%;overflow-x:clip}
  .container{width:min(calc(100% - 28px),var(--max));padding:0;min-width:0}
  .site-header{position:sticky;top:0}
  .nav{height:62px;gap:10px}
  .brand strong{font-size:.87rem}.brand small{font-size:.58rem;overflow:hidden;text-overflow:ellipsis;max-width:220px}
  .header-actions{margin-right:auto}.header-actions .icon-link{display:none}.lang-switch{width:34px;height:34px}
  .section{padding:64px 0;scroll-margin-top:66px}
  .hero{padding:34px 0 54px}
  .hero-grid{display:flex;flex-direction:column;gap:28px;width:100%;min-width:0}
  .hero-copy{width:100%;min-width:0}
  .hero .eyebrow{font-size:.7rem}
  .hero-role{width:100%;max-width:100%;overflow:hidden;margin-bottom:20px}
  .hero-role span{display:block;width:100%;max-width:100%;font-size:clamp(2.18rem,11vw,3.45rem);line-height:1.05;letter-spacing:-.065em;white-space:nowrap}
  .hero h1{font-size:1.27rem;line-height:1.8;width:100%;max-width:100%;overflow-wrap:anywhere}
  .hero-lead{font-size:.91rem;line-height:2.05;margin-top:14px;width:100%;max-width:100%;text-align:justify}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.hero-actions .btn{width:100%;padding-inline:8px}
  .hero-media{width:100%;max-width:100%;aspect-ratio:1.25/1;border-radius:22px}.hero-media img{object-position:center 30%}
  .section-head{margin-bottom:28px}.section-head h2{font-size:1.58rem;line-height:1.5;letter-spacing:-.025em}
  .section-head.solo h2{font-size:clamp(1.25rem,6vw,1.65rem);white-space:normal;letter-spacing:-.04em}.section-head.one-line h2{font-size:clamp(1.02rem,5.2vw,1.45rem);white-space:normal}
  .service-grid{gap:12px}.service-card{padding:22px}.service-card h3{margin-top:18px}.service-card>p{text-align:justify}
  .service-bottom{align-items:center}.service-bottom strong{max-width:60%}
  .project-group+.project-group{margin-top:48px}
  .project-group-head{grid-template-columns:38px minmax(0,1fr);gap:11px;margin-bottom:14px}
  .project-group-number{width:36px;height:36px;border-radius:11px;font-size:.72rem}
  .project-group-head h3{font-size:1rem;line-height:1.65}
  .project-group-head p{font-size:.76rem;line-height:1.9;margin-top:5px;text-align:justify}
  .project-rail-shell{width:100%;max-width:100%;padding:10px 10px 5px;border-radius:20px;overflow:hidden}
  .project-drag-hint{font-size:.62rem;margin:0 3px 8px}
  .project-rail{width:100%;max-width:none;gap:11px;padding-bottom:10px;cursor:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
  .project-card{flex-basis:min(80vw,290px);max-width:min(80vw,290px)}
  .project-card p{min-height:0}
  .project-dates{grid-template-columns:1fr;gap:5px}
  .roadmap{grid-template-columns:1fr;gap:0;padding:0 0 0 0}
  .roadmap:before{top:28px;bottom:28px;right:29px;left:auto;width:3px;height:auto;background:linear-gradient(#756a5b,#d0be9f,#756a5b)}
  .process-step{display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:18px;padding-bottom:28px}.process-node{grid-row:1/3;margin:0;width:58px;height:58px}.process-step h3{margin-top:7px}.process-step p{grid-column:2}
  .about-grid{grid-template-columns:1fr;gap:28px}.about-media{aspect-ratio:1.3/1}.about-copy h2{font-size:2rem}.about-text p{text-align:justify}
  .stats{grid-template-columns:1fr 1fr;gap:8px}.stat{min-height:116px;padding:17px}.stat strong{font-size:1.1rem}
  .testimonials-grid{display:flex;overflow-x:auto;gap:10px;scroll-snap-type:x mandatory;padding-bottom:10px}.testimonial-card{flex:0 0 calc(50% - 5px);scroll-snap-align:start;padding:16px}.review-copy{font-size:.75rem;line-height:1.9}.review-copy-wrap.is-collapsed .review-copy{-webkit-line-clamp:7}.avatar{width:48px;height:48px;flex-basis:48px}.testimonial-card footer{align-items:flex-start;gap:7px}.testimonial-card footer small{font-size:.6rem}.testimonial-card footer strong{font-size:.72rem}
  .review-panel{padding:22px;border-radius:20px}.form-row{grid-template-columns:1fr}.form-foot{align-items:flex-start;flex-direction:column}.form-foot .btn{width:100%}
  .photo-cropper{grid-template-columns:1fr;padding:14px}.crop-preview canvas{width:156px;height:156px}
  .final-cta{padding:54px 0 94px}.final-cta-inner{display:grid;gap:24px}.final-cta h2{font-size:1.65rem}.final-cta .btn{width:100%}
  .footer-grid{grid-template-columns:1fr;gap:30px}.site-footer{padding-bottom:105px}.copyright{text-align:center}
  .mobile-dock{position:fixed!important;z-index:999;display:grid!important;visibility:visible!important;opacity:1!important;grid-template-columns:repeat(6,minmax(0,1fr));right:max(8px,env(safe-area-inset-right));left:max(8px,env(safe-area-inset-left));bottom:max(8px,env(safe-area-inset-bottom));width:auto!important;max-width:none!important;background:rgba(20,24,21,.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:7px 5px;box-shadow:0 12px 40px rgba(0,0,0,.2);transform:translateZ(0)}
  .mobile-dock a{color:#aeb4ad;display:grid;justify-items:center;gap:3px;font-size:.58rem;padding:4px 2px}.mobile-dock svg{width:18px;height:18px}.mobile-dock a.active{color:#fff}
}
@media(max-width:390px){
  .container{width:calc(100% - 22px)}
  .brand small{max-width:182px}
  .hero-role span{font-size:clamp(2rem,10.7vw,2.8rem)}
  .section-head.solo h2{font-size:clamp(1.05rem,5.5vw,1.35rem)}.section-head.one-line h2{font-size:clamp(.96rem,4.95vw,1.18rem)}
  .stats{grid-template-columns:1fr}
  .service-bottom{display:grid}.service-bottom strong{max-width:100%}
}

.en-site{direction:ltr;font-family:Inter,Arial,sans-serif}
.en-site .desktop-nav{margin-right:0;margin-left:auto}
.en-site .header-actions{margin-right:0;margin-left:auto}
.en-site .service-card li{padding-right:0;padding-left:18px}
.en-site .service-card li:before{right:auto;left:1px}
.en-site .resume-main p,.en-site .hero-lead,.en-site .about-text p{text-align:left}
.en-site .resume-heading>span{direction:ltr}
.en-site .project-group-head:after{order:2}
.en-site .copyright{text-align:right}
@media(max-width:760px){
 .en-site .header-actions{margin-right:0;margin-left:auto}
 .en-site .hero h1{overflow-wrap:normal}
 .en-site .roadmap:before{right:auto;left:29px}
}


/* V27.2 mobile-width hardening */
@supports not (overflow:clip){html,body,main{overflow-x:hidden}}
.hero-grid,.service-grid,.project-group,.project-rail-shell,.about-grid,.review-panel,.footer-grid,.final-cta-inner{min-width:0}
@media(max-width:760px){
  body{padding-bottom:0}
  .nav,.brand,.header-actions{min-width:0}
  .hero-role span{overflow:hidden;text-overflow:clip}
  .project-group-head>div{min-width:0}
  .site-footer{padding-bottom:112px}
}
.en-site .project-card{direction:ltr;text-align:left}
.en-site .project-group-head p,.en-site .project-card p{text-align:left}
.en-site .project-links{direction:ltr}

/* V27.3 — top area / header / mobile safe-space refinement */
.desktop-nav{margin-right:auto;display:flex;align-items:center;gap:7px}
.desktop-nav a{min-width:54px;display:grid;justify-items:center;gap:3px;padding:7px 8px;border-radius:12px;font-size:.66rem;line-height:1.25;transition:.2s ease}
.desktop-nav a svg{width:17px;height:17px}
.desktop-nav a:after{display:none}
.desktop-nav a:hover{background:rgba(255,255,255,.5)}
.header-actions{margin-right:0;margin-left:0}

@media(max-width:760px){
  html,body,main{width:100%;max-width:100%;overflow-x:hidden!important}
  .container{width:auto!important;max-width:var(--max);margin-right:max(20px,env(safe-area-inset-right));margin-left:max(20px,env(safe-area-inset-left));padding:0!important}
  .site-header{overflow:visible}
  .nav{height:68px;gap:8px;justify-content:space-between}
  .brand{flex:1 1 auto;max-width:145px;overflow:hidden}
  .brand strong{font-size:.82rem}
  .brand small{font-size:.53rem;max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .header-actions{display:flex!important;flex:0 0 auto;gap:5px;margin:0!important}
  .header-actions .icon-link,.header-actions .lang-switch{display:grid!important;width:34px;height:34px;border-radius:11px;background:rgba(255,255,255,.58)}
  .header-actions .icon-link svg{width:16px;height:16px}
  .lang-switch{font-size:.66rem}

  .hero{padding:38px 0 58px}
  .hero-grid{gap:28px}
  .hero-copy{padding-inline:0}
  .hero-role{margin:0 0 22px;width:100%;overflow:visible}
  .hero-role span{font-size:clamp(2rem,9.6vw,2.72rem);line-height:1.08;letter-spacing:-.045em;white-space:nowrap;overflow:visible;text-overflow:clip}
  .hero h1{font-size:1.18rem;line-height:1.95;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal}
  .hero-actions{margin-top:26px;gap:10px}
  .hero-actions .btn{min-width:0;min-height:48px;padding-inline:10px;border-radius:14px}
  .hero-media{border-radius:20px}

  .mobile-dock{right:max(16px,env(safe-area-inset-right))!important;left:max(16px,env(safe-area-inset-left))!important;bottom:max(12px,env(safe-area-inset-bottom))!important;border-radius:17px;padding:8px 6px}
}

@media(max-width:360px){
  .container{margin-right:max(16px,env(safe-area-inset-right));margin-left:max(16px,env(safe-area-inset-left))}
  .brand{max-width:98px}
  .brand small{display:none}
  .header-actions{gap:4px}
  .header-actions .icon-link,.header-actions .lang-switch{width:32px;height:32px}
  .hero-role span{font-size:clamp(1.85rem,9.4vw,2.28rem)}
  .hero h1{font-size:1.08rem}
  .mobile-dock{right:max(12px,env(safe-area-inset-right))!important;left:max(12px,env(safe-area-inset-left))!important}
}
@media(max-width:980px){
  .desktop-nav{display:none}
}


/* V29 safe improvements */
.hero-role{
  letter-spacing:-.025em;
}
.hero-copy,
.about-copy,
.section-head,
.service-card,
.project-card{
  overflow-wrap:normal;
  word-break:normal;
}
@media (min-width:900px){
  .desktop-nav{
    margin-inline:auto;
  }
}
@media (max-width:899px){
  html,body{
    overflow-x:hidden;
  }
  img,input,textarea,select,button{
    max-width:100%;
  }
}


/* V29.2 — Hero Persian typography / Word-like justified structure */
.hero-copy{
  min-width:0;
}
.hero-role{
  width:100%;
  max-width:100%;
  margin:0 0 30px;
  text-align:right;
  justify-items:start;
  overflow:visible;
}
.hero-role span{
  display:block;
  width:auto;
  max-width:100%;
  font-size:clamp(2.5rem,5vw,5.25rem);
  font-weight:900;
  line-height:1.06;
  letter-spacing:-.035em;
  white-space:nowrap;
  overflow:visible;
}
.hero-role .hero-role-online{
  margin-top:4px;
  color:#767a73;
}
.hero h1{
  width:100%;
  max-width:880px;
  margin:0;
  font-size:clamp(1.05rem,1.5vw,1.38rem);
  font-weight:750;
  line-height:2.08;
  letter-spacing:-.015em;
  word-spacing:.06em;
  text-align:justify;
  text-align-last:right;
  text-justify:inter-word;
  text-wrap:wrap;
  overflow-wrap:normal;
  word-break:normal;
}
@media(max-width:760px){
  .hero-role{
    margin-bottom:24px;
  }
  .hero-role span{
    font-size:clamp(2rem,9.4vw,2.8rem);
    line-height:1.12;
    letter-spacing:-.03em;
  }
  .hero-role .hero-role-online{
    font-size:clamp(1.85rem,8.9vw,2.65rem);
    margin-top:5px;
  }
  .hero h1{
    font-size:1.05rem;
    line-height:2.05;
    letter-spacing:-.012em;
    word-spacing:normal;
    text-align:justify;
    text-align-last:right;
    text-justify:inter-word;
    overflow-wrap:normal;
    word-break:normal;
  }
}
@media(max-width:390px){
  .hero-role span{
    font-size:clamp(1.9rem,9vw,2.35rem);
  }
  .hero-role .hero-role-online{
    font-size:clamp(1.72rem,8.4vw,2.18rem);
  }
  .hero h1{
    font-size:1rem;
    line-height:2;
  }
}


/* =========================================================
   V29.3 CLEAN — final hero layout
   Desktop: subtitle stays on one line with proper gap to image.
   Mobile: title + subtitle, then image, then buttons.
   ========================================================= */
@media (min-width:981px){
  .hero-grid{
    display:grid;
    grid-template-columns:minmax(0,1.5fr) minmax(320px,.72fr);
    grid-template-rows:auto auto;
    column-gap:72px;
    row-gap:24px;
    align-items:center;
  }
  .hero-copy{
    grid-column:1;
    grid-row:1;
    min-width:0;
    padding:0;
  }
  .hero-media{
    grid-column:2;
    grid-row:1 / span 2;
    width:100%;
    align-self:center;
  }
  .hero-actions{
    grid-column:1;
    grid-row:2;
    margin-top:0;
    justify-self:start;
  }
  .hero h1{
    width:100%;
    max-width:none;
    white-space:nowrap;
    font-size:clamp(1rem,1.25vw,1.2rem);
    line-height:1.9;
    text-align:right;
    text-align-last:right;
    word-spacing:0;
  }
}

@media (max-width:980px){
  .hero-grid{
    display:flex;
    flex-direction:column;
  }
  .hero-copy{order:1;width:100%;display:block}
  .hero-media{order:2;width:100%}
  .hero-actions{order:3;width:100%}
}

@media (max-width:760px){
  .hero-grid{gap:26px}
  .hero-copy{width:100%}
  .hero h1{
    white-space:normal;
    width:100%;
    max-width:100%;
    margin-top:0;
    font-size:1.05rem;
    line-height:2.05;
    text-align:justify;
    text-align-last:right;
  }
  .hero-media{margin:0}
  .hero-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:0;
  }
}

/* =========================================================
   V31 TEST — desktop redesign, isolated under /test/
   ========================================================= */
.hero-role .hero-role-online{color:#c49328}
.hero-copy{animation:v31-copy-in .75s cubic-bezier(.2,.75,.25,1) both}
.hero-media{animation:v31-media-in .9s cubic-bezier(.2,.75,.25,1) both;position:relative}
.hero-media img{animation:v31-photo-drift 9s ease-in-out infinite alternate;will-change:transform}
@keyframes v31-copy-in{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes v31-media-in{from{opacity:0;transform:translateX(-28px) scale(.97)}to{opacity:1;transform:none}}
@keyframes v31-photo-drift{from{transform:scale(1.015) translateX(0)}to{transform:scale(1.055) translateX(1.4%)}}

.service-card{transition:transform .25s ease,background .25s ease,border-color .25s ease,box-shadow .25s ease}
.service-card .service-top{align-items:center}
.service-card .service-top h3{margin:0;font-size:1.15rem;white-space:nowrap;color:var(--ink)}
.service-card:hover{transform:translateY(-6px);background:color-mix(in srgb,var(--accent) 11%,#fffdf8);border-color:color-mix(in srgb,var(--accent) 55%,#dcd7ce);box-shadow:0 18px 42px rgba(30,28,23,.1)}
.service-card:hover .service-bottom a{background:var(--accent);border-color:var(--accent);color:#fff}
.service-bottom{flex-wrap:nowrap;align-items:center}
.service-bottom strong{max-width:none;white-space:nowrap;font-weight:900}
.service-bottom a{transition:.2s ease;white-space:nowrap}

.project-group-head{grid-template-columns:48px minmax(0,1fr);align-items:center}
.project-group-head p{max-width:none}
.project-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:1px}
.project-card-head h4{margin:0;font-size:1.08rem;min-width:0}
.project-card-head .status{flex:0 0 auto;padding:4px 8px;border-radius:99px;background:#ece8df;font-size:.65rem;color:#77796f}
.project-duration{margin-top:12px;border:1px solid #e0dbd1;border-radius:10px;background:#faf7f0;padding:9px 10px;font-size:.68rem;color:#6f706a;line-height:1.65}
.project-duration b{color:#4f544e}
.project-card p{min-height:72px;margin-top:12px}
.project-links a{position:relative;transition:.18s ease}
.project-links a:hover{background:#171a17;color:#fff;border-color:#171a17;transform:translateY(-2px)}
.project-links a:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 9px);right:0;background:#171a17;color:#fff;padding:7px 9px;border-radius:8px;font-size:.63rem;line-height:1;white-space:nowrap;opacity:0;transform:translateY(4px);pointer-events:none;transition:.18s ease;z-index:5}
.project-links a:hover:after{opacity:1;transform:none}

.about-text strong{color:#171a17;font-weight:900}
.stat{background:#f0eadf;border-color:#d7cdbd;min-height:110px;justify-content:center}
.stat strong{font-size:1.15rem}.stat span{font-size:.76rem}

.insights-section{background:#171b18;color:#f7f4ed}
.insights-head .eyebrow{color:#c9b99e}.insights-head h2{margin:0;font-size:clamp(2rem,3.5vw,3.5rem)}
.insights-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.insight-card{position:relative;background:#222723;border:1px solid #343a35;border-radius:22px;padding:24px;min-width:0;transition:.22s ease}
.insight-card:hover{transform:translateY(-4px);border-color:#77674e}
.insight-number{display:block;color:#c7a45a;font-size:.7rem;font-weight:900;letter-spacing:.08em}
.insight-card h3{font-size:1.12rem;line-height:1.65;margin:20px 0 10px}
.insight-card>p{color:#c3c8c1;font-size:.82rem;line-height:2;margin:0;min-height:100px}
.insight-more{display:grid;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid #363c37}
.insight-more span{display:none;color:#aeb5ad;font-size:.76rem;line-height:1.9}
.insight-more button{justify-self:start;border:0;background:none;color:#e3c685;font:inherit;font-size:.76rem;font-weight:800;padding:0;cursor:pointer}
.insight-card.is-open .insight-more span{display:block}

.final-cta{padding:28px 0;background:#9c6c36}
.final-cta-inner{min-height:72px;gap:22px}
.final-cta h2{font-size:clamp(1.12rem,1.75vw,1.55rem);line-height:1.7;white-space:nowrap;max-width:none;letter-spacing:-.02em}
.final-cta .btn{min-height:44px;padding:9px 18px;border-radius:12px}
.phone-ltr{direction:ltr;text-align:right;unicode-bidi:embed}
.footer-social{margin-top:18px}

@media(min-width:981px){
  .hero{padding:62px 0 70px}
  .hero-grid{grid-template-columns:minmax(0,1.22fr) minmax(430px,.9fr);column-gap:62px}
  .hero-media{aspect-ratio:16/10;border-radius:28px}
  .hero-media img{object-position:center 31%}
  .project-group-head p{white-space:nowrap;font-size:.73rem;line-height:1.7}
}

@media(max-width:980px){
  .insights-grid{grid-template-columns:1fr}
  .insight-card>p{min-height:0}
  .final-cta h2{white-space:normal}
}

@media(prefers-reduced-motion:reduce){
  .hero-copy,.hero-media,.hero-media img{animation:none}
  *{scroll-behavior:auto!important}
}

/* V32 — final test refinements */
.hero{padding:58px 0 48px;overflow:hidden}
.hero .container{width:min(calc(100% - 72px),1600px)}
.hero-slider{display:grid;position:relative;min-width:0}
.hero-slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(24px);transition:opacity .55s ease,transform .55s ease,visibility .55s;min-width:0}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;transform:none;z-index:2}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(480px,.92fr);gap:clamp(42px,5vw,92px);align-items:center;min-height:480px;min-width:0}
.hero-copy{width:100%;max-width:900px;animation:none}
.hero-role{margin-bottom:28px}
.hero-role span{font-size:clamp(3rem,4.75vw,5.5rem);line-height:1.08;letter-spacing:-.035em}
.hero-role-compact span{font-size:clamp(2.55rem,4.15vw,4.85rem);white-space:normal;text-wrap:balance}
.hero h1,.hero-description{width:100%;max-width:900px;margin:0;font-size:clamp(1.05rem,1.25vw,1.28rem);font-weight:750;line-height:2.05;white-space:normal;text-align:right;text-align-last:right;letter-spacing:-.01em}
.hero-description{color:#555b54;font-weight:600}
.hero-kicker{margin:0 0 14px;color:#8d6e2f;font-size:.82rem;font-weight:900;letter-spacing:.03em}
.hero-actions{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}
.hero-media,.hero-visual{grid-column:auto;grid-row:auto;width:100%;min-width:0;min-height:390px;margin:0;border-radius:30px;box-shadow:var(--shadow);overflow:hidden;animation:none}
.hero-media{aspect-ratio:16/10}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 31%;animation:v31-photo-drift 9s ease-in-out infinite alternate}
.hero-visual{background:#171b18;color:#fff;padding:clamp(28px,4vw,54px)}
.hero-system-visual{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-content:center;background:radial-gradient(circle at 80% 10%,rgba(196,147,40,.28),transparent 42%),#171b18}
.hero-system-visual span{display:flex;align-items:center;min-height:112px;padding:22px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.055);font-size:clamp(.95rem,1.3vw,1.25rem);font-weight:850}
.hero-system-visual span:nth-child(2),.hero-system-visual span:nth-child(3){color:#e5c06c}
.hero-review-visual{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#232924,#171b18)}
.hero-review-visual .quote-mark{font-size:5rem;color:#c49328}
.hero-review-visual p{margin:8px 0 24px;font-size:clamp(1.15rem,1.8vw,1.65rem);line-height:2;font-weight:750}
.hero-review-visual footer{color:#b9bdb7;font-size:.82rem}
.hero-slider{touch-action:pan-y}
.hero-controls{grid-area:2/1;z-index:5;display:flex;align-items:center;justify-content:center;gap:12px;margin-top:20px}
.hero-controls button{position:relative;width:34px;height:30px;padding:0;border:0;background:transparent;cursor:pointer}
.hero-controls button:after{content:"";position:absolute;inset:50% auto auto 50%;width:10px;height:10px;border-radius:99px;background:#b8afa1;transform:translate(-50%,-50%);transition:.25s ease}
.hero-controls button.is-active{width:48px}
.hero-controls button.is-active:after{width:34px;background:#c49328}
.hero-controls button:focus-visible{outline:2px solid #5c7755;outline-offset:2px;border-radius:99px}

.project-rail{direction:rtl;scroll-padding-inline:2px}
.en-site .project-rail{direction:ltr}
.project-group-head h3{font-size:1.42rem;font-weight:950}
.project-card-head h4{font-size:1.16rem;font-weight:950}
.project-role{font-weight:900}
.project-drag-hint{font-weight:750;color:#6d675e}
.insight-body{display:none;color:#aeb5ad;font-size:.78rem;line-height:2}
.insight-body p{margin:0 0 14px}
.insight-card.is-open .insight-body{display:block}
.translate-review{margin:0 0 18px;border:1px solid #d7d0c5;border-radius:10px;background:#fff;padding:8px 11px;color:#3c443e;font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
.review-copy[dir="rtl"]{text-align:right;font-family:"Vazirmatn",Tahoma,sans-serif}

@media(min-width:981px){
  .hero-slide:first-child .hero-media{min-height:430px}
  .hero-role{max-width:900px}
  .hero h1,.hero-description{padding-left:22px}
  .en-site .hero h1,.en-site .hero-description{padding-left:0;padding-right:22px;text-align:left;text-align-last:left}
  .project-group-head p{white-space:nowrap}
}

@media(max-width:980px){
  .hero .container{width:auto!important}
  .hero-layout{grid-template-columns:1fr;gap:28px;min-height:0}
  .hero-copy{max-width:none}
  .hero-media,.hero-visual{min-height:0}
  .hero-visual{min-height:330px}
}

@media(max-width:760px){
  main{padding-top:68px}
  .site-header{position:fixed!important;top:0;right:0;left:0;width:100%;z-index:999}
  .hero{padding:34px 0 calc(112px + env(safe-area-inset-bottom))}
  .hero-layout{gap:24px}
  .hero-role{margin-bottom:18px}
  .hero-role span{font-size:clamp(2.02rem,9.3vw,2.82rem);line-height:1.13}
  .hero-role-compact span{font-size:clamp(1.85rem,8.45vw,2.55rem);white-space:normal}
  .hero h1,.hero-description{font-size:1rem;line-height:2;text-align:right;text-align-last:right}
  .en-site .hero h1,.en-site .hero-description{text-align:left;text-align-last:left}
  .hero-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:22px;gap:9px}
  .hero-actions .btn{min-height:48px;width:100%;padding-inline:8px;font-size:.82rem;white-space:normal;text-align:center;line-height:1.45}
  .hero-media{order:0;aspect-ratio:1.28/1;border-radius:22px}
  .hero-visual{min-height:290px;border-radius:22px;padding:24px}
  .hero-system-visual{gap:9px}
  .hero-system-visual span{min-height:92px;padding:14px;font-size:.88rem;border-radius:15px}
  .hero-review-visual p{font-size:1.05rem;line-height:2}
  .hero-controls{margin-top:16px}
  .project-rail-shell{padding-inline:10px}
  .project-rail{scroll-snap-type:x mandatory;scroll-padding-inline:2px}
  .project-card{flex-basis:min(82vw,300px);max-width:min(82vw,300px);scroll-snap-align:start}
  .project-visual{height:168px}
  .project-visual.contain{padding:16px 22px}
  .project-group-head h3{font-size:1.08rem;font-weight:950}
  .project-drag-hint{font-size:.66rem;line-height:1.7;padding-inline:2px}
}

@media(prefers-reduced-motion:reduce){
  .hero-slide{transition:none;transform:none}
  .hero-media img{animation:none}
}
