/* Vazirmatn: local files are preferred; system-local font remains a non-blocking fallback. */
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Regular.woff2") format("woff2"),local("Vazirmatn");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Vazirmatn";src:url("../fonts/Vazirmatn-Bold.woff2") format("woff2"),local("Vazirmatn");font-style:normal;font-weight:700;font-display:swap}
body,body *{font-family:"Vazirmatn","Vazir",Tahoma,sans-serif}
/* Signal theme — local, responsive, RTL */
:root{--paper:#fafaf8;--amber:#f59e0b;--gold:#ffa000;--ink:#1f2933;--muted:#69737d;--cream:#f3f7ec;--line:#e4e8dc;--radius:18px;--shadow:0 8px 28px #1f29330d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 "Vazirmatn","Vazir",Tahoma,sans-serif;direction:rtl}a{color:inherit;text-decoration:none}a:hover{color:#6e8b3d}button,input{font:inherit}button,a,input{outline-offset:3px}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #7fa053}.wrap{width:min(1200px,calc(100% - 40px));margin-inline:auto}.site-header{background:#fff;border-bottom:1px solid #eee;position:relative;z-index:10}.head-inner{min-height:82px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:12px;min-width:215px}.brand-mark{width:48px;height:48px;border-radius:16px;background:var(--gold);display:grid;place-items:center;font-weight:900;font-size:22px}.brand b{display:block;font-size:19px}.brand small{display:block;color:var(--muted);font-size:12px}.main-nav{display:flex;gap:24px;align-items:center;flex:1}.head-actions{display:flex;align-items:center;gap:14px}.icon-btn,.menu-toggle{border:0;background:none;padding:9px;cursor:pointer;color:var(--ink)}.login-link,.button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:9px 17px;background:var(--gold);font-weight:700;border:0}.searchbox{display:none;position:absolute;left:20px;top:75px;background:#fff;padding:14px;border-radius:12px;box-shadow:var(--shadow)}.searchbox.open{display:flex;gap:8px}.searchbox input{padding:8px;border:1px solid var(--line);border-radius:8px}.menu-toggle{display:none}.stories{padding:23px 0 10px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:17px}.section-head h2{font-size:25px;margin:0}.section-head p{margin:0;color:var(--muted)}.story-row{display:flex;gap:18px;overflow:auto;scrollbar-width:thin;padding:3px 2px 12px}.story{flex:0 0 91px;text-align:center;background:none;border:0;padding:0;cursor:pointer;color:var(--ink)}.story-ring{display:block;padding:4px;border-radius:50%;background:linear-gradient(135deg,#ffa000,#88b04b,#f59e0b);width:82px;height:82px;margin:auto auto 5px}.story-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid white}.story span:last-child{font-size:13px}.hero{position:relative;min-height:385px;border-radius:25px;overflow:hidden;margin:16px auto 45px;background:#24303b;color:white;box-shadow:var(--shadow)}.hero-slide{position:absolute;inset:0;display:grid;grid-template-columns:48% 52%;opacity:0;visibility:hidden;transition:opacity .5s}.hero-slide.active{opacity:1;visibility:visible;position:relative}.hero-photo{background-size:cover;background-position:center;min-height:385px}.hero-slide:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(270deg,rgba(31,41,51,.98) 30%,rgba(31,41,51,.75) 55%,transparent 100%)}.hero-copy{position:relative;z-index:1;grid-column:2;grid-row:1;align-self:center;padding:45px 30px 45px 65px}.hero-copy small{color:var(--gold);font-weight:bold}.hero-copy h1{font-size:clamp(27px,4vw,44px);line-height:1.4;margin:9px 0}.hero-copy .english{direction:ltr;text-align:right;color:#f5d68a;font-size:18px}.hero-copy p{max-width:490px;color:#edf0f2}.hero-controls{position:absolute;z-index:2;bottom:20px;right:32px;display:flex;gap:9px;align-items:center}.hero-controls button,.carousel-controls button{border:1px solid #ffffff77;background:#ffffff20;color:inherit;border-radius:50%;width:39px;height:39px;cursor:pointer}.hero-dots{display:flex;gap:6px}.hero-dots button{width:9px;height:9px;padding:0;background:#ffffff88;border:0}.hero-dots button[aria-current=true]{background:var(--gold);width:24px;border-radius:8px}.categories{margin-bottom:50px}.category-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.category-card{display:grid;place-items:center;gap:4px;background:#fff;border:1px solid #f0eee8;border-radius:17px;padding:18px 8px;min-height:117px;box-shadow:var(--shadow);text-align:center}.category-icon{width:40px;height:40px;border-radius:14px;background:#fff1d6;display:grid;place-items:center;font-size:21px;color:#6e8b3d}.category-card strong{font-size:14px}.section{margin:0 auto 52px}.course-shell{position:relative}.course-track,.honor-track{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 14px;direction:rtl}.course-track::-webkit-scrollbar,.honor-track::-webkit-scrollbar{display:none}.course-card{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid #f1efeb}.course-card img{width:100%;height:185px;object-fit:cover;display:block}.course-body{padding:17px}.course-body h3{margin:0 0 9px;font-size:18px}.course-meta{font-size:13px;color:var(--muted);display:flex;justify-content:space-between;gap:8px}.course-price{border-top:1px solid var(--line);margin-top:13px;padding-top:12px;font-weight:800;color:#6e8b3d}.course-price small{font-size:12px;font-weight:400;color:var(--muted)}.carousel-controls{display:flex;gap:8px}.carousel-controls button{color:var(--ink);border-color:var(--line);background:white}.honors{background:var(--cream);padding:34px 0 38px;margin-bottom:50px}.honor-card{flex:0 0 calc((100% - 36px)/3);scroll-snap-align:start;background:#fff;border-radius:17px;padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow)}.honor-card img{width:86px;height:86px;border-radius:50%;object-fit:cover}.trophy{font-size:23px}.honor-card h3{margin:0;font-size:17px}.honor-card p{margin:2px 0;color:var(--muted);font-size:14px}.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.article-card{background:white;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.article-card img{width:100%;height:160px;object-fit:cover}.article-card div{padding:15px}.article-card h3{margin:0 0 7px;font-size:17px}.article-card p{color:var(--muted);font-size:14px;margin:0}.site-footer{background:#1f2933;color:#f6f6f3;padding:42px 0 80px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:42px}.site-footer h2,.site-footer h3{color:var(--gold);margin-top:0}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:5px 0}.footer-note{color:#d3d8dc;font-size:14px}.copyright{border-top:1px solid #ffffff24;margin-top:30px;padding-top:15px;font-size:13px;color:#c7cdd2}.mobile-nav{display:none}.story-modal[hidden]{display:none}.story-modal{position:fixed;inset:0;background:#101820ed;z-index:100;display:grid;place-items:center;padding:18px}.story-panel{position:relative;width:min(420px,95vw);height:min(760px,90vh);background:#222;color:white;border-radius:22px;overflow:hidden}.story-panel img,.story-panel video{width:100%;height:100%;object-fit:cover}.story-overlay{position:absolute;inset:0;background:linear-gradient(#0008,transparent 25%,transparent 70%,#0008);pointer-events:none}.story-title{position:absolute;top:35px;right:18px}.story-close,.story-prev,.story-next{position:absolute;border:0;border-radius:50%;background:#1119;color:white;width:40px;height:40px;cursor:pointer;z-index:2}.story-close{top:13px;left:13px}.story-prev{top:50%;right:9px}.story-next{top:50%;left:9px}.story-progress{position:absolute;top:8px;left:16px;right:16px;height:3px;background:#fff7}.story-progress i{display:block;background:white;height:100%;width:0}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:30px 0}.content-page{padding:30px 0 60px;min-height:55vh}.content-page h1{line-height:1.5}.entry-content img{max-width:100%;height:auto}.pagination{display:flex;gap:8px;justify-content:center;margin:30px}.notice-empty{background:#fff7e5;padding:20px;border-radius:14px}.search-page form{display:flex;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.head-inner{gap:12px}.main-nav{gap:12px}.brand{min-width:190px}.category-grid{grid-template-columns:repeat(3,1fr)}.course-card,.honor-card{flex-basis:calc((100% - 18px)/2)}.hero{min-height:350px}.hero-photo{min-height:350px}.hero-copy{padding-left:35px}}
@media(max-width:640px){body{font-size:15px}.wrap{width:calc(100% - 28px)}.head-inner{min-height:68px;justify-content:space-between}.brand{min-width:0}.brand-mark{width:41px;height:41px}.main-nav{display:none;position:absolute;top:68px;right:14px;left:14px;background:white;box-shadow:var(--shadow);border-radius:15px;padding:14px;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.menu-toggle{display:block}.head-actions{gap:3px}.login-link{padding:7px 10px;font-size:13px}.stories{padding-top:17px}.story{flex-basis:77px}.story-ring{width:68px;height:68px}.section-head h2{font-size:21px}.section-head p{font-size:13px}.hero{margin:11px auto 34px;min-height:380px;border-radius:20px}.hero-slide{grid-template-columns:1fr;align-content:end}.hero-photo{position:absolute;inset:0;min-height:100%;background-position:center}.hero-slide:after{background:linear-gradient(0deg,#1f2933 7%,#1f2933dd 40%,transparent 100%)}.hero-copy{grid-column:1;grid-row:1;align-self:end;padding:155px 23px 64px}.hero-copy h1{font-size:29px}.hero-copy p{font-size:14px;margin:4px 0}.hero-controls{right:auto;left:18px;bottom:17px}.category-grid{gap:10px}.category-card{min-height:100px;padding:12px 4px}.category-card strong{font-size:12px}.category-icon{width:35px;height:35px}.section{margin-bottom:37px}.course-card{flex-basis:82%;}.course-card img{height:175px}.honors{padding:26px 0}.honor-card{flex-basis:82%}.articles-grid{grid-template-columns:1fr;gap:13px}.article-card{display:grid;grid-template-columns:38% 1fr}.article-card img{height:100%;min-height:130px}.article-card div{padding:12px}.footer-grid{grid-template-columns:1fr;gap:21px}.site-footer{padding:32px 0 90px}.mobile-nav{position:fixed;bottom:0;right:0;left:0;z-index:20;background:white;border-top:1px solid var(--line);display:flex;justify-content:space-around;padding:8px 5px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -5px 20px #0000000a}.mobile-nav a{text-align:center;font-size:11px;display:grid;gap:1px}.mobile-nav span:first-child{font-size:18px}.archive-grid{grid-template-columns:1fr}.content-page{padding-top:20px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Mango & pistachio accents */
:root{--mango:#ffa000;--mango-bright:#ff9800;--pistachio:#88b04b;--pistachio-soft:#97c93c;--pistachio-deep:#6e8b3d}
.brand-mark,.login-link,.button{background:linear-gradient(135deg,var(--mango),#f59e0b);color:#252c20}
.brand-mark{box-shadow:inset 0 -3px 0 #e38c00}
.category-icon{background:#edf4e3;color:var(--pistachio-deep)}
.story-ring{background:linear-gradient(135deg,var(--mango),var(--pistachio-soft),var(--pistachio))}
.site-footer h2,.site-footer h3{color:#f9b233}
.site-footer:before{content:"";display:block;height:5px;margin-top:-42px;margin-bottom:36px;background:linear-gradient(90deg,#88b04b 0 34%,#ffa000 34% 67%,#97c93c 67%)}
.hero-copy small{color:#ffbd45}
.hero-dots button[aria-current=true]{background:#97c93c}
.notice-empty{background:#f3f7ec;border-inline-start:4px solid #88b04b}

/* ===== Story viewer (Instagram-style fullscreen) ===== */
.story.seen .story-ring{background:#d7dce4}
.story.seen .story-ring img{opacity:.55}
.story-viewer{position:fixed;inset:0;z-index:9999;display:none;direction:rtl}
.story-viewer.open{display:block}
.story-viewer-backdrop{position:absolute;inset:0;background:rgba(13,17,23,.96)}
.story-viewer-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:52px 0 34px}
.story-progress{position:absolute;top:10px;left:16px;right:16px;display:flex;gap:4px;z-index:3}
.story-progress-seg{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.story-progress-seg i{display:block;height:100%;width:0;background:#fff;border-radius:3px}
.story-viewer-close{position:absolute;top:20px;left:16px;z-index:4;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.16);color:#fff;font-size:24px;line-height:1;cursor:pointer;display:grid;place-items:center}
.story-viewer-close:hover{background:rgba(255,255,255,.3)}
.story-viewer-media{position:relative;width:min(430px,100vw);height:min(calc(100vh - 110px),780px);background:#000;border-radius:0}
.story-viewer-media img{width:100%;height:100%;object-fit:contain;display:block;background:#000}
.story-viewer-title{position:absolute;bottom:22px;right:50%;transform:translateX(50%);z-index:3;color:#fff;background:rgba(0,0,0,.45);padding:6px 16px;border-radius:999px;font-size:14px;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.story-viewer-tap{position:absolute;top:0;bottom:0;width:34%;max-width:170px;border:0;background:transparent;cursor:pointer;z-index:2;padding:0}
.story-viewer-prev{right:0}
.story-viewer-next{left:0}
.story-viewer-open{overflow:hidden}
@media(max-width:640px){
 .story-viewer-panel{padding:44px 0 24px}
 .story-viewer-media{width:100vw;height:calc(100vh - 90px)}
 .story-viewer-close{top:12px}
 .story-progress{top:8px;left:12px;right:12px}
}

.brand-logo{display:block;max-width:175px;max-height:56px;width:auto;height:auto;object-fit:contain}.signal-fab{position:fixed;z-index:120;right:22px;bottom:24px;display:inline-flex;align-items:center;gap:10px;padding:12px 17px;border-radius:999px;background:linear-gradient(135deg,#f59e0b,#ffb12b);color:#1f2933!important;font-weight:800;box-shadow:0 9px 28px #1f29334a;transition:transform .2s,box-shadow .2s}.signal-fab:hover{transform:translateY(-3px);box-shadow:0 13px 32px #1f293355}.signal-fab[hidden]{display:none}.signal-fab-close{display:grid;place-items:center;width:23px;height:23px;border:0;border-radius:50%;background:#1f293326;color:#1f2933;font:20px/1 inherit;cursor:pointer;padding:0}.signal-fab-close:hover{background:#1f293344}@media(max-width:640px){.signal-fab{right:14px;bottom:78px;padding:10px 14px;font-size:14px}}

/* v1.6.0 layout refinements */
.head-inner{direction:ltr;gap:22px}.brand{direction:rtl;order:3;margin-left:auto}.main-nav{direction:rtl;order:1;justify-content:flex-start;gap:24px;flex:0 1 auto}.head-actions{direction:rtl;order:2;margin-left:auto;gap:12px}.login-link{white-space:nowrap}
.stories{padding:0 0 10px;margin-top:0}.hero{height:auto;min-height:0;aspect-ratio:1200/360;border-radius:0;overflow:hidden;margin:0 auto 45px;background:#e9ecef;box-shadow:none;color:inherit}.hero-slides{position:absolute;inset:0}.hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%}.hero-slide.active{opacity:1;visibility:visible}.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}.hero-slide:after,.hero-controls{display:none!important}
.course-shell{overflow:visible}.course-track{align-items:stretch;overflow-x:auto;overflow-y:visible;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:22px max(6%,calc((100% - 340px)/2)) 30px;gap:22px;direction:rtl;overscroll-behavior-inline:contain}.course-card{flex:0 0 29%;scroll-snap-align:center;transform:scale(.91);opacity:.82;transition:transform .35s ease,opacity .35s ease,box-shadow .35s ease;position:relative;z-index:1}.course-card.is-centered{transform:scale(1.045);opacity:1;z-index:2;box-shadow:0 16px 36px #1f293326}.course-controls{display:flex;gap:8px}.course-controls button{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:50%;width:39px;height:39px;cursor:pointer}
@media(max-width:900px){.head-inner{gap:14px}.main-nav{gap:14px}.course-card{flex-basis:34%}.course-track{gap:16px}}
@media(max-width:640px){.head-inner{position:relative;direction:ltr;min-height:68px;justify-content:space-between}.menu-toggle{display:block;order:1;padding:8px}.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);order:2;margin:0;min-width:0;z-index:1;gap:7px}.brand-copy small{display:none}.brand b{font-size:16px;white-space:nowrap}.brand-logo{max-width:125px;max-height:43px}.head-actions{order:3;margin:0 0 0 auto;gap:3px;z-index:2}.login-link{white-space:nowrap;flex-wrap:nowrap;padding:7px 10px;font-size:12px;line-height:1.3;border-radius:10px}.main-nav{direction:rtl;top:68px;right:14px;left:14px}.stories{padding:0 0 8px}.hero{aspect-ratio:1.9/1;min-height:0;border-radius:0;margin:0 auto 34px}.course-track{gap:12px;padding:20px calc((100% - 76%)/2) 26px;scroll-padding-inline:12%}.course-card{flex-basis:76%;transform:scale(.91)}.course-card.is-centered{transform:scale(1.035)}.course-controls button{width:36px;height:36px}}

/* ===== v1.6.2: header layout, vertical course cards, splash screen ===== */

/* --- Desktop header: logo + name at RIGHT, nav + auth button at LEFT --- */
@media(min-width:641px){
 .head-inner{display:flex;align-items:center;direction:rtl;gap:18px}
 .head-inner>.brand{order:1;margin:0;margin-inline-end:auto;display:flex;align-items:center;gap:10px;min-width:0}
 .head-inner>.main-nav{order:2;display:flex;align-items:center;gap:22px;flex:0 1 auto;margin:0}
 .head-inner>.head-actions{order:3;display:flex;align-items:center;gap:10px;margin:0}
 .head-inner>.menu-toggle{display:none}
 .login-link{white-space:nowrap}
}

/* --- Mobile header: hamburger RIGHT, logo centered, auth button LEFT, single line --- */
@media(max-width:640px){
 .head-inner{position:relative;display:flex;align-items:center;justify-content:space-between;direction:ltr;min-height:64px;gap:0}
 .head-inner>.menu-toggle{order:1;display:block;position:static;transform:none;margin:0;padding:8px;background:none;border:0;font-size:24px;line-height:1;cursor:pointer}
 .head-inner>.brand{order:2;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;gap:8px;white-space:nowrap}
 .head-inner>.brand .brand-copy small{display:none}
 .head-inner>.brand .brand-logo{max-width:120px;max-height:42px}
 .head-inner>.head-actions{order:3;margin:0;display:flex;align-items:center}
 .head-inner>.head-actions .icon-btn{display:none}
 .head-inner>.head-actions .login-link{white-space:nowrap;padding:7px 11px;font-size:12px;line-height:1.3;border-radius:10px}
 .main-nav{top:64px}
}

/* --- Course cards: vertical layout, image on top, details below --- */
.course-viewport{overflow:hidden;padding:0;margin:0}
.course-track{display:flex;align-items:stretch;gap:20px;direction:rtl;overflow:hidden;padding:4px 0 26px;transform:translateX(0);transition:transform .5s cubic-bezier(.33,.9,.35,1);will-change:transform}
.course-card{position:relative;display:flex;flex-direction:column;flex:0 0 calc((100% - 40px)/3);min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transform:none;opacity:1;scroll-snap-align:none}
.course-card .course-thumb{width:100%;height:150px;overflow:hidden;background:#f0f2ed;flex:0 0 auto}
.course-card .course-thumb img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.course-card:hover .course-thumb img{transform:scale(1.05)}
.course-body{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;padding:14px 16px 16px}
.course-body h3{font-size:16px;line-height:1.55;margin:0 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.course-meta{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px;line-height:1.6;color:var(--muted)}
.course-price{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:auto;padding-top:9px;font-size:14px;line-height:1.4}
.course-price a{font-size:11px;font-weight:600;color:var(--muted)}
@media(min-width:641px) and (max-width:900px){.course-card{flex-basis:calc((100% - 20px)/2)}.course-card .course-thumb{height:140px}}
@media(max-width:640px){
 /* 1 centered card + peeking sides */
 .course-track{gap:12px;padding:4px 0 22px}
 .course-card{flex:0 0 74%;scroll-margin:0}
 .course-card .course-thumb{height:165px}
 .course-body{padding:12px 13px 14px}
 .course-body h3{font-size:15px;line-height:1.5;margin-bottom:6px}
 .course-meta{font-size:10.5px;line-height:1.5}
 .course-price{font-size:12.5px;padding-top:7px}
 .course-price a{font-size:10px}
 .course-track>.course-card:first-child{margin-inline-start:13%}
 .course-track>.course-card:last-child{margin-inline-end:13%}
}


.hero{overflow:hidden;touch-action:pan-y}
.hero-slides{display:flex;position:absolute;inset:0;width:100%;height:100%}
.hero-slide{position:relative;flex:0 0 100%;width:100%;height:100%;visibility:visible;opacity:1;transition:transform .55s cubic-bezier(.33,.9,.35,1);will-change:transform}

/* --- Intro logo splash (session-based, assembly animation) --- */
.signal-intro{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:linear-gradient(160deg,#1f2933,#2b3a2f);color:#fff;direction:rtl;opacity:1;transition:opacity .6s ease}
.signal-intro.is-leaving{opacity:0;pointer-events:none}
.signal-intro img{width:min(190px,46vw);height:auto;filter:drop-shadow(0 10px 26px rgba(0,0,0,.45))}
.signal-intro .intro-brand{font-size:20px;font-weight:800;letter-spacing:.5px}
@keyframes introPiece{0%{opacity:0;transform:translate(var(--ix,40px),var(--iy,60px)) rotate(var(--ir,25deg)) scale(.6)}45%{opacity:1}70%{transform:translate(0,0) rotate(0) scale(1.06)}100%{opacity:1;transform:translate(0,0) rotate(0) scale(1)}}
@keyframes introFadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.signal-intro img{animation:introPiece 1.7s cubic-bezier(.3,.85,.35,1) both}
.signal-intro .intro-brand{animation:introFadeUp .8s ease .9s both}
.intro-construction{position:relative;width:220px;height:120px;pointer-events:none}
.intro-worker{position:absolute;bottom:0;font-size:30px;opacity:0;animation:introWorker 3s ease .2s both}
.intro-worker.worker-one{right:8%}
.intro-worker.worker-two{left:8%;animation-delay:.5s}
@keyframes introWorker{0%{opacity:0;transform:translateY(20px)}15%{opacity:.95;transform:translateY(0)}70%{opacity:.95;transform:translateY(0)}100%{opacity:0;transform:translateY(-14px)}}
.intro-tool{position:absolute;top:12%;font-size:22px;color:#ffbd45;opacity:0;animation:introSpark 1.1s ease-in-out infinite}
.intro-tool.tool-one{right:34%;animation-delay:.3s}
.intro-tool.tool-two{left:34%;animation-delay:.8s}
@keyframes introSpark{0%,100%{opacity:0;transform:scale(.6)}50%{opacity:.9;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.signal-intro img,.intro-worker,.intro-tool{animation:none;opacity:1}}


/* v1.6.2 verified layout overrides: match the actual header wrappers */
@media(min-width:641px){
 .head-inner{direction:ltr;justify-content:flex-start;gap:24px}
 .head-inner>.brand{order:2;margin:0 0 0 auto;direction:rtl;flex:0 0 auto}
 .head-inner>.head-left{order:1;display:flex;align-items:center;flex-direction:row-reverse;gap:22px;margin-right:auto;direction:ltr}
 .head-left>.main-nav{display:flex;direction:rtl;align-items:center;gap:20px;flex:0 1 auto;margin:0}
 .head-left>.head-actions{display:flex;direction:rtl;align-items:center;gap:10px;margin:0}
 .head-inner>.menu-toggle{display:none}
}
@media(max-width:640px){
 .head-inner{direction:ltr;min-height:68px;justify-content:center;padding-inline:44px}
 .head-inner>.brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;display:flex;align-items:center;justify-content:center;gap:6px;max-width:calc(100% - 150px);z-index:2}
 .head-inner>.brand .brand-logo{width:auto;max-width:78px;max-height:42px}
 .head-inner>.brand .brand-copy{display:none}
 .brand-mark{display:none!important}
 .head-inner>.menu-toggle{display:block;position:absolute;right:0;top:50%;transform:translateY(-50%);order:0;z-index:3;padding:8px;font-size:23px;line-height:1}
 .head-inner>.head-left{display:block;position:static}
 .head-left>.main-nav{display:none;position:absolute;top:68px;right:14px;left:14px;z-index:20;background:#fff;box-shadow:var(--shadow);border-radius:15px;padding:14px;flex-direction:column;align-items:stretch}
 .head-left>.main-nav.open{display:flex}
 .head-left>.head-actions{display:flex;position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:3;gap:0}
 .head-left>.head-actions .icon-btn{display:none}
 .head-left>.head-actions .login-link{display:inline-flex;white-space:nowrap;flex-wrap:nowrap;padding:6px 9px;font-size:11px;line-height:1.25;border-radius:9px}
}
/* Track moves only within its clipping viewport; no scrollIntoView/page jumps. */
.course-viewport{overflow:hidden;position:relative}
.course-track{overflow:visible;scroll-snap-type:none;touch-action:pan-y;transition:transform .5s cubic-bezier(.33,.9,.35,1);will-change:transform}
.course-card{scroll-snap-align:none}
@media(max-width:640px){.course-track{gap:12px;padding:8px 0 24px}.course-card{flex-basis:74%}.course-track>.course-card:first-child,.course-track>.course-card:last-child{margin:0}}
.hero{position:relative;overflow:hidden;touch-action:pan-y}
.hero-track{position:absolute;inset:0;display:flex;height:100%;will-change:transform;transition:transform .55s cubic-bezier(.33,.9,.35,1)}
.hero-track>.hero-slide{position:relative;inset:auto;display:block;flex:0 0 100%;width:100%;height:100%;opacity:1;visibility:visible;transition:none}
.hero-track>.hero-slide img{display:block;width:100%;height:100%;object-fit:cover}
.signal-intro{overflow:hidden}
.signal-intro .intro-scene{position:relative;width:min(260px,72vw);height:130px;display:grid;place-items:center;margin-bottom:3px}
.signal-intro .intro-building{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:#f8bd50;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.82;filter:drop-shadow(0 0 8px #f59e0b44);animation:buildingDraw 2.6s ease both}
.signal-intro .build-ground{stroke:#88b04b;stroke-dasharray:204;stroke-dashoffset:204;animation:drawLine 1s .2s ease forwards}
.signal-intro .build-frame{stroke-dasharray:520;stroke-dashoffset:520;animation:drawLine 1.6s .35s ease forwards}
.signal-intro .build-roof{stroke:#ffbd45;stroke-dasharray:150;stroke-dashoffset:150;animation:drawLine 1s .8s ease forwards}
.signal-intro .build-crane{stroke:#f3f7ec;stroke-dasharray:180;stroke-dashoffset:180;animation:drawLine 1s .25s ease forwards}
.signal-intro .build-spark{fill:#ffbd45;stroke:none;animation:sparkPulse .8s 1s ease-in-out infinite alternate}
.signal-intro .intro-worker{position:absolute;bottom:2px;font-size:22px;opacity:0;animation:introWorker 2.3s .25s ease both}
.signal-intro .worker-one{right:3%}.signal-intro .worker-two{left:3%;animation-delay:.65s}
.signal-intro .intro-tool{position:absolute;top:18%;font-size:18px;opacity:0;animation:sparkPulse .8s .8s ease-in-out infinite alternate}
.signal-intro .tool-one{right:26%}.signal-intro .tool-two{left:27%;animation-delay:1.2s}
@keyframes drawLine{to{stroke-dashoffset:0}}
@keyframes buildingDraw{0%{opacity:.15;transform:translateY(8px)}100%{opacity:.9;transform:translateY(0)}}
@keyframes sparkPulse{from{opacity:.25;transform:scale(.8)}to{opacity:1;transform:scale(1.15)}}
@media(prefers-reduced-motion:reduce){.signal-intro .intro-building,.signal-intro .build-ground,.signal-intro .build-frame,.signal-intro .build-roof,.signal-intro .build-crane,.signal-intro .intro-worker,.signal-intro .intro-tool{animation:none;stroke-dashoffset:0;opacity:1}}

/* --- v1.6.3: intro SVG stroke-dash draw animation (logo-shaped splash, ~5s) --- */
.signal-intro .intro-logo-svg{width:min(150px,36vw);height:auto;opacity:.95;filter:drop-shadow(0 6px 18px rgba(0,0,0,.45))}
.signal-intro .intro-logo-svg path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.signal-intro .intro-cap{stroke-dasharray:200;stroke-dashoffset:200;animation:letterDraw 1.1s .1s ease forwards}
.signal-intro .intro-cap-tail{stroke-dasharray:130;stroke-dashoffset:130;animation:letterDraw .9s .5s ease forwards}
.signal-intro .intro-book{stroke-dasharray:200;stroke-dashoffset:200;animation:letterDraw 1.2s .7s ease forwards}
.signal-intro .intro-book2{stroke-dasharray:200;stroke-dashoffset:200;animation:letterDraw 1.2s .9s ease forwards}
.signal-intro .intro-book-line{stroke-dasharray:60;stroke-dashoffset:60;animation:letterDraw .6s 1.5s ease forwards}
.signal-intro .intro-pen{stroke-dasharray:120;stroke-dashoffset:120;animation:letterDraw .9s 1.7s ease forwards}
.signal-intro .intro-letter{stroke-dasharray:170;stroke-dashoffset:170;animation:letterDraw 1.2s 2s ease forwards}
@keyframes letterDraw{to{stroke-dashoffset:0}}
.signal-intro.is-leaving .intro-logo-svg{transition:opacity .5s ease;opacity:0}
@media(prefers-reduced-motion:reduce){.signal-intro .intro-logo-svg path{animation:none;stroke-dashoffset:0}}

/* --- Banner slider v1.6.7: flex track, one slide per viewport, translateX(-100% * index) --- */
.hero{position:relative;overflow:hidden;touch-action:pan-y}
.hero-slides,.hero-track{position:absolute;inset:0;display:flex;width:100%;height:100%;margin:0;padding:0;list-style:none;will-change:transform;transition:transform .55s cubic-bezier(.33,.9,.35,1)}
.hero-slide{position:relative;flex:0 0 100%;width:100%;max-width:100%;height:100%;min-height:0;opacity:1;visibility:visible;display:block;overflow:hidden;transform:none;transition:none}
.hero-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}


/* Signal fixes: actual header wrappers and image-first hero markup (v1.6.8) */
.site-header .head-inner>.brand{min-width:0;max-width:clamp(190px,28vw,360px);overflow:hidden}
.site-header .head-inner>.brand .brand-logo{display:block;width:auto;max-width:clamp(110px,14vw,175px);height:auto;max-height:56px;object-fit:contain}
.site-header .head-inner>.brand .brand-copy{min-width:0;overflow:hidden}
@media(max-width:640px){
 .site-header .head-inner{min-height:68px}
 .site-header .head-inner>.brand{max-width:calc(100% - 150px);overflow:hidden}
 .site-header .head-inner>.brand .brand-logo{width:auto;max-width:78px;max-height:42px}
}
/* The live markup is .hero-viewport > .hero-track > .hero-slide. */
.hero{height:auto;min-height:0;aspect-ratio:auto;overflow:hidden}
.hero-viewport{width:100%;overflow:hidden}
.hero-track{position:relative;display:block;width:100%;height:auto;transform:none!important;transition:none!important}
.hero-track>.hero-slide{display:none;position:relative;inset:auto;width:100%;height:auto;max-width:100%;opacity:1;visibility:visible;transform:none;overflow:hidden}
.hero-track>.hero-slide.active{display:block;position:relative}
.hero-track>.hero-slide img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center}
@media(max-width:640px){.hero{border-radius:20px}.hero-track>.hero-slide img{height:auto;object-fit:contain}}

/* =========================================================
   Course carousel fix
   ========================================================= */

.course-viewport {
    position: relative;
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
}

.course-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    min-width: 0;

    gap: 18px;

    overflow-x: auto !important;
    overflow-y: hidden !important;

    direction: rtl;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;

    scrollbar-width: none;

    /*
     * علت اصلی مشکل قبلی، جابه‌جایی هم‌زمان با transform بود.
     */
    transform: none !important;
    -webkit-transform: none !important;
}

.course-track::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.course-track > .course-card {
    display: flex;
    flex: 0 0 calc((100% - 36px) / 3) !important;
    width: calc((100% - 36px) / 3) !important;
    max-width: calc((100% - 36px) / 3) !important;
    min-width: 0;

    scroll-snap-align: start;
    scroll-snap-stop: always;
}

/*
 * اگر کارت‌ها داخل article یا wrapper دیگری باشند،
 * آن wrapper نباید عرض track را بشکند.
 */
.course-track > article,
.course-track > .course-item {
    flex: 0 0 calc((100% - 36px) / 3) !important;
    width: calc((100% - 36px) / 3) !important;
    max-width: calc((100% - 36px) / 3) !important;
    min-width: 0;
    scroll-snap-align: start;
}

/* تبلت: دو کارت کامل */
@media (max-width: 900px) {
    .course-track {
        gap: 16px;
    }

    .course-track > .course-card,
    .course-track > article,
    .course-track > .course-item {
        flex-basis: calc((100% - 16px) / 2) !important;
        width: calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
    }
}

/* موبایل: هر بار یک کارت کامل */
@media (max-width: 600px) {
    .course-track {
        gap: 12px;
        padding-left: 0;
        padding-right: 0;
    }

    .course-track > .course-card,
    .course-track > article,
    .course-track > .course-item {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
    }
}
/* =========================================================
   FINAL COURSE CAROUSEL OVERRIDE
   ========================================================= */

/* خود مسیر فقط اسکرول می‌شود؛ با transform جابه‌جا نمی‌شود */
.course-viewport {
    position: relative;
    width: 100%;
    min-width: 0;
    overflow: hidden;
}

.course-track {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch;
    width: 100%;
    min-width: 0;

    gap: 20px;
    padding: 22px 2px 30px;

    direction: rtl;
    overflow-x: auto !important;
    overflow-y: hidden !important;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;

    transform: none !important;
    -webkit-transform: none !important;
}

.course-track::-webkit-scrollbar {
    display: none;
}

/* دسکتاپ: سه کارت */
.course-track > .course-card {
    position: relative;
    display: flex;
    flex-direction: column;

    flex: 0 0 calc((100% - 40px) / 3) !important;
    width: calc((100% - 40px) / 3) !important;
    max-width: calc((100% - 40px) / 3) !important;
    min-width: 0;

    scroll-snap-align: center;
    scroll-snap-stop: always;

    opacity: .88;
    transform: scale(.97);
    transform-origin: center center;

    transition:
        transform .3s ease,
        opacity .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;

    will-change: transform;
}

/* کارت مورد توجه کاربر */
.course-track > .course-card:hover,
.course-track > .course-card:focus-within,
.course-track > .course-card.is-centered,
.course-track > .course-card.is-active-course {
    z-index: 3;
    opacity: 1;
    transform: scale(1.025);
    border-color: #88b04b;
    box-shadow: 0 16px 36px rgba(31, 41, 51, .18);
}

/* zoom تصویر کارت */
.course-track > .course-card .course-thumb,
.course-track > .course-card img {
    overflow: hidden;
}

.course-track > .course-card .course-thumb img,
.course-track > .course-card > img {
    transition: transform .4s ease;
}

.course-track > .course-card:hover .course-thumb img,
.course-track > .course-card:focus-within .course-thumb img,
.course-track > .course-card.is-centered .course-thumb img,
.course-track > .course-card.is-active-course .course-thumb img,
.course-track > .course-card:hover > img {
    transform: scale(1.06);
}

/* تبلت: دو کارت */
@media (max-width: 900px) {
    .course-track {
        gap: 16px;
    }

    .course-track > .course-card {
        flex-basis: calc((100% - 16px) / 2) !important;
        width: calc((100% - 16px) / 2) !important;
        max-width: calc((100% - 16px) / 2) !important;
    }
}

/* موبایل: یک کارت اصلی با کمی فضای اطراف */
@media (max-width: 640px) {
    .course-track {
        gap: 12px;
        padding: 18px 10% 28px;
    }

    .course-track > .course-card {
        flex-basis: 80% !important;
        width: 80% !important;
        max-width: 80% !important;
        transform: scale(.95);
    }

    .course-track > .course-card:hover,
    .course-track > .course-card:focus-within,
    .course-track > .course-card.is-centered,
    .course-track > .course-card.is-active-course {
        transform: scale(1.02);
    }
}

/* روی دستگاه‌های لمسی، کارت لمس‌شده مشخص بماند */
@media (hover: none) {
    .course-track > .course-card:active {
        opacity: 1;
        transform: scale(1.02);
        box-shadow: 0 12px 28px rgba(31, 41, 51, .16);
    }
}
