:root{
  --bg:#f6f3ec;--surface:#ffffff;--surface-2:#efeadf;--ink:#14231c;--muted:#5d6b63;
  --line:rgba(20,35,28,.1);--brand:#0f6b4a;--brand-2:#18a06d;--deep:#0f3d2e;--gold:#c9a24a;
  --radius:28px;--shadow:0 30px 60px -30px rgba(15,61,46,.35);
  --ease:cubic-bezier(.22,.61,.36,1);--t:.5s;
  font-family:Vazirmatn,system-ui,sans-serif;
}
[data-theme=dark]{
  --bg:#0b1411;--surface:#121e19;--surface-2:#182822;--ink:#eaf2ec;--muted:#9aaba1;
  --line:rgba(234,242,236,.09);--brand:#2fc488;--brand-2:#7be3b4;--deep:#0a2a1f;
  --shadow:0 30px 60px -30px rgba(0,0,0,.7);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);line-height:1.9;font-size:16px;overflow-x:hidden;transition:background-color var(--t) var(--ease),color var(--t) var(--ease)}
html.theme-anim *,html.theme-anim *::before,html.theme-anim *::after{transition:background-color var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),filter var(--t) var(--ease)!important}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.grad{background:linear-gradient(100deg,var(--brand),var(--brand-2) 50%,var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}

/* nav */
.nav{position:fixed;top:16px;inset-inline:0;margin:auto;width:min(1200px,calc(100% - 32px));z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 10px 8px 16px;
  border-radius:999px;background:color-mix(in srgb,var(--surface) 70%,transparent);
  backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--line);transition:box-shadow var(--t) var(--ease)}
.nav.scrolled{box-shadow:var(--shadow)}
.brand img{height:64px;width:auto;transition:height var(--t) var(--ease)}
.nav.scrolled .brand img{height:48px}
[data-theme=dark] .brand img,[data-theme=dark] .foot-logo{filter:brightness(0) invert(1) opacity(.9)}
.links{display:flex;gap:4px}
.links a{padding:8px 14px;border-radius:999px;font-size:15px;color:var(--muted);transition:background-color var(--t) var(--ease),color var(--t) var(--ease)}
.links a:hover{background:var(--surface-2);color:var(--ink)}
.nav-actions{display:flex;gap:8px;align-items:center}
.icon-btn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;transition:background-color var(--t) var(--ease),transform var(--t) var(--ease)}
.icon-btn:hover{background:var(--surface-2);transform:rotate(-12deg)}
.icon-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.menu{display:none;gap:5px;align-content:center}
.menu span{display:block;width:16px;height:2px;background:currentColor;border-radius:2px}

