:root{
  --ink:#111418; --ink-2:#171c23; --lime:#9BCB1E; --lime-b:#C7F03D;
  --off:#F2F4F6; --grey:#8b94a3; --card:#171c23; --line:#262d36;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Inter',system-ui,sans-serif;background:var(--ink);color:var(--off);
  -webkit-font-smoothing:antialiased;line-height:1.6;
  background-image:radial-gradient(1100px 600px at 50% -15%, rgba(155,203,30,.16), transparent 60%);
  background-attachment:fixed;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.lime{color:var(--lime-b)}

/* nav */
header.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);
  background:rgba(17,20,24,.82);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px}
.brand{font-family:'Anton',sans-serif;letter-spacing:.5px;font-size:20px;text-transform:uppercase}
.brand b{color:var(--lime-b);font-weight:400}
.nav-links{display:flex;gap:26px;align-items:center;font-size:15px}
.nav-links a{color:var(--grey);transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--off)}
.btn{display:inline-block;background:var(--lime);color:var(--ink);font-weight:700;
  padding:10px 18px;border-radius:10px;transition:background .15s,transform .08s;border:0;cursor:pointer;font-family:inherit;font-size:15px}
.btn:hover{background:var(--lime-b)}
.btn:active{transform:scale(.98)}
.btn.ghost{background:transparent;color:var(--off);border:1px solid var(--line)}
.btn.ghost:hover{border-color:var(--lime)}

