  :root{
    --paper:#E5DCC7; --paper2:#DBD1B9; --line:#B3A88E;
    --ink:#1A1713; --ink2:#4B443A;
    --red:#9E1F16; --red-deep:#741610;
    --glow:158,31,22;
    --hl:rgba(158,31,22,.22);
    --display:'Lalezar',serif; --body:'Markazi Text',serif;
    --grain:.35; --vig:rgba(110,80,30,.22); --sun:#9E1F16;
  }
  :root[data-theme="dark"]{
    --paper:#161412; --paper2:#201D1A; --line:#3B3631;
    --ink:#E8DED7; --ink2:#A89F98;
    --red:#E04A37; --red-deep:#F06A58;
    --glow:224,74,55;
    --hl:rgba(224,74,55,.28);
    --grain:.14; --vig:rgba(0,0,0,.45); --sun:#E8DED7;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{font-family:var(--body);font-size:1.2rem;line-height:1.7;background:var(--paper);color:var(--ink);overflow-x:hidden}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--red);color:#fff}
  a:focus-visible,button:focus-visible,.row:focus-visible,.tilt:focus-visible{outline:2px solid var(--red);outline-offset:3px}
  .page:focus{outline:none}
  .skip{position:fixed;top:-60px;right:16px;z-index:2000;background:var(--red);color:#fff;padding:10px 18px;font-weight:700;transition:top .2s}
  .skip:focus{top:12px}

  body::before{content:"";position:fixed;inset:0;z-index:999;pointer-events:none;opacity:var(--grain);contain:strict;
    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='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    will-change:auto}
  body::after{content:"";position:fixed;inset:0;z-index:998;pointer-events:none;background:radial-gradient(ellipse at center,transparent 55%,var(--vig) 100%);contain:strict}

  .progress{position:fixed;top:0;right:0;height:3px;width:0;background:var(--red);z-index:1000;will-change:width}

  .wrap{max-width:1180px;margin:0 auto;padding:0 28px}
  .display{font-family:var(--display);font-weight:400;line-height:1.05;letter-spacing:-.01em}

  .hl{
    background:linear-gradient(180deg,transparent 58%,var(--hl) 58%);
    padding:0 3px 1px;font-weight:600;border-bottom:2px solid var(--red);border-radius:2px;
    transition:background .3s ease;
  }
  .hl:hover{background:linear-gradient(180deg,transparent 15%,var(--hl) 15%)}


  header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:4px double var(--ink);will-change:transform}
  header.scrolled{box-shadow:0 10px 30px -18px rgba(0,0,0,.6)}
  header.hide{transform:translateY(-101%)}
  .topline{border-bottom:1px solid var(--ink);font-size:.92rem;padding:5px 0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;color:var(--ink2)}
  .topline > span:first-child{text-align:right}
  .topline > span:nth-child(2){text-align:center}
  .topline > span:last-child{text-align:left}
  .topline b{color:var(--red)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
  .brand{display:flex;align-items:center;gap:14px}
  .brand .word{font-family:var(--display);font-size:1.9rem;line-height:1}
  .eq{display:flex;align-items:flex-end;gap:3px;height:26px}
  .eq i{width:4px;background:var(--red);animation:eq 1.1s ease-in-out infinite;transform-origin:bottom;will-change:transform}
  .eq i:nth-child(1){height:40%;animation-delay:0s}.eq i:nth-child(2){height:90%;animation-delay:.15s}
  .eq i:nth-child(3){height:60%;animation-delay:.3s}.eq i:nth-child(4){height:100%;animation-delay:.45s}.eq i:nth-child(5){height:50%;animation-delay:.6s}
  @keyframes eq{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
  .menu{display:flex;gap:34px;list-style:none;font-size:1.15rem;font-weight:600;align-items:center}
  .menu a{cursor:pointer;position:relative;padding:4px 0}
  .menu a::after{content:"";position:absolute;right:0;bottom:-2px;height:2px;width:0;background:var(--red);transition:width .3s cubic-bezier(.7,0,.3,1)}
  .menu a:hover::after,.menu a.active::after{width:100%}
  .menu a.active{color:var(--red)}

  /* آیتم «حمایت» در منو: رنگی + درخشش */
  .menu a.donate-glow{
    padding:7px 18px !important;
    border:1.5px solid var(--red);
    border-radius:30px;
    color:var(--red);
    background:linear-gradient(135deg,rgba(var(--glow),.14),rgba(var(--glow),.04));
    animation:donateGlow 2.6s ease-in-out infinite;
    transition:background .3s,color .3s,transform .3s;
    position:relative;
  }
  .menu a.donate-glow::after{display:none}
  .menu a.donate-glow:hover{
    background:var(--red);
    color:#fff;
    animation:none;
    transform:translateY(-1px);
    box-shadow:0 6px 20px -6px rgba(var(--glow),.7);
  }
  .menu a.donate-glow.active{
    background:var(--red);
    color:#fff;
    animation:none;
  }
  .menu a.donate-glow .heart-mini{
    display:inline-block;
    margin-left:6px;
    animation:heartPulse 1.6s ease-in-out infinite;
  }
  @keyframes heartPulse{
    0%,100%{transform:scale(1)}
    25%{transform:scale(1.25)}
    40%{transform:scale(1)}
    60%{transform:scale(1.15)}
  }
  @keyframes donateGlow{
    0%,100%{box-shadow:0 0 0 0 rgba(var(--glow),.55), 0 0 10px 0 rgba(var(--glow),.22)}
    50%{box-shadow:0 0 0 8px rgba(var(--glow),0), 0 0 22px 4px rgba(var(--glow),.38)}
  }

  .nav-tools{display:flex;align-items:center;gap:10px}
  .icon-btn{width:40px;height:40px;border:1.5px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;display:grid;place-items:center;border-radius:50%;transition:background .3s,color .3s,transform .3s;flex-shrink:0}
  .icon-btn:hover{background:var(--ink);color:var(--paper)}
  .icon-btn svg{width:18px;height:18px;display:block}
  .theme-btn:hover{transform:rotate(25deg)}
  .theme-btn .ico-sun{display:none}
  :root[data-theme="dark"] .theme-btn .ico-sun{display:block}
  :root[data-theme="dark"] .theme-btn .ico-moon{display:none}
  .sfx-btn .off{display:none}
  .sfx-btn[aria-pressed="false"] .on{display:none}
  .sfx-btn[aria-pressed="false"] .off{display:block}
  .sfx-btn[aria-pressed="false"]{opacity:.65}
  .burger{display:none;background:none;border:1px solid var(--ink);color:var(--ink);padding:4px 10px;font:inherit;cursor:pointer}

  .page{display:none}
  .page.active{display:block}
  @keyframes pageIn{from{opacity:0}to{opacity:1}}
  .page.active{animation:pageIn .4s ease both}
  .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
  .reveal.in{opacity:1;transform:none}
  .reveal.d1{transition-delay:.06s}.reveal.d2{transition-delay:.12s}.reveal.d3{transition-delay:.18s}

  main.boom{animation:boom .28s ease-out}
  @keyframes boom{0%{transform:translate(0,0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,1px)}80%{transform:translate(1px,-1px)}100%{transform:translate(0,0)}}

  .hero{padding:26px 0 36px;border-bottom:4px double var(--ink);position:relative;overflow:hidden;contain:layout style}
  .hero::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
    background:radial-gradient(circle,var(--ink) 1px,transparent 1.6px) 0 0/8px 8px;
    -webkit-mask-image:linear-gradient(205deg,rgba(0,0,0,.35),transparent 38%);mask-image:linear-gradient(205deg,rgba(0,0,0,.35),transparent 38%)}
  .hero .wrap{position:relative}
  .masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:8px 0 16px;text-align:center;margin-bottom:14px}
  .masthead h1{font-size:clamp(3.8rem,12vw,9.5rem);line-height:.95;white-space:nowrap}
  .masthead h1 .o{color:transparent;-webkit-text-stroke:2px var(--ink);transition:color .4s,-webkit-text-stroke-color .4s}
  .masthead h1:hover .o{color:var(--red);-webkit-text-stroke-color:var(--red)}
  .ear{font-size:.95rem;line-height:1.5;border:1.5px solid var(--ink);padding:8px 14px;font-weight:600;letter-spacing:.04em;background:var(--paper)}
  .ear-r{justify-self:end}.ear-l{justify-self:start}
  .front{display:grid;grid-template-columns:1.25fr .75fr;margin-top:22px;padding-top:22px;border-top:3px solid var(--ink)}
  .lead-story{padding:8px 0 10px 40px;border-left:1px solid var(--ink)}
  .listen-col{padding:8px 40px 10px 0}
  .kicker2{display:inline-block;background:var(--ink);color:var(--paper);font-size:.85rem;letter-spacing:.2em;padding:2px 12px;margin-bottom:12px;font-weight:700}
  .lead-story h2{font-size:clamp(2.2rem,4.6vw,3.7rem);line-height:1.12;margin-bottom:16px}
  .lead-story .body{text-align:justify;font-size:1.28rem;line-height:1.85;max-width:600px}
  .lead-actions{display:flex;align-items:center;gap:26px;margin-top:22px;flex-wrap:wrap}
  .stamp{width:96px;height:96px;border-radius:50%;border:2px dashed var(--red);color:var(--red);display:grid;place-items:center;text-align:center;font-family:var(--display);font-size:.95rem;line-height:1.2;transform:rotate(-12deg);animation:spin 40s linear infinite;flex-shrink:0;will-change:transform}
  @keyframes spin{to{transform:rotate(348deg)}}
  .listen{display:flex;flex-direction:column;border:2px solid var(--ink);background:var(--paper2);box-shadow:9px 9px 0 var(--red)}
  .listen h4{font-family:var(--display);font-size:1.3rem;padding:10px 16px;border-bottom:2px solid var(--ink);background:var(--ink);color:var(--paper);font-weight:400}
  .listen a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--line);transition:background .2s,color .2s,padding .2s;font-weight:600}
  .listen a:last-child{border:0}
  .listen a:hover{background:var(--red);color:#fff;padding-right:26px}
  .listen a .label{display:flex;align-items:center;gap:10px}
  .listen a .ico{width:18px;height:18px;flex-shrink:0;display:block}
  .listen a span.note{opacity:.6;font-size:.9rem;font-weight:400}

  .scene{position:relative;height:178px;overflow:hidden;border-bottom:2px solid var(--ink);background:var(--paper2);--cyc:10s;color:var(--ink);contain:layout style paint;will-change:transform}
  .scene::before{content:"";position:absolute;inset:0;opacity:.3;pointer-events:none;background:radial-gradient(circle,var(--ink) 1px,transparent 1.6px) 0 0/9px 9px;
    -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 70%);mask-image:linear-gradient(to bottom,rgba(0,0,0,.6),transparent 70%)}
  .scene.off *,.scene.off *::before{animation-play-state:paused!important}
  .scene .sky-sun{position:absolute;left:36%;bottom:34px;width:86px;height:86px;border-radius:50%;background:var(--sun);opacity:.8;animation:sunBob 12s ease-in-out infinite;will-change:transform}
  @keyframes sunBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
  .hills{position:absolute;left:0;right:0;bottom:8px;height:60px;background:var(--ink2);opacity:.55;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='60' viewBox='0 0 600 60'%3E%3Cpath d='M0 60V40Q70 18 150 34T310 30T460 38T600 34V60Z'/%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M90 32V16M90 24L84 18M90 27L96 21M410 34V20M410 27L404 22M410 29L416 24'/%3E%3C/g%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='60' viewBox='0 0 600 60'%3E%3Cpath d='M0 60V40Q70 18 150 34T310 30T460 38T600 34V60Z'/%3E%3Cg fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M90 32V16M90 24L84 18M90 27L96 21M410 34V20M410 27L404 22M410 29L416 24'/%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-size:600px 60px;mask-size:600px 60px;-webkit-mask-position:bottom;mask-position:bottom}
  .ground{position:absolute;left:0;right:0;bottom:0;height:8px;background:var(--ink);z-index:2}
  .wire,.wire-fg{height:22px;background:var(--ink);opacity:.9;
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='22' viewBox='0 0 60 22'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M0 11Q15 2 30 11T60 11'/%3E%3Cpath d='M12 3L18 10M18 3L12 10M42 12L48 19M48 12L42 19'/%3E%3C/g%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='22' viewBox='0 0 60 22'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M0 11Q15 2 30 11T60 11'/%3E%3Cpath d='M12 3L18 10M18 3L12 10M42 12L48 19M48 12L42 19'/%3E%3C/g%3E%3C/svg%3E");
    -webkit-mask-repeat:repeat-x;mask-repeat:repeat-x;-webkit-mask-size:60px 22px;mask-size:60px 22px;-webkit-mask-position:center;mask-position:center}
  .wire{margin:0 0 30px}
  .wire-fg{position:absolute;left:0;right:0;bottom:6px;z-index:4;margin:0;pointer-events:none}

  .plane-track{position:absolute;top:14px;left:0;white-space:nowrap;direction:ltr;z-index:1;animation:planeFly 28s linear infinite;will-change:transform}
  @keyframes planeFly{from{transform:translateX(var(--sw,1200px))}to{transform:translateX(calc(-1*var(--pw,380px)))}}
  .plane-bob{display:flex;align-items:center;animation:planeBob 3.4s ease-in-out infinite}
  @keyframes planeBob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(8px) rotate(1.5deg)}}
  .plane{width:118px;height:48px;flex-shrink:0}
  .plane .prop{transform-box:fill-box;transform-origin:center;animation:prop .12s linear infinite}
  @keyframes prop{0%,100%{transform:scaleY(1)}50%{transform:scaleY(.2)}}
  .banner{position:relative;margin-left:26px;padding:2px 16px;border:2px solid var(--ink);background:var(--paper);font-family:var(--display);font-size:1.05rem;line-height:1.3;transform-origin:left center;animation:bannerWave 1.6s ease-in-out infinite}
  .banner::before{content:"";position:absolute;right:100%;top:50%;width:26px;border-top:2px solid var(--ink)}
  @keyframes bannerWave{0%,100%{transform:skewY(-3deg)}50%{transform:skewY(3deg)}}

  .marchers{position:absolute;left:0;bottom:7px;display:flex;gap:54px;direction:ltr;z-index:2;animation:march 52s linear infinite;will-change:transform}
  @keyframes march{from{transform:translateX(var(--sw,1200px))}to{transform:translateX(calc(-1*var(--cw,520px)))}}
  .sold{width:26px;height:48px;flex-shrink:0;animation:step .35s ease-in-out infinite;animation-delay:calc(-1*var(--d,0s))}
  @keyframes step{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
  .sold .l1,.sold .l2{transform-box:fill-box;transform-origin:50% 0;animation:leg .7s ease-in-out infinite;animation-delay:calc(-1*var(--d,0s))}
  .sold .l2{animation-direction:reverse}
  @keyframes leg{0%,100%{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}

  .beam{display:none;position:absolute;bottom:0;width:120px;height:230px;transform-origin:50% 100%;z-index:0;will-change:transform;
    background:linear-gradient(to top,rgba(255,244,200,.38),rgba(255,244,200,0));clip-path:polygon(44% 100%,56% 100%,100% 0,0 0);animation:beamSweep 8s ease-in-out infinite alternate}
  :root[data-theme="dark"] .beam{display:block}
  .beam.b1{left:12%;--a1:-28deg;--a2:24deg}
  .beam.b2{left:68%;--a1:30deg;--a2:-22deg;animation-duration:10s}
  @keyframes beamSweep{from{transform:rotate(var(--a1))}to{transform:rotate(var(--a2))}}

  .war-cannon{position:absolute;right:7%;bottom:8px;width:200px;height:110px;background:none;border:0;padding:0;cursor:pointer;z-index:3;color:var(--ink)}
  .war-cannon svg{width:100%;height:100%;overflow:visible;display:block}
  .war-cannon .flash,.war-cannon .smoke,.war-cannon .ball-x{position:absolute;pointer-events:none}
  .war-cannon .flash{left:calc(19% - 26px);top:calc(34.7% - 26px);width:52px;height:52px;opacity:0;background:radial-gradient(circle,#FFF3B0 0%,#F2A93B 35%,rgba(224,74,55,0) 70%)}
  .war-cannon .smoke{left:calc(19% - 14px);top:calc(34.7% - 14px);width:28px;height:28px;border-radius:50%;background:var(--ink2);opacity:0}
  .war-cannon .ball-x{left:calc(19% - 6px);top:calc(34.7% - 6px);opacity:0}
  .war-cannon .ball-y{display:block;width:12px;height:12px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 1.5px var(--paper)}
  .scene.run .barrel{animation:recoil var(--cyc) ease-out infinite}
  .scene.run .wheel{transform-box:fill-box;transform-origin:center;animation:wheelRoll var(--cyc) ease-out infinite}
  .scene.run .flash{animation:flash var(--cyc) ease-out infinite}
  .scene.run .smoke{animation:puff var(--cyc) ease-out infinite}
  .scene.run .ball-x{animation:ballX var(--cyc) linear infinite}
  .scene.run .ball-y{animation:ballY var(--cyc) linear infinite}
  @keyframes recoil{0%,3%{transform:translateX(0)}3.8%{transform:translateX(14px)}11%,100%{transform:translateX(0)}}
  @keyframes wheelRoll{0%,3%{transform:rotate(0)}5%,100%{transform:rotate(-45deg)}}
  @keyframes flash{0%,2.9%{opacity:0;transform:scale(.4)}3.4%{opacity:1;transform:scale(1.3)}6%,100%{opacity:0;transform:scale(1.8)}}
  @keyframes puff{0%,3%{opacity:0;transform:translate(0,0) scale(.3)}4.5%{opacity:.55}17%,100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(2.6)}}
  @keyframes ballX{0%,2.9%{opacity:0;transform:translateX(0)}3%{opacity:1;transform:translateX(0)}19%{opacity:1;transform:translateX(calc(-1*var(--dist,600px)))}19.1%,100%{opacity:0;transform:translateX(calc(-1*var(--dist,600px)))}}
  @keyframes ballY{0%,3%{transform:translateY(0);animation-timing-function:ease-out}11%{transform:translateY(-56px);animation-timing-function:ease-in}19%,100%{transform:translateY(40px)}}

  .boomfx{position:absolute;left:14%;bottom:40px;width:0;height:0;z-index:1}
  .boomfx > *{position:absolute;opacity:0}
  .boomfx .fire{left:-30px;bottom:-10px;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle,#FFF1B0 0%,#F2A93B 35%,#C8301F 65%,rgba(200,48,31,0) 72%)}
  .boomfx .cloud{left:-18px;bottom:0;width:36px;height:36px;border-radius:50%;background:var(--ink2)}
  .boomfx .deb{left:0;bottom:0;width:5px;height:5px;background:var(--ink)}
  .scene.run .boomfx .fire{animation:fire var(--cyc) ease-out infinite}
  .scene.run .boomfx .cloud{animation:cloud var(--cyc) ease-out infinite}
  .scene.run .boomfx .deb{animation:deb var(--cyc) ease-out infinite}
  @keyframes fire{0%,19%{opacity:0;transform:scale(.2)}20%{opacity:1;transform:scale(.7)}24%{opacity:.9;transform:scale(1.5)}30%,100%{opacity:0;transform:scale(1.9)}}
  @keyframes cloud{0%,20%{opacity:0;transform:translate(0,0) scale(.3)}24%{opacity:.6}40%,100%{opacity:0;transform:translate(var(--dx,0),-70px) scale(2.2)}}
  @keyframes deb{0%,19.5%{opacity:0;transform:translate(0,0)}20%{opacity:1}30%,100%{opacity:0;transform:translate(var(--dx),var(--dy))}}

  .cannon-hint{position:absolute;right:7%;top:12px;z-index:5;font-size:.9rem;font-weight:600;color:var(--ink2);background:var(--paper);border:1px solid var(--ink);padding:0 10px;animation:hintBob 1.8s ease-in-out infinite}
  @keyframes hintBob{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
  @media(max-width:820px){
    .scene{height:150px}
    .war-cannon{width:150px;height:83px;right:4%}
    .scene .sky-sun{width:60px;height:60px;left:30%}
    .plane{width:92px;height:38px}
    .banner{font-size:.9rem}
    .cannon-hint{right:4%;top:8px;font-size:.8rem}
  }

  .scene-slot{display:block}
  .page > .scene-slot{margin-top:60px}
  .scene.mid,.page > .scene-slot .scene{border-top:2px solid var(--ink)}
  .scene.mid{height:150px;--drop:141px}
  .scene.mid .plane-track{top:12px}

  .pigeon{position:absolute;left:0;width:48px;height:30px;direction:ltr;color:var(--ink);z-index:1;animation:pigeonFly 22s linear infinite;will-change:transform}
  @keyframes pigeonFly{from{translate:var(--sw,1200px) 0}to{translate:-70px 0}}
  .pigeon svg{width:100%;height:100%;overflow:visible;animation:pgBob 1.1s ease-in-out infinite}
  @keyframes pgBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
  .pigeon .wing{transform-box:fill-box;transform-origin:20% 100%;animation:flap .32s ease-in-out infinite alternate}
  @keyframes flap{from{transform:rotate(-25deg) scaleY(1)}to{transform:rotate(28deg) scaleY(.55)}}

  .chute{position:absolute;top:-70px;width:56px;height:78px;direction:ltr;color:var(--ink);z-index:1;opacity:0;animation:chuteDrop 16s linear infinite;will-change:transform,opacity}
  .chute svg{width:100%;height:100%;display:block;transform-origin:50% 0;animation:chuteSway 2.8s ease-in-out infinite alternate}
  @keyframes chuteDrop{0%{opacity:0;transform:translate(0,0)}6%{opacity:1}86%{opacity:1;transform:translate(var(--dr,-50px),var(--drop,141px))}100%{opacity:0;transform:translate(var(--dr,-50px),var(--drop,141px))}}
  @keyframes chuteSway{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}

  @media(max-width:820px){
    .scene.mid{height:130px;--drop:121px}
    .chute{width:44px;height:61px}
  }

  .ticker-wrap{display:flex;align-items:stretch;background:var(--ink);color:var(--paper);overflow:hidden}
  .ticker-label{background:var(--red);color:#fff;padding:0 22px;font-family:var(--display);font-size:1.15rem;flex-shrink:0;position:relative;z-index:2;display:flex;align-items:center;white-space:nowrap}
  .ticker{flex:1;min-width:0;overflow:hidden;white-space:nowrap;padding:9px 0;display:flex;align-items:center;font-family:var(--display);font-size:1.15rem;direction:ltr}
  .ticker .track{display:flex;flex-shrink:0;width:max-content;animation:tick 40s linear infinite;will-change:transform}
  .ticker:hover .track{animation-play-state:paused}
  .ticker span{margin:0 34px;direction:rtl;unicode-bidi:isolate;flex-shrink:0}
  .ticker span::before{content:"◉";color:var(--red);margin-left:14px;font-size:.8em}
  @keyframes tick{from{transform:translateX(-50%)}to{transform:translateX(0)}}

  section.block{padding:64px 0;border-bottom:1px solid var(--line);content-visibility:auto;contain-intrinsic-size:auto 600px}
  .sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:34px;border-top:4px double var(--ink);border-bottom:1px solid var(--ink);padding:10px 0}
  .sec-head h2{font-size:2.4rem}
  .sec-head a{color:var(--red);font-weight:600;cursor:pointer}
  .sec-head a::after{content:" ←"}

  .pillars{display:grid;grid-template-columns:repeat(3,1fr)}
  .pillar{padding:6px 32px;border-left:1px solid var(--ink);transition:transform .3s}
  .pillar:first-child{padding-right:0}
  .pillar:last-child{border-left:0;padding-left:0}
  .pillar .pn{font-family:var(--display);font-size:3.6rem;color:transparent;-webkit-text-stroke:1.5px var(--red);line-height:1;transition:color .3s}
  .pillar:hover .pn{color:var(--red)}
  .pillar h3{font-size:1.9rem;margin:10px 0 8px}
  .pillar p{color:var(--ink2);font-size:1.15rem;line-height:1.7;text-align:justify}

  .story{display:grid;grid-template-columns:1fr 360px;gap:44px;align-items:start}
  .story-main h3{font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15;margin:8px 0 10px}
  .byline{color:var(--ink2);font-size:1.05rem;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);padding:5px 0;margin-bottom:18px;font-weight:600}
  .story-text{text-align:justify;font-size:1.25rem;line-height:1.75}
  .story-text p{margin-bottom:12px}
  @media(min-width:1000px){.story-text{column-count:2;column-gap:20px}}
  .story-photo{margin:0;cursor:pointer}
  .story-photo .frame{aspect-ratio:1/1;background:var(--paper2);border:2px solid var(--ink);overflow:hidden;position:relative}
  .story-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s,filter .5s}
  .story-photo figcaption{font-size:.95rem;color:var(--ink2);border-top:1px solid var(--ink);margin-top:8px;padding-top:4px}
  .cat{display:inline-block;font-size:.95rem;font-weight:700;letter-spacing:.1em;padding:2px 10px;border:1.5px solid var(--ink);margin-bottom:6px}
  .btn-solid{display:inline-block;background:var(--ink);color:var(--paper);border:2px solid var(--ink);padding:9px 20px;font-weight:700;font-size:1.05rem;transition:background .25s,color .25s,transform .25s;cursor:pointer}
  .btn-solid:hover{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}

  .index{border-top:2px solid var(--ink)}
  .row{display:grid;grid-template-columns:90px auto 1fr auto;gap:18px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:background .25s,padding .25s;position:relative}
  .row:hover{background:var(--paper2);padding-right:14px;padding-left:14px}
  .row .num{font-family:var(--display);font-size:3.2rem;line-height:1;transition:color .25s}
  .row:hover .num{color:var(--red)}
  .row h3{font-size:1.7rem;line-height:1.2}
  .row .leader{border-bottom:2px dotted var(--ink2);opacity:.55;height:1px;align-self:end;margin-bottom:12px}
  .row .date{color:var(--ink2);font-size:1.05rem;font-weight:600}

  .soon{display:grid;place-items:center;text-align:center;padding:64px 20px;border:3px double var(--ink);position:relative;background:
    repeating-linear-gradient(45deg,transparent 0 12px,rgba(154,29,19,.05) 12px 24px)}
  .soon::before{content:"آگهی";position:absolute;top:-13px;right:22px;background:var(--paper);padding:0 12px;font-weight:700;letter-spacing:.2em;font-size:.95rem;color:var(--ink2)}
  .soon .big{font-family:var(--display);font-size:clamp(3rem,9vw,6rem);color:var(--red);line-height:1}
  .soon p{margin-top:14px;color:var(--ink2);font-size:1.3rem;max-width:520px}
  .soon .dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--red);margin:0 3px;animation:blink 1.4s infinite}
  .soon .dot:nth-child(2){animation-delay:.2s}
  .soon .dot:nth-child(3){animation-delay:.4s}
  @keyframes blink{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}

  .support-band{background:var(--red);color:#fff;padding:46px 44px;display:flex;align-items:center;justify-content:space-between;gap:30px;flex-wrap:wrap;position:relative;overflow:hidden;border:2px solid var(--ink);outline:2px dashed rgba(255,255,255,.65);outline-offset:-12px;cursor:pointer;transition:transform .3s}
  .support-band:hover{transform:translateY(-3px)}
  .support-band::before{content:"♥";position:absolute;left:-30px;bottom:-90px;font-size:18rem;line-height:1;opacity:.1;pointer-events:none}
  .support-band::after{content:"✂";position:absolute;top:2px;right:26px;font-size:1.3rem;opacity:.85}
  .support-band h3{font-family:var(--display);font-weight:400;font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin-bottom:6px}
  .support-band p{font-size:1.2rem;opacity:.95;max-width:560px}
  .support-band .btn-light{background:#fff;color:#121210;border:2px solid #fff;padding:14px 30px;font-family:var(--display);font-size:1.3rem;transition:background .3s,color .3s,transform .3s;position:relative;z-index:1;display:inline-block;pointer-events:none}
  .support-band:hover .btn-light{background:transparent;color:#fff;transform:translateY(-3px)}

  .ep-hero{padding:56px 0 60px;border-bottom:4px double var(--ink)}
  .ep-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}
  .cover-art{aspect-ratio:1/1;background:var(--paper2);border:2px solid var(--ink);position:relative;overflow:hidden;box-shadow:16px 16px 0 var(--red);animation:coverIn .6s cubic-bezier(.2,.7,.2,1) both}
  .cover-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .5s}
  .cover-art:hover img{transform:scale(1.05)}
  @keyframes coverIn{from{opacity:0;transform:translate(-14px,14px)}to{opacity:1;transform:none}}
  .ep-info h1{font-size:clamp(2.4rem,4.6vw,4rem);line-height:1.05;margin:10px 0 6px}
  .ep-info .sub{font-size:1.4rem;color:var(--ink2);margin-bottom:16px}
  .ep-info .meta{display:flex;gap:18px;flex-wrap:wrap;color:var(--ink2);font-size:1.05rem;margin-bottom:26px}
  .ep-info .meta b{color:var(--ink)}
  .ep-links{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:6px}
  .ep-links a,.ep-links button{display:inline-flex;align-items:center;gap:10px;border:2px solid var(--ink);padding:11px 20px;font-weight:600;transition:background .25s,color .25s,transform .25s;background:var(--paper2);color:var(--ink);cursor:pointer;font-size:1.05rem;font-family:inherit}
  .ep-links a:hover,.ep-links button:hover{background:var(--red);color:#fff;border-color:var(--red);transform:translateY(-2px)}
  .ep-links .ico{width:18px;height:18px;flex-shrink:0}
  .ep-links a small{opacity:.6;font-weight:400;font-size:.85em}

  .ep-body{padding:60px 0}
  .ep-body .prose{max-width:760px}
  .ep-body .prose p{font-size:1.35rem;line-height:1.85;margin-bottom:20px;text-align:justify}
  .ep-body .prose .lead-quote{font-family:var(--display);font-size:1.9rem;color:var(--red);line-height:1.4;border-right:3px solid var(--red);padding-right:18px;margin-bottom:26px;text-align:right}
  .ep-credits{margin-top:30px;display:flex;gap:36px;flex-wrap:wrap;font-size:1.1rem;color:var(--ink2);border-top:1px solid var(--ink);padding-top:20px}
  .ep-credits b{color:var(--ink)}
  .ep-resources{margin-top:56px;border:3px double var(--ink);background:var(--paper2);padding:30px 34px}
  .ep-resources h3{font-family:var(--display);font-weight:400;font-size:2rem;margin-bottom:16px;display:flex;align-items:center;gap:14px}
  .ep-resources h3::after{content:"";flex:1;height:1px;background:var(--ink)}
  .ep-resources ul{list-style:none}
  .ep-resources li{padding:12px 0;border-bottom:1px dotted var(--ink2);font-size:1.2rem;transition:padding .2s,color .2s;position:relative;padding-right:22px}
  .ep-resources li:hover{padding-right:30px;color:var(--red)}
  .ep-resources li::before{content:"◉";color:var(--red);position:absolute;right:0;font-size:.8em;top:16px}
  .ep-resources li:last-child{border:0}
  .back-link{display:inline-flex;align-items:center;gap:8px;color:var(--red);font-weight:600;margin-bottom:20px;cursor:pointer}
  .back-link:hover{color:var(--red-deep)}

  .contact{border:3px double var(--ink);background:var(--paper2);padding:44px 40px;position:relative;overflow:hidden}
  .contact-head{margin-bottom:30px;position:relative;z-index:2}
  .contact-head h3{font-family:var(--display);font-weight:400;font-size:2.6rem;line-height:1.1;margin-bottom:8px}
  .contact-head p{color:var(--ink2);font-size:1.2rem;max-width:560px}
  .channels{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative;z-index:2}
  .channel{display:flex;align-items:center;gap:16px;border:2px solid var(--ink);background:var(--paper);padding:18px 20px;transition:color .3s,border-color .3s,transform .3s;position:relative;overflow:hidden}
  .channel::before{content:"";position:absolute;inset:0;background:var(--red);transform:translateY(101%);transition:transform .35s cubic-bezier(.2,.7,.2,1);z-index:0}
  .channel:hover::before{transform:translateY(0)}
  .channel:hover{color:#fff;border-color:var(--red);transform:translateY(-4px)}
  .channel > *{position:relative;z-index:2}
  .channel .ch-ico{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;border:1.5px solid currentColor;border-radius:50%}
  .channel .ch-ico svg{width:18px;height:18px}
  .channel .ch-meta{display:flex;flex-direction:column;line-height:1.25;min-width:0}
  .channel .ch-label{font-size:.78rem;letter-spacing:.2em;opacity:.65;font-weight:600;margin-bottom:2px}
  .channel .ch-value{font-size:1.1rem;font-weight:600;direction:ltr;text-align:left;overflow-wrap:anywhere}

  .donate-stage{position:relative;padding:20px 0 40px}
  .donate-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.28;pointer-events:none;z-index:0;will-change:transform;transform:translateZ(0)}
  :root:not([data-theme="dark"]) .orb{opacity:.12}
  .orb-1{width:340px;height:340px;background:var(--red);top:-40px;right:-60px;animation:orbFloat 12s ease-in-out infinite}
  .orb-2{width:260px;height:260px;background:#C97B45;bottom:-60px;left:-40px;animation:orbFloat 16s ease-in-out infinite reverse}
  .orb-3{width:200px;height:200px;background:var(--red-deep);top:40%;left:40%;animation:orbFloat 20s ease-in-out infinite}
  @keyframes orbFloat{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(30px,-30px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.95)}}

  /* قهوه‌ی بخارکن */
  .coffee-stage{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
  .coffee-glow{position:absolute;top:18%;left:50%;width:70%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(var(--glow),.22),transparent 68%);animation:coffeeGlow 4s ease-in-out infinite;pointer-events:none}
  @keyframes coffeeGlow{0%,100%{opacity:.6;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.1)}}
  .coffee{width:min(100%,380px);height:auto;overflow:visible;position:relative;animation:cupFloat 6s ease-in-out infinite;transition:transform .3s}
  .coffee-stage:hover .coffee{transform:scale(1.04) rotate(-1.5deg)}
  @keyframes cupFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
  .steam{fill:none;stroke:var(--ink2);stroke-width:6;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:50% 100%;animation:steamUp 3.8s ease-in-out infinite;filter:blur(.6px)}
  .steam.s2{animation-delay:1.2s;animation-duration:4.4s}
  .steam.s3{animation-delay:2.4s;animation-duration:4s}
  @keyframes steamUp{0%{opacity:0;transform:translateY(18px) scaleY(.7) scaleX(.9)}25%{opacity:.75}70%{opacity:.3}100%{opacity:0;transform:translateY(-34px) scaleY(1.2) scaleX(1.15)}}

  .resetting .cupg{animation:none!important}
  .resetting .spillg{opacity:0;transition:opacity .35s}
  .resetting .spillg *{animation-play-state:paused!important}
  .cupg{transform-box:view-box;transform-origin:150px 240px}
  .spilling .cupg{animation:tiltPour 3.8s ease-in-out forwards}
  @keyframes tiltPour{0%{transform:rotate(0)}22%,68%{transform:rotate(-16deg)}100%{transform:rotate(0)}}
  .spill-stream{fill:none;stroke:#5a3517;stroke-width:9;stroke-linecap:round;stroke-dasharray:120;stroke-dashoffset:120;opacity:0}
  .spilling .spill-stream{animation:streamFlow 3.8s ease-in-out forwards}
  @keyframes streamFlow{0%,20%{opacity:0;stroke-dashoffset:120}22%{opacity:1;stroke-dashoffset:120}34%{stroke-dashoffset:0}64%{opacity:1;stroke-dashoffset:0}76%{opacity:1;stroke-dashoffset:-120}78%,100%{opacity:0;stroke-dashoffset:-120}}
  .spill-puddle{fill:#5a3517;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0)}
  .spilling .spill-puddle{animation:puddle 4.6s ease-out forwards}
  @keyframes puddle{0%,24%{opacity:0;transform:scale(0)}34%{opacity:.9}70%{opacity:.9;transform:scale(1)}100%{opacity:0;transform:scale(1.15)}}
  .coffee-wash{position:fixed;inset:0;z-index:997;pointer-events:none;opacity:0;mix-blend-mode:multiply;
    background:radial-gradient(circle at var(--cx) var(--cy),rgba(115,68,30,.46) 0%,rgba(115,68,30,.32) 45%,rgba(115,68,30,.2) 100%);
    clip-path:circle(0 at var(--cx) var(--cy));animation:washIn 5.2s ease-in-out .9s forwards}
  :root[data-theme="dark"] .coffee-wash{mix-blend-mode:screen;background:radial-gradient(circle at var(--cx) var(--cy),rgba(190,120,60,.3) 0%,rgba(190,120,60,.2) 50%,rgba(190,120,60,.12) 100%)}
  @keyframes washIn{0%{opacity:0;clip-path:circle(0 at var(--cx) var(--cy))}12%{opacity:1}50%{opacity:1;clip-path:circle(170vmax at var(--cx) var(--cy))}100%{opacity:0;clip-path:circle(170vmax at var(--cx) var(--cy))}}
  .cdrop{position:fixed;z-index:998;pointer-events:none;width:var(--sz);height:var(--sz);border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:#5a3517;left:var(--x);top:var(--y);opacity:0;animation:dropFly 1.1s cubic-bezier(.2,.6,.3,1) var(--dl) forwards}
  @keyframes dropFly{0%{opacity:1;transform:translate(0,0)}60%{opacity:1;transform:translate(var(--dx),var(--up))}100%{opacity:0;transform:translate(calc(var(--dx)*1.2),var(--dn))}}
  .coffee-cap{margin-top:8px;font-size:1.15rem;color:var(--ink2);font-weight:600;text-align:center;position:relative}
  .donate-text h2{font-size:clamp(2.4rem,4vw,3.4rem);line-height:1.1;margin-bottom:16px}
  .donate-text p{font-size:1.3rem;color:var(--ink2);margin-bottom:14px;max-width:520px}
  .donate-text .note{font-size:1.05rem;border-right:3px solid var(--red);padding-right:14px;color:var(--ink2)}
  .heart{display:inline-block;color:var(--red);animation:beat 1.4s ease-in-out infinite}
  @keyframes beat{0%,100%{transform:scale(1)}25%{transform:scale(1.2)}40%{transform:scale(1)}60%{transform:scale(1.15)}}
  .donate-online{margin:26px 0 22px;max-width:520px}
  .hami-btn{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--red);color:#fff;border:2px solid var(--ink);padding:18px 26px;font-family:var(--display);font-size:1.6rem;line-height:1.1;box-shadow:8px 8px 0 var(--ink);transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}
  .hami-btn::before{content:"";position:absolute;top:0;bottom:0;width:60%;left:-80%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-20deg);animation:sweep 3.8s ease-in-out infinite;will-change:transform}
  @keyframes sweep{0%,55%{left:-80%}100%{left:140%}}
  .hami-btn:hover{transform:translate(4px,4px);box-shadow:4px 4px 0 var(--ink)}
  .hami-btn small{display:block;font-family:var(--body);font-size:1rem;font-weight:500;opacity:.92;margin-top:4px}
  .hami-btn .go{font-size:2rem;transition:transform .25s}
  .hami-btn:hover .go{transform:translateX(-6px)}
  .or-sep{display:flex;align-items:center;gap:14px;color:var(--ink2);font-size:1rem;margin:18px 0 0;max-width:520px}
  .or-sep::before,.or-sep::after{content:"";flex:1;height:1px;background:var(--line)}

  .to-top{position:fixed;bottom:22px;left:22px;z-index:60;width:46px;height:46px;border:2px solid var(--ink);background:var(--paper);color:var(--ink);cursor:pointer;display:grid;place-items:center;font-size:1.3rem;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .3s,transform .3s,background .3s,color .3s}
  .to-top.show{opacity:1;pointer-events:auto;transform:none}
  .to-top:hover{background:var(--red);border-color:var(--red);color:#fff}

  .toast{position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);padding:10px 22px;font-weight:600;z-index:3000;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;border-right:4px solid var(--red)}
  .toast.show{opacity:1;transform:translate(-50%,0)}


  footer{padding:36px 0;display:flex;flex-direction:column;gap:18px;color:var(--ink2);font-size:1rem;border-top:4px double var(--ink);margin-top:20px}
  footer .word{font-family:var(--display);color:var(--ink);font-size:1.6rem}
  .footer-top{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;text-align:center;align-items:center;flex-direction:column}
  .footer-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;font-weight:600}
  .footer-links a{cursor:pointer;transition:color .2s}
  .footer-links a:hover{color:var(--red)}
  .footer-credit{text-align:center;display:flex;flex-direction:column;gap:4px}
  .footer-credit a{color:var(--red);font-weight:600;transition:color .2s}
  .footer-credit a:hover{color:var(--red-deep)}

  .page-title{padding:60px 0 30px;border-bottom:4px double var(--ink);margin-bottom:40px;display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap}
  .page-title h1{font-size:clamp(3.5rem,8vw,6rem);line-height:.95}
  .page-title p{color:var(--ink2);font-size:1.3rem;max-width:420px}

  @media(max-width:980px){
    .story{grid-template-columns:1fr}
    .story-photo{max-width:420px}
  }
  @media(max-width:820px){
    body{font-size:1.1rem}
    .topline{display:none}
    .burger{display:block}
    .menu{display:none;position:absolute;top:70px;right:0;left:0;background:var(--paper);flex-direction:column;gap:0;border-bottom:2px solid var(--ink);align-items:stretch}
    .menu.open{display:flex}
    .menu li a{display:block;padding:15px 28px;border-bottom:1px solid var(--line);font-size:1.25rem}
    /* استایل آیتم حمایت در موبایل */
    .menu a.donate-glow{
      margin:10px 20px;
      border:1.5px solid var(--red);
      border-radius:10px;
      padding:12px 20px !important;
      text-align:center;
      background:linear-gradient(135deg,rgba(var(--glow),.15),rgba(var(--glow),.05));
      animation:donateGlow 2.6s ease-in-out infinite;
      border-bottom:1.5px solid var(--red) !important;
    }
    .menu a.donate-glow::after{display:none}
    .masthead{grid-template-columns:1fr 1fr;gap:10px}
    .masthead h1{grid-column:1/-1;order:-1}
    .ear{font-size:.85rem;padding:6px 10px}
    .front{grid-template-columns:1fr;margin-top:16px;padding-top:16px}
    .lead-story{border-left:0;padding:8px 0 10px;border-bottom:1px solid var(--ink)}
    .listen-col{padding:26px 0 10px}
    .pillars{grid-template-columns:1fr}
    .pillar,.pillar:first-child,.pillar:last-child{padding:18px 0;border-left:0;border-bottom:1px solid var(--ink)}
    .pillar:last-child{border-bottom:0}
    .ep-hero-grid,.donate-grid{grid-template-columns:1fr}
    .row{grid-template-columns:62px 1fr;gap:12px}
    .row .num{font-size:2.4rem}
    .row .leader{display:none}
    .row .date{grid-column:2}
    .channels{grid-template-columns:1fr}
    .contact{padding:30px 22px}
    .support-band{padding:36px 26px}
    .ep-resources{padding:24px}
    .hami-btn{font-size:1.35rem;padding:16px 20px}
    footer{text-align:center}
  }

  /* بهبود تجربه‌ی موبایل */
  @media(max-width:820px){
    html{-webkit-text-size-adjust:100%}
    body::before{display:none}
    a,button,.row,.channel,.support-band{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
    .wrap{padding:0 18px}
    .nav{height:62px}
    .menu{top:62px;max-height:calc(100vh - 62px);max-height:calc(100dvh - 62px);overflow-y:auto}
    .brand .word{font-size:1.6rem}
    .icon-btn{width:42px;height:42px}
    .burger{min-height:42px;padding:6px 14px;border-radius:6px;font-weight:600}
    .hero{padding:16px 0 26px}
    .masthead h1{font-size:clamp(3.2rem,17vw,5rem)}
    .ear{font-size:.8rem}
    .lead-story h2{font-size:2rem}
    .lead-story .body,.pillar p,.story-text,.ep-body .prose p{text-align:right}
    .lead-story .body{font-size:1.15rem;line-height:1.8}
    .lead-actions{gap:18px}
    .btn-solid{padding:12px 20px}
    .stamp{width:76px;height:76px;font-size:.8rem}
    .listen{box-shadow:6px 6px 0 var(--red)}
    .listen a{padding:15px 16px}
    .listen a:hover{padding-right:16px}
    .row:hover{background:none;padding:24px 0}
    .ticker-label{padding:8px 12px;font-size:1rem}
    section.block{padding:40px 0}
    .sec-head{flex-wrap:wrap;gap:6px;margin-bottom:22px}
    .sec-head h2{font-size:1.8rem}
    .page-title{padding:34px 0 18px;margin-bottom:24px}
    .page-title h1{font-size:clamp(2.8rem,14vw,4rem)}
    .page > .scene-slot{margin-top:36px}
    .story-photo{max-width:none}
    .ep-hero{padding:28px 0 40px}
    .ep-hero-grid{gap:30px}
    .cover-art{box-shadow:8px 8px 0 var(--red)}
    .ep-info h1{font-size:2.2rem}
    .ep-links a,.ep-links button{flex:1 1 calc(50% - 10px);justify-content:center;padding:13px 10px}
    .ep-body{padding:36px 0}
    .ep-body .prose p{font-size:1.2rem}
    .ep-body .prose .lead-quote{font-size:1.5rem}
    .ep-credits{gap:12px 24px}
    .ep-resources li{font-size:1.1rem}
    .support-band h3{font-size:1.7rem}
    .support-band .btn-light{width:100%;text-align:center}
    .contact-head h3{font-size:2rem}
    .channel{padding:16px}
    .donate-stage{padding:6px 0 24px}
    .donate-grid{gap:30px}
    .donate-text h2{font-size:2.2rem}
    .donate-text p{font-size:1.15rem}
    .hami-btn{box-shadow:5px 5px 0 var(--ink)}
    .coffee{width:min(78%,300px)}
    .orb{display:none}
    .cannon-hint{display:none}
    .to-top{bottom:16px;left:14px;width:42px;height:42px}
    .toast{bottom:20px;max-width:90vw;text-align:center}
    footer{padding:28px 0}
    .footer-links{gap:14px 20px}
    .footer-links a{padding:6px 2px}
  }
  @media(prefers-reduced-motion:reduce){
    *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
    .reveal{opacity:1;transform:none}
    body::before,body::after{display:none}
  }
