:root{--sky-top:#eef8f6;--sky-mid:#e3f2ea;--sky-horizon:#fff3d9;--sun:#ffd873;--sun-soft:#ffe9ad;--ground:#1f6f63;--ground-deep:#164f46;--teal-900:#123a34;--teal-800:#175249;--teal-700:#1d6b5d;--teal-500:#2c8c78;--amber-600:#dd8a1f;--amber-500:#f0a73b;--amber-300:#ffd684;--paper:#fbf7ee;--ink:#142e29;--ink-soft:#3d5952;--line:#142e2924;--focus:#0b5c9b;--radius-s:10px;--radius-m:18px;--radius-l:28px;--maxw:1180px}.landing-page,.landing-page *{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){html:has(.landing-page){scroll-behavior:smooth}}.landing-page{font-family:var(--font-sans), "Vazirmatn", sans-serif;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-wrap:pretty;margin:0;line-height:1.75}.landing-page img,.landing-page svg{max-width:100%;display:block}.landing-page a{color:inherit}.landing-page h1,.landing-page h2,.landing-page h3,.landing-page p{margin:0}.landing-page ul{margin:0;padding:0;list-style:none}.container{max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}a:focus-visible,button:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.skip-link{inset-inline-start:1rem;z-index:20;border-radius:var(--radius-s);background:var(--teal-900);color:var(--paper);padding:.55rem 1rem;font-weight:700;text-decoration:none;transition:transform .18s;position:absolute;top:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.topbar{inset-inline:0;z-index:5;max-height:80px;padding-block:clamp(.85rem,2vw,1.25rem);position:absolute;top:0}.topbar-inner{justify-content:space-between;align-items:center;min-height:2.75rem;display:flex}.brand-mini{color:var(--teal-900);letter-spacing:-.02em;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:800;text-decoration:none;display:flex}.brand-mini-mark,.brand-mini svg{width:30px;height:30px}.footer-mark{width:22px;height:22px}.nav-cta{align-items:center;gap:.6rem;display:flex}.btn{white-space:nowrap;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.4rem;font-size:1.05rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s,border-color .18s;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn-ghost{color:var(--teal-900);border-color:var(--teal-900);background:0 0}.btn-ghost:hover{background:var(--teal-900);color:var(--paper);transform:translateY(-2px)}.btn-solid{background:var(--amber-500);color:var(--teal-900);box-shadow:0 8px 22px -8px #dd8a1fa6}.btn-solid:hover{background:var(--amber-600);transform:translateY(-2px);box-shadow:0 12px 26px -8px #dd8a1fbf}.nav-cta .btn{padding:.5rem 1.1rem;font-size:1rem}.hero{background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-mid) 55%, var(--sky-horizon) 100%);align-items:flex-start;min-height:100dvh;display:flex;position:relative;overflow:hidden}.hero-scene{z-index:0;position:absolute;inset:0}.hero-scene svg{width:100%;height:100%}.hero-scrim{z-index:1;pointer-events:none;background:radial-gradient(60% 50% at 50% 38%,#fbf7eedb 0%,#fbf7ee8c 45%,#fbf7ee00 78%);position:absolute;inset:0}.hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:clamp(.85rem,2vw,1.35rem);width:100%;padding-top:clamp(4.5rem,7vw,6rem);padding-bottom:clamp(2.5rem,6vw,4rem);animation:.9s cubic-bezier(.2,.8,.2,1) both hero-rise;display:flex;position:relative}@keyframes hero-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}.brand-lockup{flex-direction:column;align-items:center;gap:.15rem;display:flex}.swing-logo{width:clamp(72px,9vw,108px);height:auto;color:var(--teal-900);transform-origin:50% 8%;animation:4.6s ease-in-out infinite alternate swing-sway}@keyframes swing-sway{0%{transform:rotate(-6deg)}to{transform:rotate(6deg)}}.brand-word{color:var(--teal-900);letter-spacing:-.04em;text-wrap:balance;font-size:clamp(3.6rem,12vw,7.5rem);font-weight:900;line-height:.95}.headline{color:var(--teal-900);letter-spacing:-.02em;text-wrap:balance;max-width:18ch;font-size:clamp(1.45rem,3.4vw,2.35rem);font-weight:800;line-height:1.25}.subline{color:var(--teal-800);max-width:36ch;font-size:clamp(1rem,1.9vw,1.15rem);font-weight:500;line-height:1.7}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:.25rem;display:flex}.hero-ctas .btn{min-height:2.75rem;padding:.9rem 2rem;font-size:1.05rem}.hero-tertiary{color:var(--teal-700);text-underline-offset:.22em;font-size:1rem;font-weight:700;text-decoration:underline}.hero-tertiary:hover{color:var(--teal-900)}.hero-stats{flex-wrap:wrap;justify-content:center;gap:.7rem 1.1rem;margin-top:.35rem;display:flex}.hero-stats li{border:1px solid var(--line);background:#fbf7eeb8;border-radius:999px;flex-direction:column;align-items:center;min-width:6.5rem;padding:.55rem .9rem;display:flex}.hero-stats strong{color:var(--teal-900);font-size:1.05rem;font-weight:800}.hero-stats span{color:var(--ink-soft);font-size:.85rem;font-weight:600}.landing-page section:not(.hero){padding-block:clamp(3.75rem,8vw,6.5rem) clamp(4.25rem,9vw,7rem);position:relative}.eyebrow{color:var(--amber-600);margin-bottom:.6rem;font-size:1rem;font-weight:700;display:block}.section-title{color:var(--teal-900);letter-spacing:-.02em;text-wrap:balance;margin-bottom:.65rem;font-size:clamp(1.65rem,3.1vw,2.3rem);font-weight:800;line-height:1.25}.section-head{max-width:42ch;margin-bottom:clamp(2.4rem,5vw,3.4rem)}.section-lead{color:var(--ink-soft);max-width:38ch;font-size:1.05rem;font-weight:500}.landing-reveal{opacity:0;transition:opacity .55s cubic-bezier(.2,.8,.2,1),transform .55s cubic-bezier(.2,.8,.2,1);transition-delay:var(--reveal-delay,0s);transform:translateY(18px)}.landing-reveal.is-visible{opacity:1;transform:translateY(0)}.trust{background:var(--paper);border-block:1px solid var(--line);padding-block:clamp(1.6rem,4vw,2.4rem)!important}.trust-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.trust-item{flex-direction:column;gap:.2rem;padding-inline:.25rem;display:flex}.trust-item strong{color:var(--teal-900);letter-spacing:-.02em;font-size:1.15rem;font-weight:800}.trust-item span{color:var(--ink-soft);font-size:.95rem;font-weight:500}.features{background:linear-gradient(180deg, var(--paper) 0%, #f3faf7 100%)}.features-bento{grid-template-columns:1.2fr 1fr 1fr;gap:1rem;display:grid}.features-bento>.landing-reveal{min-height:100%;display:flex}.features-bento>.landing-reveal:first-child{grid-row:span 2}.feature-card{border-radius:var(--radius-l);border:1px solid var(--line);flex-direction:column;flex:1;justify-content:flex-end;gap:.7rem;min-height:10.5rem;padding:clamp(1.4rem,2.4vw,2rem);display:flex}.feature-card--wide{background:var(--teal-900);color:var(--paper);border-color:#0000;min-height:100%}.feature-card--wide h3,.feature-card--wide p{color:var(--paper)}.feature-card--wide p{color:#fbf7eec7}.feature-card--sun{background:var(--sun-soft)}.feature-card--sky{background:var(--sky-mid)}.feature-card--paper{background:#fff}.feature-card--deep{background:#e8f4ef}.feature-card h3{color:var(--teal-900);letter-spacing:-.015em;font-size:1.2rem;font-weight:800}.feature-card p{color:var(--ink-soft);max-width:36ch;font-size:1rem}.how{background:var(--paper)}.steps{border-inline-start:2px solid #dd8a1f59;flex-direction:column;gap:0;max-width:40rem;margin-inline:0;padding-inline-start:clamp(1.4rem,3vw,2rem);display:flex;position:relative}.steps:before{content:"";inset-inline-start:-2px;background:linear-gradient(180deg, var(--amber-500) 0%, #dd8a1f33 100%);width:2px;animation:3.2s ease-in-out infinite alternate timeline-glow;position:absolute;top:0;bottom:0}@keyframes timeline-glow{0%{opacity:.55}to{opacity:1}}.step{grid-template-columns:auto 1fr;align-items:start;gap:.85rem 1.1rem;padding-block:1.35rem;display:grid;position:relative}.step+.step{border-top:1px solid var(--line)}.step-badge{border-radius:var(--radius-s);background:var(--teal-900);width:2.75rem;height:2.75rem;color:var(--paper);grid-row:1/span 2;justify-content:center;align-items:center;font-size:1.05rem;font-weight:800;display:flex;box-shadow:0 10px 20px -8px #123a3473}.step h3{color:var(--teal-900);letter-spacing:-.01em;padding-top:.35rem;font-size:1.15rem;font-weight:700}.step p{color:var(--ink-soft);grid-column:2;max-width:36ch;font-size:1.1rem}.games{background:linear-gradient(180deg, #f3faf7 0%, var(--paper) 100%);position:relative;overflow:hidden}.games:before,.games:after{content:"";filter:blur(2px);opacity:.35;z-index:0;pointer-events:none;border-radius:50%;position:absolute}.games:before{background:var(--amber-300);top:-60px;width:220px;height:220px;inset-inline-end:6%}.games:after{background:var(--teal-500);bottom:-50px;opacity:.18;width:160px;height:160px;inset-inline-start:4%}.games .container{z-index:1;position:relative}.games-showcase{grid-template-columns:minmax(13rem,16.5rem) 1fr;align-items:start;gap:clamp(1rem,2.5vw,1.75rem);display:grid}.games-tabs{flex-direction:column;gap:.45rem;display:flex}.games-tab{border-radius:var(--radius-s);border:1px solid var(--line);width:100%;min-height:2.75rem;color:var(--teal-900);font:inherit;text-align:start;cursor:pointer;background:#fff;align-items:center;gap:.7rem;padding:.55rem .75rem;font-weight:700;transition:transform .18s,border-color .18s,background .18s;display:flex}.games-tab:hover{border-color:var(--gtype-border-hover,var(--amber-500));transform:translate(-3px)}.games-tab.is-active{background:var(--gtype-bg,var(--sun-soft));border-color:var(--gtype-border-hover,var(--amber-500))}.games-tab-mark{box-shadow:none}.games-panel{border-radius:var(--radius-l);background:var(--gtype-bg,#fff3dc);border:2px solid var(--gtype-border,#f3d69a);flex-direction:column;align-items:flex-start;gap:.85rem;min-height:18rem;padding:clamp(1.5rem,3vw,2.25rem);display:flex}.games-panel-visual{margin-bottom:.2rem}.games-panel h3{color:var(--gtype-text,var(--teal-900));letter-spacing:-.02em;font-size:clamp(1.35rem,2.4vw,1.7rem);font-weight:800}.games-panel p{color:var(--ink-soft);max-width:38ch;font-size:1.05rem}.games-panel-tease{font-weight:600}.games-panel .btn{min-height:2.75rem;margin-top:.4rem}.games-tab--amber,.games-panel--amber{--gtype-bg:#fff3dc;--gtype-border:#f3d69a;--gtype-border-hover:var(--amber-600);--gtype-text:#7a4707}.games-tab--teal,.games-panel--teal{--gtype-bg:#dcf3ea;--gtype-border:#a9dfc9;--gtype-border-hover:var(--teal-700);--gtype-text:#0e4a3d}.games-tab--coral,.games-panel--coral{--gtype-bg:#ffe3da;--gtype-border:#f7bda9;--gtype-border-hover:#e2653f;--gtype-text:#8a3116}.games-tab--sky,.games-panel--sky{--gtype-bg:#dcf0fb;--gtype-border:#a9d9ef;--gtype-border-hover:#2c85b3;--gtype-text:#0e435d}.games-tab--violet,.games-panel--violet{--gtype-bg:#ebe3fb;--gtype-border:#cbb9ee;--gtype-border-hover:#7148c9;--gtype-text:#3c2570}.games-tab--lime,.games-panel--lime{--gtype-bg:#eef6d6;--gtype-border:#d3e5a2;--gtype-border-hover:#7a9425;--gtype-text:#3f4d11}.voices{background:var(--paper)}.voices-grid{grid-template-columns:1.1fr .95fr .95fr;gap:1rem;display:grid}.voice-card{border-radius:var(--radius-l);border:1px solid var(--line);background:#fff;flex-direction:column;justify-content:space-between;gap:1.4rem;padding:clamp(1.4rem,2.4vw,1.9rem);display:flex}.voice-card blockquote p{color:var(--ink);font-size:1.05rem;font-weight:500}.voice-meta{align-items:center;gap:.75rem;display:flex}.voice-avatar{background:var(--sun-soft);width:2.75rem;height:2.75rem;color:var(--teal-900);border-radius:.85rem;justify-content:center;align-items:center;font-size:.85rem;font-weight:800;display:flex}.voice-meta strong{color:var(--teal-900);font-weight:800;display:block}.voice-meta span{color:var(--ink-soft);font-size:.92rem}.audience{background:var(--paper)}.audience-grid{grid-template-columns:1.05fr .95fr;align-items:stretch;gap:clamp(1.25rem,3vw,2.25rem);display:grid}.audience-card{border-radius:var(--radius-l);flex-direction:column;gap:.9rem;padding:clamp(1.8rem,3vw,2.5rem);display:flex}.audience-card.teacher{background:var(--sun-soft)}.audience-card.student{background:var(--sky-mid)}.audience-card h3{color:var(--teal-900);letter-spacing:-.015em;font-size:1.3rem;font-weight:800}.audience-card p{color:var(--ink-soft);flex:1;font-size:1rem}.audience-card .btn{align-self:flex-start;margin-top:.35rem}.final-cta{text-align:center;background:linear-gradient(180deg, var(--sky-horizon), var(--sun-soft));padding-block:clamp(4rem,9vw,6.5rem) clamp(4.5rem,10vw,7.5rem)}.final-cta .brand-word{margin-bottom:.35rem;font-size:clamp(2.2rem,6vw,3.2rem)}.final-cta h2{color:var(--teal-900);letter-spacing:-.02em;text-wrap:balance;margin-bottom:1.6rem;font-size:clamp(1.45rem,3vw,2rem);font-weight:800}.final-cta .hero-ctas{margin-top:0}.landing-page footer{background:var(--teal-900);color:#fbf7eeb8;padding-block:2rem;font-size:1rem}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-brand{color:var(--paper);align-items:center;gap:.5rem;font-weight:800;display:flex}.footer-brand svg,.footer-mark{width:22px;height:22px}.footer-nav{flex-wrap:wrap;gap:.85rem 1.2rem;display:flex}.footer-nav a{color:var(--paper);font-weight:600;text-decoration:none}.footer-nav a:hover{text-underline-offset:.18em;text-decoration:underline}.demo-page .hero{min-height:0}.demo-page .hero-content{text-align:start;align-items:flex-start;gap:.55rem;padding-top:clamp(4.5rem,7vw,5.5rem);padding-bottom:1.1rem}.demo-page .headline{max-width:22ch;font-size:clamp(1.35rem,3vw,1.9rem)}.demo-shell{padding-block:0 4rem}.demo-page .games-tabs{flex-flow:wrap}.demo-page .games-tab{width:auto}.demo-frame{border-radius:var(--radius-l);border:1px solid var(--line);background:#fff;margin-top:1.25rem;padding:clamp(.8rem,2vw,1.25rem)}@media (max-width:820px){.audience-grid,.trust-row,.features-bento,.voices-grid,.games-showcase{grid-template-columns:1fr}.features-bento>.landing-reveal:first-child{grid-row:auto}.games-tabs{flex-direction:row;padding-bottom:.35rem;overflow-x:auto}.games-tab{flex:none;width:auto}.steps{max-width:none}}@media (max-width:520px){.topbar .btn-ghost:not(:first-of-type){display:none}.hero-ctas{width:100%}.hero-ctas .btn{flex:auto;min-width:min(100%,11rem)}}@media (prefers-reduced-motion:reduce){.landing-reveal{opacity:1;transition:none;transform:none}.swing-logo,.hero-content,.steps:before{animation:none!important}*{transition-duration:.001ms!important}}