.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;font-weight:700;font-size:16px;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease),background-color var(--t) var(--ease);cursor:pointer;border:0;font-family:inherit}
.btn.sm{padding:10px 18px;font-size:14px}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.5}
.btn-primary{background:var(--brand);color:#fff;box-shadow:0 10px 30px -10px var(--brand)}
[data-theme=dark] .btn-primary{color:#05140e}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px var(--brand)}
.btn-ghost{border:1px solid var(--line);background:var(--surface)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-light{background:#fff;color:var(--deep)}

/* hero */
.hero{min-height:min(100svh,920px);display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;
  width:min(1200px,calc(100% - 40px));margin:auto;padding:130px 0 60px}
.chip{display:inline-flex;align-items:center;gap:10px;padding:6px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:14px;color:var(--muted)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--brand-2);box-shadow:0 0 0 0 var(--brand-2);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 10px transparent}100%{box-shadow:0 0 0 0 transparent}}
h1{font-size:clamp(44px,7vw,92px);line-height:1.12;font-weight:900;letter-spacing:-1px;margin:22px 0}
.lead{font-size:clamp(16px,1.4vw,19px);color:var(--muted);max-width:520px}
.cta-row{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}
.avatars{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:14px}
.avatars b{color:var(--ink)}
.stack{display:flex}
.stack img{width:40px;height:40px;border-radius:50%;object-fit:cover;border:3px solid var(--bg);margin-inline-start:-12px}
.stack img:first-child{margin:0}

.hero-visual{position:relative;height:min(620px,70vh);}
.hv{position:absolute;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow)}
.hv img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.hv:hover img{transform:scale(1.06)}
.hv-main{inset:0 18% 12% 0;border-radius:200px 200px var(--radius) var(--radius)}
.hv-a{width:40%;height:38%;left:0;bottom:0;border:6px solid var(--bg)}
.hv-b{width:30%;height:30%;right:-2%;top:6%;border:6px solid var(--bg);border-radius:50%}
.float-card{position:absolute;display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:20px;
  background:color-mix(in srgb,var(--surface) 75%,transparent);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}
.fc-1{right:-4%;bottom:22%}
.fc-1 b{font-size:38px;font-weight:900;color:var(--brand)}
.fc-1 span{font-size:14px;color:var(--muted)}
.fc-2{left:36%;top:-2%;font-size:13px;line-height:1.6;animation-delay:-3s}
.fc-2 svg{width:30px;height:30px;fill:#e2574c}
@keyframes float{50%{transform:translateY(-12px)}}

/* marquee */
.marquee{overflow:hidden;background:var(--deep);color:#e9f5ee;padding:18px 0;transform:rotate(-1.5deg);margin:20px -10px}
.track{display:flex;gap:28px;width:max-content;animation:scroll 40s linear infinite;font-size:clamp(20px,2.4vw,30px);font-weight:800;white-space:nowrap}
.track span:nth-child(even){color:var(--gold)}
@keyframes scroll{to{transform:translateX(50%)}}

/* sections */
.section{width:min(1200px,calc(100% - 40px));margin:auto;padding:110px 0 0}
.sec-head{margin-bottom:44px}
.sec-head.row{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.eyebrow{display:inline-block;font-size:14px;font-weight:700;color:var(--brand);padding:4px 14px;border-radius:999px;background:color-mix(in srgb,var(--brand) 12%,transparent);margin-bottom:14px}
.eyebrow.light{color:#fff;background:rgba(255,255,255,.15)}
h2{font-size:clamp(30px,4.2vw,54px);line-height:1.25;font-weight:900;letter-spacing:-.5px}
h3{font-size:20px;font-weight:800;line-height:1.5}

/* about */
.about-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:32px}
.timeline{list-style:none;position:relative;padding-inline-start:28px}
.timeline::before{content:"";position:absolute;inset-inline-start:6px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--brand),var(--gold))}
.timeline li{position:relative;padding-bottom:28px}
.timeline li::before{content:"";position:absolute;inset-inline-start:-28px;top:9px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:3px solid var(--brand)}
.timeline b{font-size:20px;font-weight:900}
.timeline p{color:var(--muted)}
.about-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:36px;display:grid;gap:18px;color:var(--muted);font-size:17px}
.about-card b{color:var(--ink)}
blockquote{font-size:24px;font-weight:900;color:var(--ink);border-inline-start:4px solid var(--gold);padding-inline-start:16px}

/* bento */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:16px}
.tile{position:relative;overflow:hidden;border-radius:var(--radius);padding:26px;background:var(--surface);border:1px solid var(--line);
  display:flex;flex-direction:column;justify-content:flex-end;gap:6px;transition:transform var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.tile:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.tile p{color:var(--muted);font-size:14.5px}
.tile .ico{font-size:30px;width:56px;height:56px;border-radius:18px;background:var(--surface-2);display:grid;place-items:center;margin-bottom:auto}
.tile.t-img{color:#fff;background:linear-gradient(to top,rgba(5,20,14,.9),rgba(5,20,14,.1) 65%),var(--img) center/cover}
.tile.t-img p{color:rgba(255,255,255,.8)}
.t-big{grid-column:span 2;grid-row:span 2}
.t-big h3{font-size:34px}
.t-tall{grid-row:span 2}
.t-wide{grid-column:span 2}
.t-accent{background:var(--brand);color:#fff;border:0}
.t-accent p{color:rgba(255,255,255,.85)}
.t-accent .ico{background:rgba(255,255,255,.18)}
.tag{position:absolute;top:22px;right:22px;font-size:13px;padding:4px 14px;border-radius:999px;background:var(--gold);color:#1d1606;font-weight:700}
.arrow{position:absolute;top:18px;left:18px;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--deep);display:grid;place-items:center;font-size:22px;transition:transform var(--t) var(--ease)}
.tile:hover .arrow{transform:rotate(-45deg)}

/* stats */
.stats{margin-top:110px;background:var(--deep);color:#eaf5ef;position:relative;overflow:hidden}
.stats::before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(var(--brand-2),transparent 70%);opacity:.25;top:-300px;left:-100px;filter:blur(40px)}
.stats-inner{position:relative;width:min(1200px,calc(100% - 40px));margin:auto;padding:80px 0;display:grid;grid-template-columns:repeat(7,1fr);gap:16px}
.stat{text-align:center;padding:10px;border-inline-start:1px solid rgba(255,255,255,.12)}
.stat:first-child{border:0}
.stat b{display:block;font-size:clamp(28px,3.3vw,46px);font-weight:900;color:#fff}
.stat span{font-size:14px;color:rgba(234,245,239,.7)}

/* news */
.news{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-template-rows:auto auto;gap:16px}
.post{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;gap:8px;transition:border-color var(--t) var(--ease),box-shadow var(--t) var(--ease),transform var(--t) var(--ease)}
.post:hover{border-color:var(--brand);box-shadow:var(--shadow);transform:translateY(-4px)}
.post time{font-size:13px;color:var(--brand);font-weight:700}
.post p{color:var(--muted);font-size:14.5px}
.post.feature{grid-row:span 2;padding:0;overflow:hidden}
.post.feature img{height:300px;width:100%;object-fit:cover}
.post-body{padding:26px;display:grid;gap:8px}
.post.feature h3{font-size:26px}

/* gallery */
.gallery{columns:4 220px;column-gap:14px}
.gallery img{width:100%;margin-bottom:14px;border-radius:20px;break-inside:avoid;filter:saturate(.9);transition:filter var(--t) var(--ease),transform var(--t) var(--ease)}
.gallery img:nth-child(3n){aspect-ratio:3/4;object-fit:cover}
.gallery img:hover{filter:saturate(1.15);transform:scale(1.02)}

/* clips */
.player-wrap{background:var(--deep);border-radius:32px;padding:14px;box-shadow:var(--shadow)}
.player{aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:#000}
.player iframe{width:100%;height:100%;border:0;display:block}
.now-playing{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 10px 6px;color:#eaf5ef}
.now-playing h3{flex:1;min-width:200px;font-size:clamp(16px,1.6vw,20px)}
.np-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.1)}
.np-meta{font-size:13px;color:rgba(234,245,239,.65)}
.carousel{position:relative;margin-top:18px}
.thumbs{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:6px 2px 10px;scrollbar-width:none}
.thumbs::-webkit-scrollbar{display:none}
.thumb{flex:0 0 calc((100% - 42px)/4);scroll-snap-align:start;text-align:start;background:var(--surface);border:2px solid transparent;border-radius:20px;padding:8px;cursor:pointer;font-family:inherit;color:var(--ink);transition:transform var(--t) var(--ease),border-color var(--t) var(--ease),box-shadow var(--t) var(--ease)}
.thumb:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.thumb.active{border-color:var(--brand)}
.thumb-img{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--surface-2)}
.thumb-img img{width:100%;height:100%;object-fit:cover}
.thumb-img::after{content:"";position:absolute;inset:0;background:rgba(5,20,14,.35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='12' fill='white' fill-opacity='.9'/%3E%3Cpath d='M10 8l6 4-6 4z' fill='%230f3d2e'/%3E%3C/svg%3E") center/44px no-repeat;opacity:0;transition:opacity var(--t) var(--ease),background-color var(--t) var(--ease)}
.thumb:hover .thumb-img::after{opacity:1}
.thumb.active .thumb-img::after{opacity:1;background-color:rgba(15,107,74,.55)}
.duration{position:absolute;bottom:8px;left:8px;z-index:1;font-size:12px;padding:1px 8px;border-radius:999px;background:rgba(0,0,0,.7);color:#fff;direction:ltr}
.thumb-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:14px;font-weight:700;line-height:1.7;margin:10px 4px 2px;min-height:48px}
.thumb-meta{font-size:12px;color:var(--muted);margin:0 4px}
.car-btn{position:absolute;top:calc(50% - 30px);z-index:2;width:50px;height:50px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;display:grid;place-items:center;transition:background-color var(--t) var(--ease),color var(--t) var(--ease),opacity var(--t) var(--ease),transform var(--t) var(--ease)}
.car-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5}
.car-btn:hover{background:var(--brand);color:#fff;transform:scale(1.08)}
.car-btn:disabled{opacity:0;pointer-events:none}
.car-btn.prev{right:-20px}
.car-btn.next{left:-20px}

/* join & donate */
.join-donate{display:grid;grid-template-columns:1fr 1.15fr;gap:16px}
.jd{border-radius:36px;padding:44px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.join{background:linear-gradient(140deg,var(--brand),var(--deep));color:#fff}
.join p{color:rgba(255,255,255,.85)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills span{padding:6px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:14px}
.donate{background:var(--surface);border:1px solid var(--line)}
.bank{width:100%;display:grid;gap:10px;margin-top:8px}
.bank .row{display:grid;grid-template-columns:100px 1fr auto;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;background:var(--surface-2)}
.bank span{font-size:14px;color:var(--muted)}
.bank code{font-family:ui-monospace,Consolas,monospace;font-size:clamp(13px,1.4vw,16px);font-weight:700;letter-spacing:.5px;text-align:left;overflow-wrap:anywhere}
.bank button{border:0;background:var(--brand);color:#fff;border-radius:999px;padding:6px 16px;font-family:inherit;font-weight:700;cursor:pointer}
[data-theme=dark] .bank button{color:#05140e}

/* faq */
.faq{max-width:860px}
details{border-bottom:1px solid var(--line);padding:22px 0}
summary{cursor:pointer;font-size:19px;font-weight:800;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::after{content:"+";font-size:26px;line-height:1;color:var(--brand);transition:transform var(--t) var(--ease)}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--muted);margin-top:10px}
details[open] p{animation:fade-down var(--t) var(--ease)}

/* footer */
.footer{margin-top:120px;background:var(--surface);border-top:1px solid var(--line);padding:70px 0 30px}
.foot-grid{width:min(1200px,calc(100% - 40px));margin:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px}
.footer-align{text-align:-webkit-center}
.foot-logo{height:64px;width:auto}
.motto{margin-top:14px;font-size:22px;font-weight:900}
.footer h4{font-size:16px;margin-bottom:10px}
.footer p{color:var(--muted)}
.socials{display:flex;gap:8px;flex-wrap:wrap;justify-content: center}
.socials a{padding:8px 16px;border-radius:999px;border:1px solid var(--line);font-size:14px;transition:background-color var(--t) var(--ease),color var(--t) var(--ease),border-color var(--t) var(--ease)}
.socials a:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.copy{text-align:center;margin-top:50px;font-size:13px;color:var(--muted)}

.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,120px);background:var(--ink);color:var(--bg);padding:10px 22px;border-radius:999px;font-weight:700;transition:transform var(--t) var(--ease);z-index:60}
.toast.show{transform:translate(-50%,0)}

/* reveal */
.reveal{opacity:0}
.reveal.in{opacity:1;animation:rise .9s var(--ease) var(--delay,0ms) backwards}
@keyframes rise{from{opacity:0;translate:0 30px}}
@keyframes fade-down{from{opacity:0;translate:0 -8px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1}}

/* responsive */
@media (max-width:1000px){
  .links{position:absolute;top:66px;inset-inline:0;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:10px;display:none;box-shadow:var(--shadow)}
  .links.open{display:flex;animation:fade-down var(--t) var(--ease)}
  .menu{display:grid}
  .hero{grid-template-columns:1fr;padding-top:120px}
  .hero-visual{height:460px}
  .about-grid,.join-donate,.foot-grid{grid-template-columns:1fr}
  .bento{grid-template-columns:repeat(2,1fr)}
  .stats-inner{grid-template-columns:repeat(4,1fr);row-gap:30px}
  .stat:nth-child(5){border:0}
  .news{grid-template-columns:1fr 1fr}
  .post.feature{grid-column:span 2;grid-row:auto}
  .thumb{flex-basis:calc((100% - 14px)/2)}
  .car-btn.prev{right:4px}
  .car-btn.next{left:4px}
}
@media (max-width:600px){
  .brand img,.nav.scrolled .brand img{height:46px}
  .thumb{flex-basis:78%}
  .player-wrap{padding:8px;border-radius:24px}
  .nav .btn{display:none}
  .bento{grid-template-columns:1fr;grid-auto-rows:minmax(180px,auto)}
  .t-big,.t-wide{grid-column:auto}
  .t-tall{grid-row:auto}
  .stats-inner{grid-template-columns:repeat(2,1fr)}
  .stat{border:0!important}
  .news{grid-template-columns:1fr}
  .post.feature{grid-column:auto}
  .jd{padding:28px}
  .bank .row{grid-template-columns:1fr auto}
  .bank span{grid-column:span 2}
  .fc-2{display:none}
}
