/* PixSquash shared design system — used by all generated landing/guide pages.
   The homepage keeps its own inline styles; keep tokens in sync with it. */
:root{
  --ink:#0A0C12;
  --ink-2:#12151E;
  --canvas:#F7F8FB;
  --surface:#FFFFFF;
  --volt:#2E5BFF;
  --violet:#6E3AFF;
  --pulse:linear-gradient(135deg,#6E3AFF 0%,#2E5BFF 100%);
  --mint:#4EE8A4;
  --mint-dark:#0DA56C;
  --mist:#667085;
  --hairline:rgba(10,12,18,.08);
  --hairline-dark:rgba(255,255,255,.1);
  --glass:rgba(255,255,255,.72);
  --shadow-s:0 1px 2px rgba(10,12,18,.05),0 4px 12px rgba(10,12,18,.05);
  --shadow-m:0 2px 4px rgba(10,12,18,.04),0 12px 32px rgba(10,12,18,.09);
  --shadow-l:0 4px 8px rgba(10,12,18,.04),0 24px 64px rgba(46,91,255,.13);
  --r-s:12px; --r-m:18px; --r-l:26px;
  --ease:cubic-bezier(.22,.8,.24,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Inter',system-ui,sans-serif;background:var(--canvas);color:var(--ink);line-height:1.65;font-size:1.02rem;overflow-x:hidden}
h1,h2,h3{font-family:'Space Grotesk',sans-serif;letter-spacing:-.02em;line-height:1.12}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
::selection{background:#2E5BFF22}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ============ NAV ============ */
nav.site{position:sticky;top:0;z-index:50;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);background:rgba(247,248,251,.75);border-bottom:1px solid var(--hairline)}
.nav-in{display:flex;justify-content:space-between;align-items:center;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.15rem;color:var(--ink);text-decoration:none}
.logo svg{width:30px;height:30px}
.nav-links{display:flex;gap:24px;align-items:center;font-size:.92rem}
.nav-links a{color:var(--mist);text-decoration:none;font-weight:500;transition:color .2s}
.nav-links a:hover{color:var(--ink)}
.nav-cta{background:var(--ink);color:#fff!important;padding:9px 18px;border-radius:999px;font-weight:600;transition:transform .2s var(--ease),box-shadow .2s var(--ease)}
.nav-cta:hover{transform:translateY(-1px);box-shadow:var(--shadow-m)}
@media(max-width:680px){.nav-links a:not(.nav-cta){display:none}}

/* ============ BREADCRUMB ============ */
.crumbs{padding:18px 0 0;font-size:.84rem;color:var(--mist)}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px}
.crumbs li+li::before{content:"›";margin-right:6px;color:var(--mist)}
.crumbs a{color:var(--mist);text-decoration:none}
.crumbs a:hover{color:var(--volt)}
.crumbs [aria-current]{color:var(--ink);font-weight:500}

/* ============ HERO ============ */
.hero{position:relative;padding:52px 0 36px;text-align:center}
.hero-halo{position:absolute;top:-140px;left:50%;transform:translateX(-50%);width:900px;height:520px;background:
  radial-gradient(420px 300px at 38% 40%,rgba(110,58,255,.14),transparent 65%),
  radial-gradient(420px 300px at 62% 55%,rgba(46,91,255,.14),transparent 65%);
  filter:blur(10px);pointer-events:none}
.hero h1{font-size:clamp(2.1rem,5.6vw,3.6rem);font-weight:700;max-width:820px;margin:0 auto;position:relative}
.hero h1 .grad{background:var(--pulse);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .sub{max-width:660px;margin:18px auto 0;color:var(--mist);font-size:clamp(1rem,1.5vw,1.12rem);position:relative}
.trust{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:22px;font-size:.85rem;color:var(--mist);font-weight:500;position:relative}
.trust span{display:flex;align-items:center;gap:7px}
.trust svg{width:15px;height:15px;stroke:var(--mint-dark)}

/* ============ TOOL CARD ============ */
.tool-zone{position:relative;max-width:820px;margin:28px auto 0;padding:0 24px}
.tool-card{position:relative;background:var(--glass);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.9);box-shadow:var(--shadow-l);border-radius:var(--r-l);padding:26px;text-align:left}
.tool-card::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(110,58,255,.35),rgba(46,91,255,.12) 40%,transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.drop{border:1.5px dashed #2E5BFF55;border-radius:var(--r-m);background:linear-gradient(180deg,#FDFDFF,#F4F6FE);padding:48px 24px;text-align:center;cursor:pointer;transition:border-color .25s,background .25s,transform .25s var(--ease)}
.drop:hover,.drop.over{border-color:var(--volt);background:linear-gradient(180deg,#FBFCFF,#EEF3FF);transform:scale(1.006)}
.drop:focus-visible{outline:3px solid var(--volt);outline-offset:3px}
.drop-ic{width:58px;height:58px;margin:0 auto 16px;border-radius:18px;background:var(--pulse);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(46,91,255,.35);transition:transform .3s var(--ease)}
.drop:hover .drop-ic{transform:translateY(-3px) scale(1.05)}
.drop-ic svg{width:26px;height:26px;stroke:#fff}
.drop strong{font-size:1.12rem;font-family:'Space Grotesk',sans-serif}
.drop small{display:block;color:var(--mist);margin-top:7px;font-size:.88rem}
input[type=file]{display:none}
.controls{display:flex;gap:14px 26px;flex-wrap:wrap;align-items:center;padding:18px 6px 4px}
.ctl{display:flex;align-items:center;gap:9px;font-size:.88rem;font-weight:500}
.ctl label{color:var(--mist)}
select{border:1px solid var(--hairline);border-radius:10px;padding:8px 12px;font:inherit;font-size:.88rem;background:#fff;color:var(--ink);box-shadow:var(--shadow-s);cursor:pointer}
input[type=range]{accent-color:var(--volt);width:130px}
#qv{min-width:40px;text-align:right;font-variant-numeric:tabular-nums;color:var(--volt);font-weight:600}
.total{display:none;margin-top:18px;background:var(--ink);color:#fff;border-radius:var(--r-m);padding:18px 22px;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;box-shadow:var(--shadow-m)}
.total.show{display:flex;animation:rise .5s var(--ease)}
@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.total .big{font-family:'Space Grotesk',sans-serif;font-size:1.65rem;font-weight:700;color:var(--mint);font-variant-numeric:tabular-nums}
.total .sub2{color:#98A2B3;font-size:.84rem}
.btn{background:var(--pulse);color:#fff;border:none;border-radius:12px;padding:12px 22px;font:inherit;font-weight:600;font-size:.9rem;cursor:pointer;transition:transform .2s var(--ease),box-shadow .2s var(--ease);text-decoration:none;display:inline-block}
.btn:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(46,91,255,.4)}
.btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.btn.ghost{background:transparent;border:1px solid var(--hairline-dark);color:#E6E9F0}
.btn.ghost:hover{box-shadow:none;background:rgba(255,255,255,.07)}
.results{margin-top:14px;display:grid;gap:10px}
.card{background:#fff;border:1px solid var(--hairline);border-radius:var(--r-m);padding:13px 16px;display:grid;grid-template-columns:52px 1fr 54px auto;gap:14px;align-items:center;box-shadow:var(--shadow-s);animation:rise .45s var(--ease)}
.thumb{width:52px;height:52px;object-fit:cover;border-radius:12px;background:var(--canvas)}
.meta{min-width:0}
.fname{font-weight:600;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sizes{font-size:.79rem;color:var(--mist);font-variant-numeric:tabular-nums;margin-top:2px}
.sizes .save{color:var(--mint-dark);font-weight:600}
.sizes .hit{color:var(--mint-dark);font-weight:600}
.sizes .miss{color:#B42318;font-weight:600}
.ring{width:52px;height:52px;position:relative}
.ring svg{transform:rotate(-90deg)}
.ring .bg{stroke:#EDF0F6}
.ring .fg{stroke:url(#ringGrad);stroke-linecap:round;transition:stroke-dashoffset 1s var(--ease)}
.ring .pct{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--mint-dark);font-variant-numeric:tabular-nums}
.dl{font-size:.85rem;font-weight:600;color:var(--volt);text-decoration:none;white-space:nowrap;padding:8px 14px;border-radius:10px;border:1px solid #2E5BFF33;transition:background .2s,transform .2s var(--ease)}
.dl:hover{background:#2E5BFF10;transform:translateY(-1px)}
.spin{width:22px;height:22px;border:3px solid #EDF0F6;border-top-color:var(--volt);border-radius:50%;animation:sp .7s linear infinite;margin:0 auto}
@keyframes sp{to{transform:rotate(360deg)}}
@media(max-width:600px){.card{grid-template-columns:44px 1fr 44px}.dl{grid-column:1/-1;justify-self:end}.thumb,.ring{width:44px;height:44px}}

/* ============ ARTICLE / CONTENT ============ */
.content{max-width:820px;margin:0 auto;padding:64px 24px 0}
.content h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin:44px 0 14px}
.content h2:first-child{margin-top:0}
.content h3{font-size:1.15rem;margin:28px 0 10px}
.content p{color:#3D4454;margin-bottom:14px}
.content ul,.content ol{margin:0 0 14px 22px;color:#3D4454}
.content li{margin-bottom:6px}
.content a{color:var(--volt);text-decoration:none;font-weight:500}
.content a:hover{text-decoration:underline}
.content strong{color:var(--ink)}
.tbl{margin:20px 0 24px;border:1px solid var(--hairline);border-radius:var(--r-m);overflow-x:auto;box-shadow:var(--shadow-s);background:#fff}
.tbl table{width:100%;border-collapse:collapse;font-size:.92rem;min-width:480px}
.tbl th,.tbl td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--hairline);vertical-align:top}
.tbl tr:last-child td{border-bottom:none}
.tbl thead th{font-family:'Space Grotesk',sans-serif;font-size:.9rem;background:var(--canvas);white-space:nowrap}
.tbl td:first-child{font-weight:500}
.note{background:#2E5BFF0D;border:1px solid #2E5BFF26;border-radius:var(--r-m);padding:16px 20px;margin:20px 0;font-size:.94rem;color:#3D4454}
.note strong{color:var(--volt)}

/* ============ STEPS ============ */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0;margin-top:36px}
.stp{padding:0 28px 0 0;position:relative}
.stp+.stp{padding-left:28px;border-left:1px solid var(--hairline)}
.stp .num{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:.85rem;color:#fff;background:var(--pulse);width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 6px 16px rgba(46,91,255,.35)}
.stp h3{font-size:1.08rem;margin-bottom:8px}
.stp p{color:var(--mist);font-size:.92rem}
@media(max-width:820px){.stp+.stp{border-left:none;border-top:1px solid var(--hairline);padding:24px 0 0;margin-top:24px}}

/* ============ FAQ ============ */
.faq{max-width:820px;margin:28px auto 0}
details{background:#fff;border:1px solid var(--hairline);border-radius:var(--r-m);margin-bottom:12px;box-shadow:var(--shadow-s);overflow:hidden;transition:box-shadow .3s var(--ease)}
details:hover{box-shadow:var(--shadow-m)}
summary{font-weight:600;cursor:pointer;font-size:.98rem;padding:18px 24px;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:'Space Grotesk',sans-serif;font-size:1.4rem;color:var(--volt);transition:transform .3s var(--ease);line-height:1}
details[open] summary::after{transform:rotate(45deg)}
details .ans{padding:0 24px 18px;color:var(--mist);font-size:.93rem}
details .ans a{color:var(--volt);text-decoration:none;font-weight:500}

/* ============ RELATED TOOLS ============ */
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:32px}
.rel{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r-m);padding:22px;box-shadow:var(--shadow-s);text-decoration:none;color:inherit;display:block;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.rel:hover{transform:translateY(-4px);box-shadow:var(--shadow-m)}
.rel h3{font-size:1rem;margin-bottom:6px;color:var(--volt)}
.rel p{color:var(--mist);font-size:.87rem}

/* ============ SECTIONS ============ */
section.band{padding:72px 0 0}
.sec-eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--volt);margin-bottom:12px}
section.band h2{font-size:clamp(1.6rem,3.4vw,2.3rem);font-weight:700}
.sec-sub{color:var(--mist);max-width:600px;margin-top:12px;font-size:1.02rem}

/* ============ FOOTER ============ */
footer{background:var(--ink);color:#98A2B3;padding:64px 0 48px;font-size:.88rem;margin-top:96px}
.foot-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:32px;border-bottom:1px solid var(--hairline-dark);padding-bottom:36px;margin-bottom:28px}
@media(max-width:900px){.foot-cols{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.foot-cols{grid-template-columns:1fr}}
.foot-brand{font-family:'Space Grotesk',sans-serif;font-weight:700;font-size:1.2rem;color:#fff;display:flex;align-items:center;gap:10px}
.foot-brand svg{width:28px;height:28px}
.foot-cols h4{color:#fff;font-size:.85rem;font-weight:600;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase}
.foot-cols ul{list-style:none}
.foot-cols li{margin-bottom:9px}
.foot-cols a{color:#98A2B3;text-decoration:none}
.foot-cols a:hover{color:#fff}
