:root{
      --ink:#262635; --ink-2:#322947; --ink-3:#323e4f;
      --card:#3e2347; --edge:#43434f;
      --text:#ffffeb; --muted:#c2c2d1;
      --accent:#66ffe3; --accent-2:#f2a65e;
      --hot:#ff6b97; --ok:#8fde5d;
      --radius:16px; --shadow:0 10px 30px rgba(0,0,0,.35);
      --skin-bg:#c2c2d1; --skin-pattern-size:64px; --skin-pattern-opacity:.35; --skin-pattern-angle:15deg; --skin-pattern-speed:22s;
      --grass-size:256px; --grass-opacity:1; --grass-darken:rgba(0,0,0,.12);

      /* COMMUNITY flags */
      --flag-w: 270px;
      --flag-h: 360px;
      --flag-gap: 18px;
      --flag-icon: 72px;
      --flag-label-size: 1.05rem;
      --flag-offset-y: -22%;
      --tabard-top: 0px; /* vertical nudge of tabards relative to section top */
      --tabard-shift-x: 0px; /* + right,  - left  */
      --tabard-shift-y: 80px; /* + down,   - up    */

      /* Gap after Community */
      --community-after-gap: 0px;
      --post-community-top: 24px;
      --post-community-shift: -90px;

      /* Pinned socials (top-right) — light chip look */
      --pinned-bg: rgba(255,255,255,.10);
      --pinned-border: rgba(255,255,255,.28);
      --pinned-item-bg: rgba(255,255,255,.12);
      --pinned-item-border: rgba(255,255,255,.28);

      /* Active link color (requested #60e4ce) */
      --active-link:#60e4ce;
    }
    *{box-sizing:border-box}
    html,body{margin:0}
    body{font:16px/1.5 system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--ink);overflow-x:hidden;}
    a{color:var(--accent)} a:hover{opacity:.9; filter:saturate(1.1)}
    .container{width:min(1200px, 80vw);margin:0 auto}

    /* NAV */
    .nav{position:fixed;inset:0 0 auto 0;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;z-index:100;backdrop-filter:saturate(1.2) blur(8px);}
    .nav-bg{position:absolute;inset:0;background:linear-gradient( to bottom, rgba(39,39,54,.9), rgba(39,39,54,.35));z-index:-1;border-bottom:1px solid rgba(255,255,255,.08)}
    .brand{display:flex;gap:10px;align-items:center;font-weight:800;letter-spacing:.3px}
    .brand img{width:28px;height:28px}
    .menu{display:flex;gap:18px;align-items:center}
    .menu a{color:var(--text);text-decoration:none;font-weight:600;opacity:.8}
    .menu a.active{color:var(--active-link)}
    .menu .cta{background:var(--accent);color:#142023;padding:10px 14px;border-radius:999px;font-weight:800;border:0;box-shadow:0 4px 16px rgba(102,255,227,.25)}
    .menu a.cta.active{color:#fff !important;}
    .burger{display:none}

    /* Mobile full-screen menu */
    .mobile-menu{
      position:fixed; inset:0; z-index:120; display:none;
      background:rgba(20,21,32,.96); backdrop-filter: blur(10px) saturate(1.1);
      padding:84px 18px 24px;
    }
    .mobile-menu.open{ display:flex; flex-direction:column; gap:16px; }
    .mobile-menu a{
      color:var(--text); text-decoration:none; font-weight:800; font-family:'Pixelify Sans', system-ui, sans-serif;
      font-size:1.4rem; padding:10px 12px; border-radius:12px; border:1px solid rgba(255,255,255,.10); background:rgba(255,255,255,.04);
    }
    .mobile-menu a.active{
      color:var(--active-link); border-color: rgba(96,228,206,.5); box-shadow:0 0 0 1px rgba(96,228,206,.25) inset;
    }
    .mobile-menu .close{
      position:absolute; top:14px; right:14px; width:42px; height:42px; border-radius:12px;
      display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.06);
      font-size:26px; font-weight:900; color:#fff; cursor:pointer;
    }
    .mobile-socials{
      display:flex; justify-content:center; gap:12px; padding-top:10px;
    }
    .mobile-socials a{
      width:44px; height:44px; display:flex; align-items:center; justify-content:center;
      border-radius:12px; background:var(--pinned-item-bg); border:1px solid var(--pinned-item-border);
      line-height:0;
    }
    .mobile-socials img{ width:24px; height:24px; display:block; }

    /* Pinned socials (desktop only) */
    .pinned-socials{
      position:fixed; top:64px; right:12px; z-index:90;
      display:flex; flex-direction:column; gap:10px;
      background:var(--pinned-bg);
      border:1px solid var(--pinned-border);
      border-radius:12px; padding:10px;
      backdrop-filter:blur(8px) saturate(1.1);
      box-shadow:0 8px 18px rgba(0,0,0,.35), inset 0 0 0 1px rgba(0,0,0,.12);
    }
    .pinned-socials a{
      width:36px;height:36px;display:grid;place-items:center;border-radius:10px;
      background:var(--pinned-item-bg);
      border:1px solid var(--pinned-item-border);
      transition:transform .18s ease, background-color .18s ease, border-color .18s ease;
    }
    .pinned-socials a:hover{ transform:translateY(-1px); background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.38); }
    .pinned-socials img{width:22px;height:22px;display:block}

    /* HERO */
    .hero{position:relative;min-height:92vh;display:grid;place-items:center;padding:120px 0 60px}
    .bg-video{position:absolute;inset:0;object-fit:cover;width:100%;height:100%;filter:contrast(1.05) saturate(1.1) brightness(.8)}
    .hero::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 30% 20%, rgba(242,166,94,.20), transparent 45%), linear-gradient(to bottom, rgba(15,15,18,.2), rgba(15,15,18,.92));}
    .hero-inner{position:relative;z-index:1;text-align:center}
    .eyebrow{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(102,255,227,.12);border:1px solid rgba(102,255,227,.35);backdrop-filter:blur(4px);font-weight:700;color:var(--text);font-family:'Pixelify Sans', system-ui, sans-serif;letter-spacing:.2px}
    h1{font-family:'Silkscreen','Pixelify Sans',system-ui,sans-serif;font-size:clamp(32px, 6vw, 68px);line-height:1.05;margin:16px 0 8px;letter-spacing:.5px}
    .h1-first{display:inline} .h1-second{display:inline}
    .tag{font-size:clamp(16px, 2.4vw, 20px);color:var(--muted)}
    .cta-row{display:flex;gap:12px;justify-content:center;margin-top:22px;flex-wrap:wrap}
    .btn{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.12);padding:12px 16px;border-radius:12px;background:#1a1b25;color:var(--text);text-decoration:none;font-weight:800;box-shadow:var(--shadow)}
    .btn.primary{background:var(--accent);color:#142023;border-color:transparent;box-shadow:0 10px 24px rgba(102,255,227,.25)}
    .btn.ghost{background:rgba(255,255,255,.06);border-color:var(--edge)}

    /* SECTIONS */
    section{padding:90px 0;border-top:1px solid rgba(255,255,255,.05)}
    /* tighter gap after trailer */
    #trailer{ padding-bottom:48px; }

    .grid{display:grid;gap:26px}
    .two{grid-template-columns:repeat(2,1fr); align-items:stretch;}
    .card{background:var(--card);border:1px solid var(--edge);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
    .pill{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;background:rgba(102,255,227,.12);border:1px solid rgba(102,255,227,.35);color:var(--text);font-weight:700}
    .pill.tiny{ padding:4px 8px; font-size:.8rem; }
    h2{font-family:'Pixelify Sans', system-ui, sans-serif;font-size:clamp(26px, 3.6vw, 40px);margin:6px 0 16px}
    p.lead{color:var(--muted);font-size:18px;font-family:'Jersey 10', system-ui, sans-serif}
    ul.nice{list-style:none;padding:0;margin:12px 0;display:grid;gap:10px}
    ul.nice li{display:flex;gap:10px;align-items:flex-start}
    .check{color:var(--ok)}

    /* ABOUT (desktop carousel) */
    .about-media{display:flex; flex-direction:column; align-items:center; gap:12px; padding:18px}
    .solid-ink3{ background: var(--ink-3); }
    .carousel{position:relative;height: clamp(360px, 60vh, 520px);aspect-ratio: 9/16;width: auto;border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.06); background:#151626;}
    .slides{
      display:flex;
      /* Let flexbox compute the full width; helps with painting & percentages */
      height:100%;
      transform:translateX(0%);
      transition:transform .5s ease;
      will-change: transform;
    }
    .slides img{
      flex:0 0 100%;
      min-width:100%;
      width:100%;
      height:100%;
      /* No-crop, true fit for 1080x1920 */
      object-fit: contain;
      object-position: center;
      display:block;
      background:#151626; /* shows in the letterbox area */
    }
    .car-btn{position:absolute; top:50%; transform:translateY(-50%); width:32px;height:32px;border-radius:999px;border:1px solid rgba(255,255,255,.25); background:rgba(0,0,0,.35); color:#fff; display:grid;place-items:center; cursor:pointer;}
    .car-btn:hover{background:rgba(0,0,0,.5)}
    .car-prev{left:8px} .car-next{right:8px}
    .dots{position:absolute; left:50%; bottom:8px; transform:translateX(-50%); display:flex; gap:6px}
    .dots button{width:8px;height:8px;border-radius:50%;border:0;background:rgba(255,255,255,.4);cursor:pointer}
    .dots button.active{background:#fff}
    .carousel-caption{padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid var(--edge); font-family:'Pixelify Sans', system-ui, sans-serif; font-weight:700; font-size:.95rem; color:var(--text); letter-spacing:.2px; text-align:center;}

    /* ABOUT (mobile side-scroller) */
    .about-mob-scroller{ display:none; }
    .mob-snap{
      display:flex; gap:12px; overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; padding:8px 18px 2px;
    }
    .mob-snap img{
      height:240px;
      width:auto;
      border-radius:12px;
      scroll-snap-align:center;
      display:block;
      /* No-crop on mobile tiles */
      object-fit: contain;
      object-position: center;
      background:#151626;
      box-shadow:0 8px 16px rgba(0,0,0,.35), inset 0 0 0 1px rgba(255,255,255,.08);
    }

    /* NEWSLETTER / SKIN */
    .newsletter{display:grid;gap:12px;grid-template-columns:1fr auto;align-items:center;background:linear-gradient(135deg, rgba(242,166,94,.18), rgba(142,240,255,.12));border:1px solid rgba(255,255,255,.14);padding:16px;border-radius:14px}
    .newsletter input{background:#1b1c27;border:1px solid var(--edge);color:var(--text);padding:14px 12px;border-radius:10px;outline:none}

    /* Skin reward */
    .skin-card{position:relative;display:grid; place-items:center;background:var(--skin-bg);border:1px solid rgba(255,255,255,.14);border-radius:14px; padding:12px; margin-bottom:12px;box-shadow:0 8px 24px rgba(0,0,0,.25), inset 0 0 0 1px rgba(255,255,255,.04);overflow:hidden;}
    .skin-card::before{content:"";position:absolute;inset:-80px;background-image:url('dog-head-white.png');background-repeat:repeat;background-size:var(--skin-pattern-size) var(--skin-pattern-size);background-position:0 0;opacity:var(--skin-pattern-opacity);pointer-events:none;z-index:0;transform:rotate(var(--skin-pattern-angle));transform-origin:center;animation:patternDrift var(--skin-pattern-speed) linear infinite;}
    .skin-card > *{position:relative; z-index:1;}
    .skin-content{display:flex; align-items:center; justify-content:center; gap:16px; padding:8px 6px; flex-wrap:wrap;}
    .skin-card img{width: clamp(160px, 40vw, 280px); height:auto; image-rendering: pixelated; border-radius:10px; display:block;}
    .skin-note{font-size:.9rem; color:var(--muted); margin-top:6px; text-align:center}
    @keyframes patternDrift{0%{background-position:0 0}100%{background-position:var(--skin-pattern-size) calc(-1 * var(--skin-pattern-size))}}

    /* Parallax (features only) */
    .section-parallax{position:relative; overflow:hidden;}
    .section-parallax .parallax-tiles{
      position:absolute; inset:-200px; z-index:0; pointer-events:none;
      background-image:url('grass-big.png');
      background-repeat:repeat; background-size:var(--grass-size) var(--grass-size);
      background-position:0 0; opacity:var(--grass-opacity); image-rendering: pixelated;
    }
    .section-parallax .parallax-veil{position:absolute; inset:0; z-index:0; pointer-events:none; background:var(--grass-darken);}
    .section-parallax > *:not(.parallax-tiles):not(.parallax-veil){position:relative; z-index:1;}
    .feature-block{display:grid; grid-template-columns: 1.2fr 1fr; gap:18px; align-items:center;}
    .feature-block.reverse{grid-template-columns: 1fr 1.2fr;}
    .feature-media{position:relative; background:#1a1b25; border:1px solid var(--edge);border-radius:12px; padding:16px; display:grid; place-items:center; overflow:hidden;}
    .feature-media.bg-ink3{ background: var(--ink-3); }
    .feature-text h3{margin:0 0 8px; font-family:'Pixelify Sans', system-ui, sans-serif; font-size:clamp(22px,3vw,30px)}
    .feature-text p{margin:0; color:var(--muted); font-size:18px; font-family:'Jersey 10', system-ui, sans-serif}
    .equation-row{display:flex; align-items:center; justify-content:center; gap:12px; flex-wrap:wrap}
    .equation-row img{height:clamp(72px, 14vw, 140px); width:auto; image-rendering: pixelated; display:block; border-radius:8px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
    .equation-row .op{font-family:'Silkscreen', system-ui, sans-serif; font-size:clamp(20px, 3vw, 32px); color:var(--accent); padding:4px 8px}

    .seq-box{display:grid; place-items:center}
    .seq-row{display:flex; gap:14px; align-items:center; justify-content:center; white-space:nowrap;}
    .seq-anim{width: clamp(96px, 22vw, 192px); height: auto; image-rendering: pixelated; display:block; cursor:pointer}
    .feature-media.pattern-grey{ background:#606070; }
    .feature-media.pattern-grey::before{
      content:""; position:absolute; inset:-80px;
      background-image:url('dog-head-grey.png'); background-repeat:repeat;
      background-size:var(--skin-pattern-size) var(--skin-pattern-size);
      opacity:var(--skin-pattern-opacity); transform:rotate(var(--skin-pattern-angle));
      animation:patternDrift var(--skin-pattern-speed) linear infinite;
      z-index:0; pointer-events:none;
    }
    .feature-media.pattern-grey > *{ position:relative; z-index:1; }

    /* ===== COMMUNITY ===== */
    #community{ padding:0 0 var(--community-after-gap); border-top:0; }
    #community .container{ padding-top:0; }
    .flags-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--flag-gap); align-items:start; padding-top:0; margin-top:0; }
    .flag{ --img:none; position:relative; height:var(--flag-h); display:grid; place-items:center; text-align:center; isolation:isolate; }
    .flag::before{
      content:""; position:absolute; top:50%; left:50%; transform: translate(calc(-50% + var(--tabard-shift-x)), calc(-50% + var(--flag-offset-y) + var(--tabard-shift-y)));
      width:var(--flag-w); height:var(--flag-h);
      background-image:var(--img); background-repeat:no-repeat; background-size:contain; background-position:top center;
      image-rendering:pixelated; filter:drop-shadow(0 12px 20px rgba(0,0,0,.35)); z-index:0;
    }
    .flag .overlay{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; transform:translateY(var(--flag-offset-y)); text-decoration:none; color:var(--text); font-weight:900; z-index:1; }
    .flag .chip{
      display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
      padding:12px 16px; border-radius:14px;
      background:rgba(255,255,255,.10);
      border:1px solid rgba(255,255,255,.28);
      backdrop-filter:blur(4px) saturate(1.05);
      box-shadow:inset 0 0 0 1px rgba(0,0,0,.25), 0 8px 18px rgba(0,0,0,.35);
    }
    .flag .overlay img{ width:var(--flag-icon); height:var(--flag-icon); display:block; }
    .flag .overlay .label{ font-size:var(--flag-label-size); letter-spacing:.2px; text-shadow:0 2px 6px rgba(0,0,0,.45); }
    .flag .overlay:focus-visible .chip{ outline:2px solid var(--accent); outline-offset:4px; }

    .flag--x{        --img: url('tabard-big-pawns_common.png'); }
    .flag--discord{  --img: url('tabard-big-pawns_rare.png'); }
    .flag--tiktok{   --img: url('tabard-big-pawns_epic.png'); }

    /* Pillars starts sooner after Community */
    #community + #features{ padding-top:var(--post-community-top); margin-top:var(--post-community-shift); }

    /* ========= ROADMAP (desktop rail via web component + mobile vertical) ========= */
    .rm-mob{ display:none; }
    .rm-mob .vline{ position:relative; margin: 8px 0 0 14px; border-left:3px solid rgba(255,255,255,.22); }
    .rm-mob .mi{
      position:relative; padding: 12px 12px 12px 28px; margin: 0 0 10px 0; 
      background:var(--card); border:1px solid var(--edge); border-radius:12px; box-shadow:var(--shadow);
    }
    .rm-mob .mi .dot{
      position:absolute; left:-11px; top:18px; width:16px; height:16px; border-radius:50%; background:#151626; border:3px solid #9ba0ac; box-shadow:inset 0 0 0 2px rgba(0,0,0,.55);
    }
    .rm-mob .mi.now .dot{  border-color:#ffffeb; }
    .rm-mob .mi.next .dot{ border-color:#66ffe3; }
    .rm-mob .mi h3{ margin:0 0 6px; font-family:'Pixelify Sans', system-ui, sans-serif; }
    .rm-mob .mi .period{ color:var(--muted); font-weight:600; margin-left:6px; }

    /* ====== RESPONSIVE TWEAKS ====== */
    @media (max-width: 1100px){
      #trailer .grid.two{ grid-template-columns:1fr; }
    }
    @media (max-width: 980px){
      .feature-block, .feature-block.reverse{grid-template-columns:1fr}
      #trailer .card{ width:100%; }
      #newsletter .grid.two{ grid-template-columns:1fr; }
    }
    @media (max-width: 960px){
      .burger{display:inline-flex; align-items:center; justify-content:center; padding:10px 12px; border-radius:10px; border:1px solid rgba(255,255,255,.15); background:rgba(255,255,255,.06); color:var(--text); font-weight:800}
      .menu{display:none !important}
      .pinned-socials{ display:none; }
      .h1-first{display:block}
      .h1-second{display:block}
      #about .two{ grid-template-columns:1fr; }
      #about .about-media{ display:none; }
      .about-mob-scroller{ display:block; margin-left:calc(50% - 50vw); width:100vw; }
      .mob-snap img{ height:220px; }
      .flags-row{ grid-template-columns:1fr 1fr; }

      /* make About slightly wider & keep H2 on one line */
      .container{ width:min(1200px, 92vw); }
      #about h2{ white-space: nowrap; }
    }
    @media (max-width: 700px){
      /* MOBILE TIGHTENING — PILLARS */
      .card.feature-block{ padding:14px; display:flex; flex-direction:column; } /* stack text above media */
      .card.feature-block .feature-text{ order:1; }
      .card.feature-block .feature-media{ order:2; }

      .feature-block .feature-media{ overflow:hidden; padding:8px; }
      .equation-row{ flex-wrap:nowrap; gap:6px; padding:4px; margin:0 auto; max-width:100%; transform-origin:center; }
      .equation-row img{ height:clamp(44px, 15vw, 88px); }
      .equation-row .op{ font-size:clamp(16px, 5vw, 22px); padding:0 2px; }

      /* Express Yourself — 3 visible, centered & closer */
      .seq-row{ justify-content:center; gap:6px; margin:0 auto; max-width:calc(100% - 8px); }
      .seq-anim{ width: clamp(70px, 24vw, 94px); }

      /* Community flags: single column & tighter spacing */
      .flags-row{ grid-template-columns:1fr; gap:8px; }

      /* Hide the desktop roadmap component on mobile, show mobile list */
      roadmap-timeline{ display:none; }
      .rm-mob{ display:block; }
      #roadmap .hint{ display:none; }
    }

    /* FOOTER — ONE COLUMN EVERYWHERE */
    footer{padding:28px 0; color:var(--muted); background:#272736; border-top:1px solid rgba(255,255,255,.08);}
    .footer-wrap{ display:grid; gap:12px; justify-items:center; text-align:center; }
    .footer-launch{opacity:.95}
    .footer-socials{display:flex; gap:10px; justify-content:center;}
    .footer-socials a{width:34px;height:34px;display:grid;place-items:center; border-radius:10px; border:1px solid rgba(255,255,255,.10); background:#1a1b25;}
    .footer-socials img{width:20px;height:20px;display:block}
    .footer-mail a{color:var(--text); text-decoration:none; font-weight:700}
    .footer-mail a:hover{text-decoration:underline}
    .footer-copy{opacity:.9}

    /* reduce top padding before roadmap to tighten space after trailer */
    #roadmap{ padding-top:60px; }

    /* Anim helpers */
.js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease, transform .6s ease}
    .reveal.in{opacity:1;transform:none}

    .page{
      position:relative; z-index:1;
      background:linear-gradient(180deg, rgba(50,41,71,.92), rgba(39,39,54,.92));
      box-shadow:0 0 0 1px rgba(255,255,255,.04), 0 20px 60px rgba(0,0,0,.45);
      overflow:hidden;
    }


/* Optional: stagger support for reveal items */
.js .reveal{ transition-delay: var(--rev-delay, 0s); }

/* ===== HOTDOG WALK — JS-driven (robust across engines) ===== */
.sprite-anim{
  /* expects inline vars: --frame-w, --frame-h, --scale; optionally uses --frames */
  width: calc(var(--frame-w) * var(--scale));
  height: calc(var(--frame-h) * var(--scale));
  image-rendering: pixelated;
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size:
    calc(var(--frame-w) * var(--frames, 8) * var(--scale))
    calc(var(--frame-h) * var(--scale));
  will-change: background-position, background-size;
}

/* Keep skin + dog nudged left */
.skin-card .skin-content{
  display:flex; align-items:center; justify-content:flex-start;
  gap:14px; padding:8px 6px; transform: translateX(-8px);
}
