/* ============================================================
   PumpHood design system — heritage Sherwood palette,
   editorial type, crafted icons. Shared across all pages.
   ============================================================ */
:root{
  /* Robin Hood — Lincoln green, gold, a touch of feather-red */
  --green:#1f8a4c; --green-d:#166b39; --green-soft:rgba(31,138,76,.11);
  --gold:#d69a1e; --gold-soft:rgba(214,154,30,.15);
  --red:#c1492f; --red-soft:rgba(193,73,47,.12);
  /* warm parchment neutrals */
  --ink:#22301c; --body:#4c574a; --mut:#8d9585;
  --bg:#f8f2e4; --card:#fffdf6; --line:#ebe3d0;
  --serif:"Fredoka","Plus Jakarta Sans",system-ui,sans-serif; /* friendly rounded display */
  --sans:"Plus Jakarta Sans",-apple-system,system-ui,sans-serif;
  --shadow:0 1px 2px rgba(34,48,28,.05),0 10px 30px rgba(34,48,28,.07);
  --shadow-lg:0 20px 50px rgba(34,48,28,.15);
  --r:16px; --r-lg:22px; --r-sm:11px;
}
@media (prefers-color-scheme:dark){:root{
  --green:#43c072; --green-d:#54cf80; --green-soft:rgba(67,192,114,.14);
  --gold:#e7b954; --gold-soft:rgba(231,185,84,.15);
  --red:#e0694f; --red-soft:rgba(224,105,79,.15);
  --ink:#eff4e7; --body:#b0bba9; --mut:#7e877b;
  --bg:#12160e; --card:#1a1f13; --line:#2a3020;
  --shadow:0 1px 2px rgba(0,0,0,.35),0 12px 34px rgba(0,0,0,.5);
  --shadow-lg:0 26px 60px rgba(0,0,0,.6);
}}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:var(--sans);background:var(--bg);color:var(--body);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
a{color:inherit;text-decoration:none;}
::selection{background:var(--green-soft);}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px;}
.wrap-narrow{max-width:680px;margin:0 auto;padding:0 22px;}

/* ---------- logo ---------- */
.brand{display:inline-flex;align-items:center;gap:9px;color:var(--ink);}
.brand .mascot{width:34px;height:34px;border-radius:50%;object-fit:cover;flex-shrink:0;border:1.5px solid var(--line);background:var(--gold-soft);}
.brand .logo{width:32px;height:32px;flex-shrink:0;color:var(--green);}
.brand .wm{font-family:var(--serif);font-weight:600;font-size:20px;letter-spacing:-.2px;color:var(--ink);white-space:nowrap;}
.brand .wm b{font-weight:600;color:var(--green-d);}

/* ---------- nav ---------- */
.ph-nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);}
.ph-nav .inner{max-width:1120px;margin:0 auto;padding:0 22px;display:flex;align-items:center;justify-content:space-between;height:68px;}
.navr{display:flex;gap:4px;align-items:center;}
.navr a.lnk{font-size:14.5px;font-weight:500;color:var(--body);padding:9px 13px;border-radius:9px;transition:color .15s,background .15s;}
.navr a.lnk:hover{color:var(--ink);background:var(--green-soft);}
@media(max-width:700px){.navr a.lnk{display:none;}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--green);color:#fff;font-weight:600;font-size:14.5px;
  padding:12px 22px;border-radius:11px;border:none;cursor:pointer;font-family:var(--sans);letter-spacing:.1px;
  transition:transform .12s cubic-bezier(.2,.8,.2,1),box-shadow .12s,background .15s;box-shadow:0 6px 18px rgba(28,122,67,.24);white-space:nowrap;}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(28,122,67,.32);background:var(--green-d);}
.btn:active{transform:translateY(0);}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none;}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:none;border:1px solid var(--line);}
.btn.ghost:hover{border-color:var(--green);color:var(--green-d);background:transparent;}
.btn.gold{background:var(--gold);box-shadow:0 6px 18px rgba(182,137,60,.25);}
.btn.block{width:100%;}
.btn.sm{padding:8px 15px;font-size:13px;border-radius:9px;}

/* ---------- icons (crafted line set, colored by currentColor) ---------- */
.i{display:inline-block;width:1.15em;height:1.15em;vertical-align:-.18em;background:currentColor;flex-shrink:0;
  -webkit-mask:var(--d) center/contain no-repeat;mask:var(--d) center/contain no-repeat;}