/* hero */
.hero{padding:84px 0 56px;text-align:center}
.hero h1{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(38px,7vw,76px);line-height:1.02;letter-spacing:.5px}
.hero p.sub{color:var(--grey);font-size:clamp(16px,2.4vw,20px);max-width:620px;margin:18px auto 0}
.hero .cta-row{display:flex;gap:14px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.eyebrow{display:inline-block;color:var(--lime);font-weight:700;letter-spacing:2px;
  text-transform:uppercase;font-size:13px;margin-bottom:14px}

/* sections */
section{padding:48px 0}
h2.s{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(26px,4vw,40px);letter-spacing:.5px;margin-bottom:8px}
.lead{color:var(--grey);max-width:620px;margin-bottom:30px}

/* cards grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.grid,.grid.two{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;
  transition:border-color .15s,transform .1s}
.card:hover{border-color:var(--lime);transform:translateY(-2px)}
.card .ic{width:44px;height:44px;border-radius:11px;background:#0e1217;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px}
.card h3{font-size:19px;margin-bottom:8px}
.card p{color:var(--grey);font-size:14.5px}
.card .price{color:var(--lime-b);font-weight:700;margin-top:14px;font-size:14px}
.card ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:8px}
.card ul li{color:var(--off);font-size:14px;padding-left:22px;position:relative}
.card ul li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;
  border-radius:50%;background:var(--lime)}

/* email capture */
.capture{background:linear-gradient(160deg,#20271b,#171c23);border:1px solid rgba(155,203,30,.35);
  border-radius:20px;padding:36px;text-align:center;margin-top:10px}
.capture form{display:flex;gap:10px;max-width:440px;margin:18px auto 0}
.capture input[type=email]{flex:1;padding:13px 14px;border-radius:11px;border:1px solid var(--line);
  background:#0e1217;color:var(--off);font-size:15px;font-family:inherit}
.capture input[type=email]:focus{outline:none;border-color:var(--lime)}
.hp{position:absolute;left:-9999px}
@media(max-width:520px){.capture form{flex-direction:column}}
.micro{font-size:12px;color:#5b6470;margin-top:10px}

/* steps */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;counter-reset:s}
@media(max-width:820px){.steps{grid-template-columns:1fr}}
.step{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px}
.step .n{font-family:'Anton',sans-serif;color:var(--lime-b);font-size:34px}
.step h3{font-size:18px;margin:6px 0 6px}
.step p{color:var(--grey);font-size:14.5px}

/* article */
.article{max-width:760px;margin:0 auto;padding:40px 0}
.article .meta{color:var(--grey);font-size:14px;margin-bottom:10px}
.article h1{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(30px,5vw,52px);line-height:1.05;margin-bottom:20px}
.article h2{font-size:24px;margin:34px 0 10px;color:var(--off)}
.article p{color:#cbd2db;margin-bottom:16px;font-size:17px}
.article ul{margin:0 0 16px 22px;color:#cbd2db;font-size:17px}
.article li{margin-bottom:8px}
.article .back{display:inline-block;color:var(--lime);margin-bottom:24px;font-weight:600}

/* blog list */
.post-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:16px;
  padding:26px;margin-bottom:16px;transition:border-color .15s,transform .1s}
.post-card:hover{border-color:var(--lime);transform:translateY(-2px)}
.post-card .tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--ink);background:var(--lime);padding:3px 9px;border-radius:999px;margin-bottom:12px}
.post-card .tag.soon{background:#5b6470}
.post-card h3{font-size:22px;margin-bottom:8px}
.post-card p{color:var(--grey);font-size:15px}
.post-card.soon{opacity:.6}

/* footer */
footer.ft{border-top:1px solid var(--line);margin-top:40px;padding:34px 0;text-align:center}
footer.ft .b{font-family:'Anton',sans-serif;letter-spacing:1px;text-transform:uppercase;color:#3c444f}
footer.ft p{color:#3c444f;font-size:13px;margin-top:6px}
footer.ft .soc{margin-top:14px;display:flex;gap:18px;justify-content:center}
footer.ft .soc a{color:var(--grey);font-size:14px}
footer.ft .soc a:hover{color:var(--lime)}

/* ===== SwissKnife free tools ===== */
.sk-hero{padding:64px 0 28px;text-align:center}
.sk-hero .kbd{display:inline-block;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:3px 10px;font-size:13px;color:var(--grey);margin-bottom:14px}
.sk-cat{font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.5px;font-size:22px;margin:34px 0 14px;color:var(--off)}
.sk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:820px){.sk-grid{grid-template-columns:1fr}}
.sk-tool{display:block;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;transition:border-color .15s,transform .1s;position:relative}
.sk-tool:hover{border-color:var(--lime);transform:translateY(-2px)}
.sk-tool .ic{font-size:24px;margin-bottom:10px}
.sk-tool h3{font-size:16px;margin-bottom:5px}
.sk-tool p{color:var(--grey);font-size:13.5px;line-height:1.5}
.sk-tool .soon{position:absolute;top:14px;right:14px;font-size:10px;letter-spacing:1px;color:var(--grey);border:1px solid var(--line);border-radius:6px;padding:2px 7px;text-transform:uppercase}
.sk-tool.dim{opacity:.6;pointer-events:none}
.sk-badge{display:inline-flex;gap:7px;align-items:center;color:var(--lime);font-size:13px;font-weight:600;margin-top:8px}
/* tool page UI */
.tool{max-width:760px;margin:0 auto}
.tool .panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-top:18px}
.drop{border:2px dashed var(--line);border-radius:14px;padding:40px 20px;text-align:center;color:var(--grey);cursor:pointer;transition:border-color .15s,background .15s}
.drop:hover,.drop.over{border-color:var(--lime);background:rgba(155,203,30,.05)}
.tool textarea,.tool input[type=text],.tool input[type=number]{width:100%;background:#0e1217;border:1px solid var(--line);border-radius:10px;color:var(--off);font-family:inherit;font-size:15px;padding:12px 14px}
.tool textarea{min-height:160px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.tool label{display:block;color:var(--grey);font-size:13px;margin:14px 0 6px}
.tool .row{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.tool .stat{background:#0e1217;border:1px solid var(--line);border-radius:10px;padding:14px;text-align:center;flex:1;min-width:90px}
.tool .stat b{display:block;font-size:26px;color:var(--lime-b);font-family:'Anton',sans-serif;font-weight:400}
.tool .stat span{color:var(--grey);font-size:12px;text-transform:uppercase;letter-spacing:1px}
.tool .out{margin-top:14px}
.tool .err{color:#ff6b6b;font-size:14px;margin-top:8px;min-height:18px}
.privacy{color:var(--grey);font-size:13px;text-align:center;margin-top:18px}
.privacy b{color:var(--lime)}
input[type=range]{accent-color:var(--lime)}

/* ===== Day / Night theme ===== */
.theme-toggle{background:none;border:1px solid var(--line);color:var(--off);width:38px;height:38px;
  border-radius:10px;cursor:pointer;font-size:17px;line-height:1;display:inline-flex;align-items:center;
  justify-content:center;padding:0;transition:border-color .15s}
.theme-toggle:hover{border-color:var(--lime)}
html[data-theme="light"]{
  --ink:#f4f6f9; --ink-2:#eceff3; --off:#16191e; --grey:#586273; --card:#ffffff; --line:#e4e8ee;
  --lime:#6f9c00; --lime-b:#5c8400;
}
html[data-theme="light"] body{background:#f4f6f9;color:var(--off);
  background-image:radial-gradient(1100px 600px at 50% -15%, rgba(155,203,30,.20), transparent 60%)}
html[data-theme="light"] header.nav{background:rgba(255,255,255,.85);border-bottom-color:var(--line)}
html[data-theme="light"] .btn{color:#14181d}
html[data-theme="light"] .btn.ghost{color:var(--off)}
html[data-theme="light"] .post-card .tag{color:#14181d}
html[data-theme="light"] .capture{background:linear-gradient(160deg,#eef4e1,#ffffff);border-color:rgba(111,156,0,.35)}
html[data-theme="light"] .capture input[type=email],
html[data-theme="light"] .tool textarea,
html[data-theme="light"] .tool input[type=text],
html[data-theme="light"] .tool input[type=number],
html[data-theme="light"] .tool .stat,
html[data-theme="light"] .card .ic{background:#eef1f6}
html[data-theme="light"] .tool select{background:#eef1f6 !important;color:var(--off) !important}
html[data-theme="light"] .drop{background:#f7f9fc}
html[data-theme="light"] .article p,html[data-theme="light"] .article ul{color:#3a4250}
html[data-theme="light"] footer.ft .b,html[data-theme="light"] footer.ft p{color:#aab2bd}

/* ===== SwissKnife animated logo ===== */
.sk-logo{display:block;margin:0 auto 10px;width:108px;height:108px;filter:drop-shadow(0 8px 26px rgba(155,203,30,.28))}
.sk-logo .ring{stroke-dasharray:327;stroke-dashoffset:327;animation:sk-ring 1.1s ease forwards}
@keyframes sk-ring{to{stroke-dashoffset:0}}
.sk-logo .spin{transform-box:view-box;transform-origin:60px 60px;animation:sk-spin 18s linear 1.2s infinite}
@keyframes sk-spin{to{transform:rotate(360deg)}}
.sk-logo .blade{transform-box:view-box;transform-origin:56px 72px;animation:sk-blade 1s .25s cubic-bezier(.2,.8,.2,1) both}
@keyframes sk-blade{from{transform:rotate(-104deg)}to{transform:rotate(0)}}
.sk-logo .grp{transform-box:view-box;transform-origin:60px 60px;animation:sk-bob 3.6s 1.3s ease-in-out infinite}
@keyframes sk-bob{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){.sk-logo *{animation:none !important;stroke-dashoffset:0 !important;transform:none !important}}

/* ===== SwissKnife tool cards — upgraded ===== */
.sk-tool{overflow:hidden;padding:22px 20px;background:
  linear-gradient(180deg, rgba(155,203,30,.04), transparent 40%), var(--card)}
.sk-tool::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  opacity:0;transition:opacity .25s;background:radial-gradient(420px circle at var(--mx,50%) -10%, rgba(155,203,30,.16), transparent 60%)}
.sk-tool:hover::after{opacity:1}
.sk-tool:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(0,0,0,.45),0 0 0 1px rgba(155,203,30,.25),0 8px 30px rgba(155,203,30,.12)}
.sk-tool .ic{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;
  font-size:24px;background:#0e1217;border:1px solid var(--line);color:var(--lime-b);
  transition:transform .2s,border-color .2s,box-shadow .2s}
html[data-theme="light"] .sk-tool .ic{background:#eef1f6}
.sk-tool:hover .ic{transform:translateY(-2px) scale(1.05);border-color:rgba(155,203,30,.6);box-shadow:0 0 18px rgba(155,203,30,.3)}
.sk-tool h3{font-size:17px}
.sk-badge{opacity:.85;transition:gap .2s,opacity .2s}
.sk-tool:hover .sk-badge{opacity:1;gap:11px}
.sk-cat{display:flex;align-items:center;gap:8px;border-left:3px solid var(--lime);padding-left:12px}

/* ===== Homepage (index) day/night — its hero uses its own inline tokens ===== */
html[data-theme="light"] .hero p.sub{color:#3a4250}
html[data-theme="light"] section.block{background:rgba(255,255,255,.86) !important;border-top-color:var(--line)}
html[data-theme="light"] .hero::after{background:radial-gradient(900px 620px at 28% 42%, transparent, rgba(244,246,249,.5) 72%, #f4f6f9) !important}
html[data-theme="light"] .card .ic{background:#eef1f6 !important}

/* ===== Top nav — polished ===== */
header.nav{box-shadow:0 1px 0 rgba(155,203,30,.07)}
.nav-links a:not(.btn){padding:7px 13px;border-radius:10px;font-weight:500;transition:color .15s,background .15s}
.nav-links a:not(.btn):hover{background:rgba(155,203,30,.10);color:var(--off)}
.nav-links a.active{color:var(--lime-b);background:rgba(155,203,30,.08)}
.brand{transition:opacity .15s}.brand:hover{opacity:.85}
.btn{box-shadow:0 6px 18px rgba(155,203,30,.18)}

/* ===== Footer — bigger & noticeable ===== */
footer.ft{margin-top:64px;padding:56px 0 48px;border-top:1px solid var(--line);
  background:linear-gradient(180deg,transparent,rgba(155,203,30,.045))}
footer.ft .b{font-family:'Anton',sans-serif;letter-spacing:1px;text-transform:uppercase;font-size:28px;color:var(--off)}
footer.ft p{color:var(--grey);font-size:15px;margin-top:8px}
footer.ft .soc{margin-top:24px;display:flex;gap:12px 14px;justify-content:center;flex-wrap:wrap}
footer.ft .soc a{font-size:15px;font-weight:600;color:var(--off);padding:9px 16px;border:1px solid var(--line);
  border-radius:11px;transition:border-color .15s,color .15s,background .15s,transform .1s}
footer.ft .soc a:hover{border-color:var(--lime);color:var(--lime-b);background:rgba(155,203,30,.07);transform:translateY(-1px)}
html[data-theme="light"] footer.ft .b{color:var(--off)}
html[data-theme="light"] footer.ft{background:linear-gradient(180deg,transparent,rgba(155,203,30,.07))}
