:root{
  --cream:#fbf3e6; --cream2:#f3e3c8; --ink:#2b1a0e; --muted:#7a5b40;
  --orange:#e8892f; --orange2:#c96a17; --green:#35c24a; --green2:#239235;
  --blue:#38a8e0; --white:#fff; --card:#fffaf2; --line:#2b1a0e;
}
*{box-sizing:border-box}
html,body{overflow-x:clip}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font:600 17px/1.55 Nunito,system-ui,sans-serif}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,.brand,.pill-btn,.bigpill,.facts b{font-family:"Luckiest Guy",Nunito,sans-serif;letter-spacing:.02em;font-weight:400}

.paws{position:fixed;inset:0;z-index:-1;opacity:.07;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cg fill='%232b1a0e' transform='rotate(-18 60 60)'%3E%3Cellipse cx='60' cy='72' rx='16' ry='13'/%3E%3Ccircle cx='42' cy='52' r='6'/%3E%3Ccircle cx='54' cy='44' r='6'/%3E%3Ccircle cx='67' cy='44' r='6'/%3E%3Ccircle cx='79' cy='52' r='6'/%3E%3C/g%3E%3C/svg%3E");}

/* nav */
.nav{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;
  padding:10px clamp(16px,4vw,48px);background:rgba(251,243,230,.9);backdrop-filter:blur(8px);border-bottom:3px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font-size:26px;text-decoration:none;color:var(--orange2)}
.brand img{width:40px;height:40px;border-radius:50%;border:3px solid var(--line)}
.nav nav{display:flex;align-items:center;gap:18px}
.nav nav a:not(.pill-btn){text-decoration:none;font-weight:800}
.nav nav a:not(.pill-btn):hover{color:var(--orange2)}

/* pill button */
.pill-btn{display:inline-flex;border:3px solid var(--line);border-radius:999px;overflow:hidden;text-decoration:none;font-size:24px;
  box-shadow:0 5px 0 var(--line);transition:transform .12s,box-shadow .12s}
.pill-btn span{padding:10px 20px}
.pill-btn span:first-child{background:var(--green);color:#fff}
.pill-btn span:last-child{background:#fff;color:var(--ink)}
.pill-btn.small{font-size:16px;padding:8px 16px;background:linear-gradient(90deg,var(--green) 50%,#fff 50%);box-shadow:0 3px 0 var(--line)}
.pill-btn:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--line)}
.pill-btn:active{transform:translateY(3px);box-shadow:0 2px 0 var(--line)}
.ghost{display:inline-flex;align-items:center;padding:12px 22px;border:3px solid var(--line);border-radius:999px;background:var(--card);
  text-decoration:none;font-weight:900;box-shadow:0 5px 0 var(--line)}
.ghost:hover{background:var(--cream2)}

/* hero */
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(24px,5vw,64px);align-items:center;
  max-width:1200px;margin:0 auto;padding:clamp(32px,6vw,80px) clamp(16px,4vw,48px)}
.tag{display:inline-block;background:var(--blue);color:#fff;font-weight:900;font-size:13px;padding:6px 12px;border-radius:999px;border:3px solid var(--line)}
h1{font-size:clamp(56px,10vw,120px);line-height:.9;margin:16px 0 12px;color:var(--orange);
  -webkit-text-stroke:3px var(--line);paint-order:stroke fill;text-shadow:0 6px 0 var(--line)}
h1 .tick{display:block;color:var(--green);font-size:.6em}
.lead{font-size:20px;max-width:34ch;color:var(--muted)}
.lead b{color:var(--green2)}

.ca{display:flex;align-items:center;gap:10px;margin:22px 0;background:var(--card);border:3px solid var(--line);border-radius:16px;padding:8px 8px 8px 14px;max-width:560px}
.ca-label{font-family:"Luckiest Guy";color:var(--orange2)}
.ca code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.copy{border:3px solid var(--line);background:var(--green);color:#fff;font:900 14px Nunito;border-radius:10px;padding:8px 14px;cursor:pointer}
.copy:disabled{background:#ccc;cursor:default}
.ctas{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.socials{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap}
.socials a{display:grid;place-items:center;width:46px;height:46px;border:3px solid var(--line);border-radius:50%;background:var(--card);text-decoration:none;font-weight:900}
.socials a:hover{background:var(--orange);color:#fff}
.socials svg{width:20px;height:20px;fill:currentColor}

.hero-art{text-align:center}
.frame{position:relative;cursor:pointer;user-select:none;max-width:520px;margin:0 auto;transition:transform .2s}
.frame::before{content:"";position:absolute;inset:8% 4% 0;border-radius:50%;z-index:-1;
  background:radial-gradient(circle at 50% 45%,#8ef09a 0,var(--green) 45%,transparent 70%);filter:blur(4px)}
.frame::after{content:"";position:absolute;left:10%;right:10%;bottom:-10px;height:26px;border-radius:50%;background:rgba(43,26,14,.18);z-index:-1;filter:blur(6px)}
.frame img{filter:drop-shadow(0 6px 0 rgba(43,26,14,.15));animation:bob 3.2s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-10px) rotate(-1deg)}}
.frame:hover{transform:scale(1.02)}
.frame.bonk{animation:bonk .35s}
@keyframes bonk{30%{transform:rotate(-2deg) scale(.97)}70%{transform:rotate(3deg) scale(1.03)}}
.hi{position:absolute;right:6%;top:6%;background:#fff;border:3px solid var(--line);border-radius:18px;padding:6px 14px;font-weight:900;
  opacity:0;transform:scale(.6);transition:.2s}
.frame.bonk .hi,.frame:hover .hi{opacity:1;transform:scale(1)}
.hint{color:var(--muted);font-size:14px;margin-top:18px}
.floaty{position:fixed;pointer-events:none;font-size:30px;z-index:50;animation:floaty 1s ease-out forwards}
@keyframes floaty{to{transform:translateY(-110px) rotate(25deg);opacity:0}}

/* marquee */
.marquee{background:var(--green);color:#fff;border-block:3px solid var(--line);overflow:hidden;white-space:nowrap;transform:rotate(-1.2deg);margin:10px -10px}
.track{display:inline-block;padding:12px 0;font-family:"Luckiest Guy";font-size:24px;animation:scroll 30s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}

/* sections */
section{scroll-margin-top:80px}
h2{font-size:clamp(38px,6vw,60px);text-align:center;margin:0 0 10px;color:var(--orange);-webkit-text-stroke:2px var(--line);paint-order:stroke fill;text-shadow:0 4px 0 var(--line)}
.sub{text-align:center;color:var(--muted);margin:0 auto 26px;max-width:46ch}
.about,.pillzone,.howto{max-width:1100px;margin:0 auto;padding:clamp(48px,8vw,90px) clamp(16px,4vw,48px)}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}
.cards article{background:var(--card);border:3px solid var(--line);border-radius:22px;padding:22px;box-shadow:6px 6px 0 var(--line);transition:transform .15s}
.cards article:nth-child(even){transform:rotate(1.2deg)}
.cards article:nth-child(odd){transform:rotate(-1deg)}
.cards article:hover{transform:rotate(0) translateY(-4px)}
.ico{font-size:40px}
.cards h3{margin:8px 0 4px;font-size:21px;font-weight:900}
.cards p{margin:0;color:var(--muted);font-size:15px}

.pillzone{text-align:center}
.bigpill{display:inline-flex;border:4px solid var(--line);border-radius:999px;overflow:hidden;padding:0;cursor:pointer;font-size:clamp(34px,7vw,64px);
  box-shadow:0 10px 0 var(--line);transform:rotate(-6deg);transition:transform .15s,box-shadow .15s;background:none}
.bigpill span{padding:18px clamp(22px,4vw,42px)}
.bigpill .g{background:linear-gradient(180deg,#5fe06f,var(--green2));color:#fff}
.bigpill .w{background:linear-gradient(180deg,#fff,#e6e6e6);color:var(--ink)}
.bigpill:hover{transform:rotate(-3deg) scale(1.04)}
.bigpill:active,.bigpill.pop{transform:rotate(-6deg) translateY(8px);box-shadow:0 2px 0 var(--line)}
.fortune{font-size:22px;font-weight:900;min-height:2.2em;margin:34px auto 6px;max-width:40ch;color:var(--green2)}
.count{color:var(--muted);font-size:14px}

.facts{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:0 auto;border:3px solid var(--line);border-radius:24px;
  overflow:hidden;background:var(--orange);box-shadow:8px 8px 0 var(--line);width:calc(100% - 32px)}
.facts div{padding:24px 12px;text-align:center;color:#fff;border-right:3px solid var(--line)}
.facts div:last-child{border-right:0}
.facts b{display:block;font-size:clamp(22px,3.4vw,36px);-webkit-text-stroke:1.5px var(--line);paint-order:stroke fill}
.facts span{font-weight:900;color:var(--ink)}

.howto{text-align:center}
.howto ol{list-style:none;counter-reset:s;padding:0;margin:30px 0 36px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;text-align:left}
.howto li{counter-increment:s;background:var(--card);border:3px solid var(--line);border-radius:22px;padding:56px 20px 20px;position:relative;box-shadow:6px 6px 0 var(--line)}
.howto li::before{content:counter(s);position:absolute;top:14px;left:16px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;
  background:var(--green);color:#fff;border:3px solid var(--line);font-family:"Luckiest Guy";font-size:20px}
.howto li b{display:block;font-size:19px}
.howto li span{color:var(--muted);font-size:15px}

footer{text-align:center;padding:50px 16px 40px;border-top:3px solid var(--line);background:var(--cream2);margin-top:40px}
.foot-dog{width:84px;height:84px;border-radius:50%;border:3px solid var(--line);margin:0 auto}
footer .socials{justify-content:center}
footer p{max-width:60ch;margin:18px auto 0;color:var(--muted);font-size:14px}
.tiny{font-size:12px!important}

.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,120px);background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;
  font-weight:900;transition:transform .25s,visibility .25s;z-index:60;visibility:hidden}
.toast.show{transform:translate(-50%,0);visibility:visible}

@media (max-width:900px){
  .hero{grid-template-columns:1fr;text-align:center}
  .hero-text{order:2}
  .lead,.ca{margin-inline:auto}
  .ctas,.socials{justify-content:center}
  .frame{max-width:400px}
  .cards,.howto ol{grid-template-columns:1fr 1fr}
  .facts{grid-template-columns:1fr 1fr}
  .facts div:nth-child(2){border-right:0}
  .facts div:nth-child(-n+2){border-bottom:3px solid var(--line)}
}
@media (max-width:560px){
  .nav nav a:not(.pill-btn){display:none}
  .cards,.howto ol{grid-template-columns:1fr}
  .cards article{transform:none!important}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* about head */
.about-head{display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;align-items:end}
.about-head h2{text-align:left}
.sub.left{text-align:left;margin:0;font-size:19px}
.sitter{position:relative;display:flex;align-items:flex-end;justify-content:center}
.sitter img:not(.duck){max-width:300px;width:100%}
.duck{width:70px;margin-right:-6px;animation:quack 4s ease-in-out infinite;transform-origin:bottom}
@keyframes quack{0%,80%,100%{transform:rotate(0)}85%{transform:rotate(-10deg)}90%{transform:rotate(8deg)}}

/* pill zone dog */
.pill-dog{width:190px;margin:0 auto -34px;position:relative;z-index:0;transform:rotate(-4deg)}
.bigpill{position:relative;z-index:1}

/* moon section (night) */
.moon{position:relative;background:radial-gradient(ellipse at 30% 30%,#123a2a 0,#0a1424 55%,#060b14 100%);color:#e8fff0;
  border-block:3px solid var(--line);overflow:hidden;margin:30px 0 70px}
.moon::before{content:"";position:absolute;inset:0;opacity:.6;pointer-events:none;
  background-image:radial-gradient(1.5px 1.5px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 10%,#fff,transparent),
  radial-gradient(1.5px 1.5px at 55% 25%,#fff,transparent),radial-gradient(1px 1px at 75% 8%,#fff,transparent),radial-gradient(1.5px 1.5px at 90% 30%,#fff,transparent),
  radial-gradient(1px 1px at 45% 5%,#fff,transparent),radial-gradient(1px 1px at 20% 40%,#fff,transparent)}
.moon-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;max-width:1100px;margin:0 auto;
  padding:clamp(48px,8vw,90px) clamp(16px,4vw,48px) 0}
.moon-text{padding-bottom:clamp(48px,8vw,90px)}
.moon h2{text-align:left;color:#6ef08a;-webkit-text-stroke:0;text-shadow:0 0 22px rgba(110,240,138,.55)}
.moon p{color:#b9d8c7;max-width:44ch;margin:0 0 26px}
.neon{display:inline-block;font-family:"Luckiest Guy";font-size:22px;line-height:1.1;color:#8dffa4;border:2px solid #3fae5a;border-radius:10px;padding:10px 14px;
  text-shadow:0 0 10px #3cff6a;box-shadow:0 0 18px rgba(60,255,106,.25) inset,0 0 18px rgba(60,255,106,.2);background:#08140f;margin-bottom:18px;
  animation:flick 5s infinite}
@keyframes flick{0%,92%,100%{opacity:1}93%{opacity:.4}95%{opacity:1}96%{opacity:.6}}
.neon.small{position:absolute;right:0;bottom:90px;font-size:16px}
.moon-art{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:420px}
.moon-art img{position:relative;z-index:2;width:min(330px,80%);filter:drop-shadow(0 0 30px rgba(60,255,106,.25))}
.tower{position:absolute;left:12%;bottom:40px;width:150px;height:360px;border-radius:75px;z-index:1;
  background:linear-gradient(180deg,#8ef0b0 0 50%,#f2f2f2 50%);box-shadow:0 0 60px rgba(110,240,160,.55);animation:hover 4s ease-in-out infinite}
@keyframes hover{50%{transform:translateY(-8px)}}
.city{position:relative;height:60px;margin-top:-40px;z-index:1;
  background:linear-gradient(0deg,#050a12 0 40%,transparent 40%),
  repeating-linear-gradient(90deg,#0c1626 0 40px,#101d33 40px 70px,transparent 70px 90px,#0c1626 90px 150px,transparent 150px 170px);
  -webkit-mask:linear-gradient(0deg,#000 60%,transparent);mask:linear-gradient(0deg,#000 60%,transparent)}

@media (max-width:900px){
  .about-head,.moon-inner{grid-template-columns:1fr}
  .about-head h2,.sub.left,.moon h2,.moon-text{text-align:center}
  .moon p{margin-inline:auto}
  .moon-text{padding-bottom:0}
  .sitter img:not(.duck){max-width:230px}
}
@media (max-width:560px){.tower{width:100px;height:250px;left:4%}.moon-art{min-height:340px}.neon.small{display:none}}
.ca.flash{animation:caflash 1.6s ease-out}
@keyframes caflash{0%,40%{background:#c9f7d0;box-shadow:0 0 0 6px rgba(53,194,74,.35)}100%{background:var(--card);box-shadow:none}}
[hidden]{display:none!important}