.i-shield{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");}
.i-lock{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='9' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");}
.i-link{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 13a4 4 0 0 0 6 .5l3-3a4 4 0 0 0-6-6l-1.5 1.5'/%3E%3Cpath d='M14 11a4 4 0 0 0-6-.5l-3 3a4 4 0 0 0 6 6l1.5-1.5'/%3E%3C/svg%3E");}
.i-check{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");}
.i-receipt{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6'/%3E%3C/svg%3E");}
.i-arrow{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");}
.i-heart{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-9-8.5C1.5 8 3 5 6 5c2 0 3 1.2 3.7 2.2C10.5 6.2 11.5 5 13.5 5c3 0 4.5 3 3 6.5-2 4.1-8.5 8.5-8.5 8.5z' transform='translate(1 0)'/%3E%3C/svg%3E");}
.i-coins{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='9' r='5'/%3E%3Cpath d='M14.5 5.3a5 5 0 0 1 0 9.4M8 19a5 5 0 0 0 8-4'/%3E%3C/svg%3E");}
.i-code{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 8l-4 4 4 4M16 8l4 4-4 4'/%3E%3C/svg%3E");}
.i-help{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9a2.5 2.5 0 0 1 4.5 1.5c0 1.5-2 2-2 3.5'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");}
.i-external{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 5h5v5M19 5l-8 8'/%3E%3Cpath d='M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4'/%3E%3C/svg%3E");}
.i-copy{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M5 15V5a2 2 0 0 1 2-2h10'/%3E%3C/svg%3E");}
.i-spark{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8z'/%3E%3C/svg%3E");}
.i-flame{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c2 3 5 5 5 9a5 5 0 0 1-10 0c0-1.5.5-2.5 1.5-3.5C9 10 10 11 10 12c0-2 1-4 2-9z'/%3E%3C/svg%3E");}
.i-shuffle{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h3l10 10h3M4 17h3L17 7h3'/%3E%3Cpath d='M18 4l3 3-3 3M18 14l3 3-3 3'/%3E%3C/svg%3E");}
.i-users{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6M16 5a3 3 0 0 1 0 6M21 20c0-2.5-1.5-4.7-3.7-5.6'/%3E%3C/svg%3E");}
.i-x{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M18.9 2H22l-7.6 8.7L23 22h-6.9l-5.4-7-6.2 7H1.4l8.1-9.3L1 2h7.1l4.9 6.4L18.9 2Zm-2.4 18h1.9L7.6 4H5.6l10.9 16Z'/%3E%3C/svg%3E");}
.i-instagram{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Crect x='3' y='3' width='18' height='18' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.1' fill='%23000' stroke='none'/%3E%3C/svg%3E");}
.i-tiktok{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M16.5 3c.3 2.1 1.6 3.6 3.5 3.9v2.6c-1.3.1-2.5-.3-3.6-1v5.7c0 3.2-2.4 5.6-5.5 5.6-2.9 0-5.2-2.2-5.2-5.1 0-3 2.4-5.2 5.6-4.9v2.7c-.4-.1-.8-.2-1.2-.1-1.3.1-2.2 1.1-2.1 2.4.1 1.2 1 2.1 2.2 2.1 1.3 0 2.2-1 2.2-2.5V3h2.6Z'/%3E%3C/svg%3E");}
.i-globe{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.5 2.5 15 0 18M12 3c-2.5 2.5-2.5 15 0 18'/%3E%3C/svg%3E");}
.i-telegram{--d:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'%3E%3Cpath d='M21.9 4.3 18.7 19.5c-.2 1-.9 1.3-1.8.8l-4.8-3.6-2.3 2.2c-.3.3-.5.5-1 .5l.3-4.9L18.2 6c.4-.3-.1-.5-.6-.2L6.6 12.6l-4.7-1.5c-1-.3-1-1 .2-1.5L20.6 3c.9-.3 1.6.2 1.3 1.3Z'/%3E%3C/svg%3E");}
.ic-lg{width:1.5em;height:1.5em;}
/* social link row */
.socials{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.socials a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);background:var(--card);display:grid;place-items:center;color:var(--body);transition:color .15s,border-color .15s,transform .1s;}
.socials a:hover{color:var(--green-d);border-color:var(--green);transform:translateY(-1px);}
.socials a .i{width:18px;height:18px;}

/* ---------- cards & panels ---------- */
.card,.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);}

/* ---------- forms ---------- */
label{display:block;font-size:13px;font-weight:600;color:var(--ink);margin:15px 0 6px;}
input,textarea,select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 13px;font-family:var(--sans);font-size:14.5px;color:var(--ink);outline:none;transition:border-color .15s,box-shadow .15s;}
input:focus,textarea:focus,select:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-soft);}
textarea{min-height:96px;resize:vertical;line-height:1.6;}
.hint{font-size:12.5px;color:var(--mut);margin-top:6px;line-height:1.5;}

/* ---------- badges / pills ---------- */
.pill{display:inline-flex;gap:7px;align-items:center;background:var(--card);border:1px solid var(--line);color:var(--body);font-weight:500;font-size:13px;padding:7px 15px;border-radius:999px;box-shadow:var(--shadow);}
.pill .i{color:var(--green);}
.badge{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:600;padding:4px 10px;border-radius:7px;}
.badge.green{background:var(--green);color:#fff;}
.badge.soft{background:var(--green-soft);color:var(--green-d);}
.badge.gold{background:var(--gold-soft);color:var(--gold);}
.verified{font-size:12.5px;color:var(--green-d);font-weight:500;display:inline-flex;align-items:center;gap:6px;}

/* ---------- progress ---------- */
.bar{height:7px;background:var(--line);border-radius:99px;overflow:hidden;}
.bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--green),var(--green-d));border-radius:99px;transition:width .6s cubic-bezier(.2,.8,.2,1);}

/* ---------- kv rows ---------- */
.kv{font-size:13.5px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--line);}
.kv:first-of-type{border-top:none;}
.kv b{color:var(--ink);font-weight:600;}
.kv a{color:var(--green-d);font-weight:500;}

/* ---------- copyable field ---------- */
.copyfield{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:11px 13px;margin-top:11px;}
.copyfield small{display:block;color:var(--mut);font-weight:600;font-size:10.5px;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase;}
.copyfield .row{display:flex;align-items:center;gap:9px;}
.copyfield code{flex:1;color:var(--ink);font-weight:500;font-size:12.5px;word-break:break-all;font-family:ui-monospace,"SF Mono",Menlo,monospace;}
.copybtn{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 11px;font-size:12px;font-weight:600;color:var(--ink);cursor:pointer;font-family:var(--sans);transition:border-color .15s,color .15s;}
.copybtn:hover{border-color:var(--green);color:var(--green-d);}
.copybtn.done{background:var(--green-soft);border-color:var(--green);color:var(--green-d);}

/* ---------- info boxes ---------- */
.infobox{background:var(--bg);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;font-size:13.5px;margin-top:12px;line-height:1.6;}
.infobox.ok{background:var(--green-soft);border-color:color-mix(in srgb,var(--green) 34%,var(--line));color:var(--ink);}
.infobox.warn{background:var(--gold-soft);border-color:color-mix(in srgb,var(--gold) 40%,var(--line));color:var(--ink);}

/* ---------- messages ---------- */
.msg{font-size:13.5px;margin-top:10px;min-height:18px;font-weight:500;}
.msg.err{color:var(--red);}
.msg.ok{color:var(--green-d);}

/* ---------- steps ---------- */
.steps{counter-reset:s;display:flex;flex-direction:column;gap:13px;margin-top:15px;}
.step{display:flex;gap:13px;align-items:flex-start;font-size:14px;line-height:1.55;}
.step::before{counter-increment:s;content:counter(s);flex-shrink:0;width:27px;height:27px;border-radius:50%;background:var(--green-soft);color:var(--green-d);display:grid;place-items:center;font-weight:700;font-size:13px;}
.step b{color:var(--ink);font-weight:600;}

/* ---------- section headings ---------- */
.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--green-d);margin-bottom:12px;}
.h-sec{font-family:var(--serif);font-weight:500;font-size:clamp(26px,4vw,36px);color:var(--ink);letter-spacing:-.4px;line-height:1.15;}

/* ---------- footer ---------- */
.ph-footer{border-top:1px solid var(--line);margin-top:70px;padding:40px 0;color:var(--mut);font-size:13px;line-height:1.9;}
.ph-footer a{color:var(--body);}
.ph-footer a:hover{color:var(--green-d);}

/* ---------- utilities ---------- */
.mut{color:var(--mut);}
.tc{text-align:center;}
.skel{animation:skel 1.3s ease-in-out infinite;background:linear-gradient(90deg,var(--line),color-mix(in srgb,var(--line) 45%,var(--card)),var(--line));background-size:200% 100%;border-radius:var(--r-sm);}
@keyframes skel{0%{background-position:200% 0}100%{background-position:-200% 0}}
.fadein{animation:fadein .5s cubic-bezier(.2,.8,.2,1);}
@keyframes fadein{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* ---------- Tier 2: reveal on scroll, focus, micro-interactions ---------- */
@media (prefers-reduced-motion:no-preference){
  [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .6s cubic-bezier(.2,.8,.2,1),transform .6s cubic-bezier(.2,.8,.2,1);will-change:opacity,transform;}
  [data-reveal].in{opacity:1;transform:none;}
}
/* keyboard focus rings — visible for tab users, invisible for mouse clicks */
a:focus-visible,button:focus-visible,.btn:focus-visible,.fr:focus-visible,summary:focus-visible,
input:focus-visible,textarea:focus-visible,select:focus-visible,.copybtn:focus-visible{
  outline:2px solid var(--green);outline-offset:2px;border-radius:6px;
}
/* card press feedback */
.fr:active{transform:translateY(-1px) scale(.996);}
.copybtn:active{transform:translateY(1px);}
/* social buttons lift on hover */
.socials a:hover{color:var(--green-d);border-color:var(--green);transform:translateY(-2px);}
.socials a:active{transform:translateY(0);}
