/*
Theme Name: Reduce Image Size Free
Theme URI: https://reduceimagesizefree.com/
Author: Ali Syed
Description: A lightweight WordPress theme for the Reduce Image Size Free browser-native image compression tool.
Version: 1.7.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: reduceimagesizefree
*/
:root {
  /* Apple's exact palette */
  --white:    #FFFFFF;
  --surface:  #F5F5F7;
  --surface2: #E8E8ED;
  --rule:     #D2D2D7;
  --ink:      #1D1D1F;
  --ink2:     #4B4B50;
  --ink3:     #66666D;
  /* Violet */
  --v:        #6D28D9;
  --v2:       #9333EA;
  --v-light:  rgba(109,40,217,.07);
  --v-border: rgba(109,40,217,.2);
  --v-grad:   linear-gradient(135deg, #6D28D9 0%, #9333EA 100%);
  /* Status */
  --green:    #34C759;
  --red:      #FF3B30;
  --amber:    #FF9500;
  --green-bg: rgba(52,199,89,.09);
  --red-bg:   rgba(255,59,48,.08);
  --amber-bg: rgba(255,149,0,.09);

  --H: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
  --M: 'JetBrains Mono', monospace;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body { font-family: var(--H); background: var(--white); color: var(--ink); overflow-x: hidden; }
a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; }

/* ── NAV ── */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255,255,255,.85);
  backdrop-filter: saturate(180%) blur(20px);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  border-bottom: .5px solid var(--rule);
  display: flex; align-items: center;
  padding: 0 48px; height: 52px;
  justify-content: space-between;
}
.nav-logo {
  font-size: 17px; font-weight: 600;
  letter-spacing: -.4px; color: var(--ink);
}
.nav-logo em { color: var(--v); font-style: normal; }
.nav-links {
  position: absolute; left: 50%; transform: translateX(-50%);
  display: flex; align-items: center; gap: 36px;
}
.nav-links a {
  font-size: 13px; font-weight: 400; color: var(--ink2);
  transition: color .15s;
}
.nav-links a:hover { color: var(--ink); }
.nav-cta {
  font-size: 13px; font-weight: 500; color: var(--white);
  background: var(--v); padding: 7px 16px;
  border-radius: 20px; transition: all .15s;
  letter-spacing: -.1px;
}
.nav-cta:hover { background: #5b21b6; }

/* ── HERO ── */
.hero {
  padding: 100px 64px 0;
  text-align: center;
  position: relative; overflow: hidden;
}
/* Very soft violet glow behind hero */
.hero::before {
  content: '';
  position: absolute; top: -60%; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 800px; border-radius: 50%;
  background: radial-gradient(circle, rgba(109,40,217,.08) 0%, transparent 65%);
  pointer-events: none;
}
.hero-kicker {
  font-family: var(--M); font-size: 12px; font-weight: 400;
  color: var(--v); letter-spacing: .3px;
  margin-bottom: 24px;
  display: inline-flex; align-items: center; gap: 8px;
}
.hero-kicker-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--v); animation: kpulse 2s ease-in-out infinite;
}
@keyframes kpulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.3;transform:scale(.6)} }

.hero-h {
  font-size: clamp(56px, 8vw, 108px);
  font-weight: 700; letter-spacing: -3.5px;
  line-height: .96; color: var(--ink);
  margin-bottom: 28px;
  max-width: 900px; margin-left: auto; margin-right: auto;
}
.hero-h .grad {
  background: var(--v-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.hero-sub {
  font-size: 19px; font-weight: 400; line-height: 1.65;
  color: var(--ink2); max-width: 520px;
  margin: 0 auto 40px;
}
.hero-sub strong { font-weight: 500; color: var(--ink); }

.hero-actions {
  display: flex; align-items: center; justify-content: center;
  gap: 16px; margin-bottom: 72px;
}
.btn-primary {
  font-size: 16px; font-weight: 600;
  color: var(--white); background: var(--v);
  padding: 15px 32px; border-radius: 30px; border: none;
  cursor: pointer; transition: all .2s;
  letter-spacing: -.2px; display: inline-flex; align-items: center; gap: 8px;
  text-decoration: none;
  box-shadow: 0 4px 24px rgba(109,40,217,.35);
}
.btn-primary:hover {
  background: #5b21b6;
  transform: translateY(-1px);
  box-shadow: 0 8px 32px rgba(109,40,217,.45);
}
.btn-secondary {
  font-size: 16px; font-weight: 500; color: var(--v);
  display: inline-flex; align-items: center; gap: 6px;
  transition: gap .15s;
}
.btn-secondary:hover { gap: 10px; }

/* Hero drop — the tool card */
.hero-tool {
  max-width: 1040px; margin: 0 auto;
  background: var(--white);
  border-radius: 24px 24px 0 0;
  box-shadow:
    0 0 0 .5px var(--rule),
    0 24px 64px rgba(0,0,0,.08),
    0 8px 24px rgba(0,0,0,.04);
  overflow: hidden;
}
.tool-topbar {
  background: var(--surface);
  border-bottom: .5px solid var(--rule);
  padding: 12px 20px;
  display: flex; align-items: center; gap: 12px;
}
.tb-dots { display: flex; gap: 6px; }
.tb-dot {
  width: 12px; height: 12px; border-radius: 50%;
}
.tb-dot:nth-child(1) { background: #FF5F57; }
.tb-dot:nth-child(2) { background: #FEBC2E; }
.tb-dot:nth-child(3) { background: #28C840; }
.tb-title {
  flex: 1; text-align: center;
  font-size: 12px; font-weight: 500; color: var(--ink2);
  font-family: var(--M); letter-spacing: .2px;
}
.tool-body { padding: 32px 32px 0; }

/* Drop zone */
.dz {
  border: 1.5px dashed var(--rule); border-radius: 16px;
  padding: 56px 40px; text-align: center;
  cursor: pointer; transition: all .18s;
  background: var(--white); margin-bottom: 24px;
}
.dz:hover, .dz.over {
  border-color: var(--v);
  background: var(--v-light);
}
.dz-icon { font-size: 48px; display: block; margin-bottom: 16px; }
.dz-h {
  font-size: 17px; font-weight: 600;
  color: var(--ink); letter-spacing: -.3px; margin-bottom: 6px;
}
.dz-p { font-size: 14px; color: var(--ink2); font-weight: 400; }
.dz-pills {
  display: flex; gap: 6px; justify-content: center;
  margin-top: 14px; flex-wrap: wrap;
}
.dz-pill {
  font-family: var(--M); font-size: 10px; color: var(--ink3);
  padding: 3px 8px; border: .5px solid var(--rule);
  border-radius: 4px; background: var(--surface);
}
#fileInput { display: none; }

/* File list */
.flist { max-height: 300px; overflow-y: auto; margin-bottom: 0; }
.fcard {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 4px; border-bottom: .5px solid var(--surface2);
  transition: background .12s;
}
.fcard:last-child { border-bottom: none; }
.fcard:hover { background: var(--surface); border-radius: 10px; padding: 10px 8px; }
.fthumb {
  width: 44px; height: 44px; border-radius: 8px;
  object-fit: cover; background: var(--surface);
  flex-shrink: 0; border: .5px solid var(--rule);
}
.finfo { flex: 1; min-width: 0; }
.fname {
  font-size: 13px; font-weight: 500; color: var(--ink);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  letter-spacing: -.1px;
}
.fmeta { font-family: var(--M); font-size: 10px; color: var(--ink2); margin-top: 2px; }
.fend { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.fbadge {
  font-family: var(--M); font-size: 10px; font-weight: 500;
  padding: 3px 8px; border-radius: 20px; white-space: nowrap;
}
.fb-p { background: var(--surface); color: var(--ink2); }
.fb-r { background: rgba(109,40,217,.1); color: var(--v); }
.fb-d { background: var(--green-bg); color: #1a8a36; }
.fb-e { background: var(--red-bg); color: #cc2f26; }
.fdl {
  color: var(--v); font-size: 18px; text-decoration: none;
  transition: color .12s; line-height: 1;
}
.fdl:hover { color: var(--v2); }
.frm {
  background: none; border: none; color: var(--ink3);
  cursor: pointer; font-size: 15px; padding: 2px 4px;
  transition: color .12s;
}
.frm:hover { color: var(--red); }
.fbar { height: 2px; background: var(--surface2); }
.fbar-fill { height: 100%; background: var(--v); width: 0%; transition: width .3s; border-radius: 1px; }

/* Advisor */
.fadv {
  margin: 4px 4px 8px;
  padding: 8px 12px; border-radius: 8px;
  font-family: var(--M); font-size: 10px; line-height: 1.65;
  display: flex; gap: 8px; align-items: flex-start;
}
.fa-g { background: var(--green-bg); color: #1a8a36; border: .5px solid rgba(52,199,89,.3); }
.fa-a { background: var(--amber-bg); color: #b86a00; border: .5px solid rgba(255,149,0,.3); }
.fa-b { background: var(--v-light); color: var(--v); border: .5px solid var(--v-border); }

/* Compare */
.fcmp { display: grid; grid-template-columns: 1fr 1fr; border-top: .5px solid var(--surface2); }
.cmpp { padding: 12px 16px; }
.cmpp:first-child { border-right: .5px solid var(--surface2); }
.cmpl { font-family: var(--M); font-size: 9px; color: var(--ink3); margin-bottom: 6px; letter-spacing: .3px; }
.cmpi { width: 100%; height: 100px; object-fit: contain; border-radius: 8px; background: var(--surface); border: .5px solid var(--rule); }
.cmpz { font-family: var(--M); font-size: 10px; margin-top: 5px; color: var(--ink2); }

/* Progress */
.prog-wrap { display: none; padding: 12px 4px 0; }
.prog-wrap.show { display: block; }
.prog-head { display: flex; justify-content: space-between; margin-bottom: 8px; }
.prog-lbl { font-size: 12px; font-weight: 500; color: var(--ink); font-family: var(--M); }
.prog-pct { font-size: 12px; color: var(--v); font-family: var(--M); }
.prog-track { height: 3px; background: var(--surface2); border-radius: 2px; overflow: hidden; }
.prog-fill { height: 100%; background: var(--v); width: 0%; transition: width .35s ease; }

/* Bottom settings bar */
.tool-footer {
  border-top: 1px solid var(--rule);
  padding: 20px 28px 24px;
  background: var(--white);
}
.settings-grid {
  display: grid; grid-template-columns: auto 1fr auto auto;
  gap: 24px; align-items: center; margin-bottom: 16px;
}
.sg-group { }
.sg-lbl {
  font-family: var(--M); font-size: 9px; color: var(--ink3);
  letter-spacing: .5px; margin-bottom: 7px; display: block;
}
/* Format pills */
.fmt-tabs { display: flex; gap: 2px; background: var(--surface); padding: 3px; border-radius: 8px; border: 1px solid var(--rule); }
.fmt-tab {
  font-family: var(--H); font-size: 12px; font-weight: 500;
  padding: 6px 14px; border-radius: 6px; border: none;
  background: transparent; color: var(--ink2);
  cursor: pointer; transition: all .15s;
}
.fmt-tab:hover { color: var(--ink); }
.fmt-tab.active {
  background: var(--white); color: var(--ink);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0,0,0,.08), 0 0 0 .5px var(--rule);
}
/* Quality slider */
.qual-row { display: flex; align-items: center; gap: 10px; }
input[type=range] {
  width: 140px; height: 3px; -webkit-appearance: none;
  background: var(--surface2); border-radius: 2px; outline: none;
}
input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none; width: 16px; height: 16px;
  background: var(--v); border-radius: 50%; cursor: pointer;
  box-shadow: 0 0 0 3px rgba(109,40,217,.15);
  transition: box-shadow .15s;
}
input[type=range]::-webkit-slider-thumb:hover {
  box-shadow: 0 0 0 5px rgba(109,40,217,.2);
}
.qval { font-family: var(--M); font-size: 12px; color: var(--v); min-width: 32px; }
/* Resize */
.resize-row { display: flex; align-items: center; gap: 6px; }
.ri {
  width: 72px; padding: 6px 8px;
  background: var(--white); border: .5px solid var(--rule);
  border-radius: 6px; font-family: var(--M); font-size: 11px;
  color: var(--ink); outline: none; transition: border-color .15s;
}
.ri:focus { border-color: var(--v); }
.rx { font-family: var(--M); font-size: 11px; color: var(--ink3); }
/* Toggles */
.togs-row { display: flex; gap: 20px; }
.tog-item { display: flex; align-items: center; gap: 8px; cursor: pointer; }
.tog-lbl { font-size: 13px; font-weight: 400; color: var(--ink2); }
.tog {
  width: 36px; height: 20px; border-radius: 10px;
  background: var(--surface2); position: relative;
  transition: background .2s; border: none; cursor: pointer; flex-shrink: 0;
  border: 1px solid var(--rule);
}
.tog.on { background: #5b21b6; border-color: #5b21b6; }
.tog::after {
  content: ''; position: absolute;
  width: 14px; height: 14px; border-radius: 50%;
  background: var(--white); top: 2px; left: 2px;
  transition: left .18s; box-shadow: 0 1px 4px rgba(0,0,0,.25);
}
.tog.on::after { left: 18px; }
/* Compress button */
.btn-compress {
  width: 100%; padding: 13px;
  background: #4c1d95; border: none;
  border-radius: 10px; color: var(--white);
  font-family: var(--H); font-size: 15px; font-weight: 600;
  cursor: pointer; transition: all .15s; letter-spacing: -.2px;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  box-shadow: 0 2px 8px rgba(76,29,149,.25);
}
.btn-compress:hover {
  background: #3b1577;
  box-shadow: 0 4px 16px rgba(76,29,149,.35);
}
.btn-compress:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }

/* Batch actions */
.batch-acts { display: none; gap: 10px; padding: 0 28px 20px; background: var(--white); border-top: none; }
.batch-acts.show { display: flex; }
.btn-zip {
  flex: 1; padding: 12px; background: var(--v); border: none;
  border-radius: 10px; color: var(--white); font-family: var(--H);
  font-size: 14px; font-weight: 600; cursor: pointer;
  transition: background .15s; letter-spacing: -.2px;
}
.btn-zip:hover { background: #5b21b6; }
.btn-zip:disabled { opacity: .4; cursor: not-allowed; }
.btn-clr {
  padding: 12px 18px; background: transparent;
  border: .5px solid var(--rule); border-radius: 10px;
  color: var(--ink2); font-family: var(--H); font-size: 14px;
  cursor: pointer; transition: all .15s;
}
.btn-clr:hover { border-color: var(--red); color: var(--red); }

/* ── BELOW FOLD ── */
.section { padding: 120px 64px; max-width: 1280px; margin: 0 auto; }
.section.narrow { max-width: 920px; }
.section.wide { max-width: 1380px; }
.section.full { max-width: none; }

.sec-tag {
  font-family: var(--M); font-size: 12px; color: var(--v);
  letter-spacing: .3px; margin-bottom: 16px;
  display: flex; align-items: center; gap: 10px;
}
.sec-tag::before { content: ''; width: 20px; height: 1.5px; background: var(--v); border-radius: 1px; }
.sec-h {
  font-size: clamp(36px, 4.5vw, 60px); font-weight: 700;
  letter-spacing: -2.5px; line-height: 1.04; color: var(--ink);
  margin-bottom: 16px;
}
.sec-h .grad {
  background: var(--v-grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.sec-sub {
  font-size: 19px; font-weight: 400; line-height: 1.72;
  color: var(--ink2); max-width: 640px;
}
.sec-sub strong { font-weight: 500; color: var(--ink); }

/* DIVIDER */
.divider { border: none; border-top: .5px solid var(--rule); margin: 0; }

/* STATS */
.stats-band {
  border-top: .5px solid var(--rule); border-bottom: .5px solid var(--rule);
  display: grid; grid-template-columns: repeat(3, 1fr);
}
.sb {
  padding: 64px 64px; border-right: .5px solid var(--rule);
  text-align: center;
}
.sb:last-child { border-right: none; }
.sb-n {
  font-size: 64px; font-weight: 700; letter-spacing: -3px;
  line-height: 1; margin-bottom: 8px;
  background: var(--v-grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
}
.sb-l { font-size: 15px; font-weight: 400; color: var(--ink2); }

/* PROBLEM TABLE */
.prob-wrap { margin-top: 64px; border-radius: 16px; overflow: hidden; border: .5px solid var(--rule); box-shadow: 0 2px 20px rgba(0,0,0,.06); }
.prob-head {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr;
  background: var(--surface); border-bottom: .5px solid var(--rule);
  padding: 14px 24px;
}
.ph { font-size: 12px; font-weight: 500; color: var(--ink2); }
.ph.hl { color: var(--v); }
.prob-row {
  display: grid; grid-template-columns: 1.5fr 1fr 1fr;
  padding: 16px 24px; border-bottom: .5px solid var(--rule);
  align-items: center; transition: background .12s;
}
.prob-row:last-child { border-bottom: none; }
.prob-row:hover { background: var(--surface); }
.pr-feat { font-size: 14px; font-weight: 500; color: var(--ink); }
.pr-bad { font-family: var(--M); font-size: 12px; color: var(--red); }
.pr-good { font-family: var(--M); font-size: 12px; color: #1a8a36; font-weight: 500; }
.pr-warn { font-family: var(--M); font-size: 12px; color: var(--amber); }

/* FEATURES */
.feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 64px; }
.feat-card {
  background: var(--white); border-radius: 20px;
  padding: 32px 28px;
  border: .5px solid var(--rule);
  box-shadow: 0 2px 16px rgba(0,0,0,.05);
  transition: all .2s;
}
.feat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0,0,0,.1);
}
.feat-badge {
  display: inline-block; font-family: var(--M); font-size: 10px;
  color: var(--v); background: var(--v-light);
  border: .5px solid var(--v-border);
  padding: 3px 10px; border-radius: 20px;
  margin-bottom: 16px; letter-spacing: .2px;
  max-width: fit-content; white-space: nowrap;
}
.feat-icon {
  width: 48px; height: 48px; border-radius: 14px;
  background: var(--v-light); display: flex;
  align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: 16px;
}
.feat-h { font-size: 17px; font-weight: 600; letter-spacing: -.4px; color: var(--ink); margin-bottom: 10px; }
.feat-p { font-size: 15px; font-weight: 400; line-height: 1.75; color: var(--ink2); }

/* PRIVACY */
.priv-centered { text-align: center; padding: 120px 48px; border-top: .5px solid var(--rule); border-bottom: .5px solid var(--rule); background: var(--surface); }
.priv-big {
  font-size: clamp(100px, 16vw, 200px); font-weight: 700;
  letter-spacing: -8px; line-height: 1;
  background: var(--v-grad); -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; background-clip: text;
  margin-bottom: 8px;
}
.priv-lbl { font-family: var(--M); font-size: 12px; color: var(--ink2); margin-bottom: 64px; letter-spacing: .3px; }
.priv-h { font-size: clamp(32px, 4vw, 56px); font-weight: 700; letter-spacing: -2.5px; line-height: 1.06; color: var(--ink); margin-bottom: 16px; }
.priv-sub { font-size: 18px; font-weight: 400; line-height: 1.7; color: var(--ink2); max-width: 560px; margin: 0 auto 48px; }
.priv-checks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; max-width: 900px; margin: 0 auto; }
.pcheck {
  background: var(--white); border-radius: 16px;
  padding: 24px 20px; border: .5px solid var(--rule);
  box-shadow: 0 2px 12px rgba(0,0,0,.04);
  text-align: left;
}
.pcheck-ic {
  width: 36px; height: 36px; border-radius: 10px;
  background: var(--v-light); display: flex; align-items: center;
  justify-content: center; font-size: 16px; margin-bottom: 14px;
}
.pcheck strong { font-size: 13px; font-weight: 600; color: var(--ink); display: block; margin-bottom: 4px; }
.pcheck span { font-size: 12px; font-weight: 400; color: var(--ink2); line-height: 1.5; }

/* COMPARE */
.ct { border-radius: 16px; overflow: hidden; border: .5px solid var(--rule); box-shadow: 0 2px 20px rgba(0,0,0,.06); margin-top: 56px; }
.ct-head { display: grid; grid-template-columns: 1.8fr repeat(4,1fr); background: var(--surface); border-bottom: .5px solid var(--rule); }
.ct-th { padding: 13px 18px; font-size: 12px; font-weight: 500; color: var(--ink2); text-align: center; font-family: var(--M); letter-spacing: .2px; }
.ct-th:first-child { text-align: left; }
.ct-th.hl { color: var(--v); background: var(--v-light); }
.ct-row { display: grid; grid-template-columns: 1.8fr repeat(4,1fr); border-bottom: .5px solid var(--rule); transition: background .1s; }
.ct-row:last-child { border-bottom: none; }
.ct-row:hover { background: var(--surface); }
.ct-td { padding: 13px 18px; font-size: 13px; color: var(--ink2); display: flex; align-items: center; justify-content: center; }
.ct-td:first-child { justify-content: flex-start; font-weight: 500; color: var(--ink); }
.ct-td.hl { background: rgba(109,40,217,.03); }
.chip { font-family: var(--M); font-size: 11px; padding: 3px 9px; border-radius: 20px; font-weight: 500; }
.cy { background: var(--green-bg); color: #1a8a36; border: .5px solid rgba(52,199,89,.3); }
.cn { background: var(--red-bg); color: #cc2f26; border: .5px solid rgba(255,59,48,.25); }
.cp { background: var(--amber-bg); color: #b86a00; border: .5px solid rgba(255,149,0,.3); }

/* FAQ */
.faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 64px; margin-top: 56px; }
.faq-item { padding: 22px 0; border-bottom: .5px solid var(--rule); cursor: pointer; }
.faq-item:first-child, .faq-item:nth-child(2) { border-top: .5px solid var(--rule); }
.faq-q { display: flex; justify-content: space-between; gap: 16px; font-size: 15px; font-weight: 500; color: var(--ink); transition: color .15s; letter-spacing: -.2px; }
.faq-q.open { color: var(--v); }
.faq-tog { width: 22px; height: 22px; border-radius: 50%; border: .5px solid var(--rule); display: flex; align-items: center; justify-content: center; font-size: 14px; color: var(--ink2); flex-shrink: 0; transition: all .18s; }
.faq-q.open .faq-tog { background: var(--v); border-color: var(--v); color: var(--white); transform: rotate(45deg); }
.faq-a { font-size: 15px; font-weight: 400; line-height: 1.8; color: var(--ink2); margin-top: 14px; display: none; }
.faq-a.open { display: block; }

/* CTA */
.cta { padding: 120px 48px; text-align: center; border-top: .5px solid var(--rule); }
.cta-h { font-size: clamp(44px, 6vw, 80px); font-weight: 700; letter-spacing: -3px; line-height: 1.0; color: var(--ink); margin-bottom: 20px; }
.cta-h .grad { background: var(--v-grad); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
.cta-sub { font-size: 18px; font-weight: 400; color: var(--ink2); max-width: 480px; margin: 0 auto 40px; line-height: 1.65; }

/* FOOTER */
footer {
  border-top: .5px solid var(--rule);
  padding: 24px 48px;
  display: flex; align-items: center; justify-content: space-between;
  background: var(--surface);
}
.foot-logo { font-size: 15px; font-weight: 600; color: var(--ink2); }
.foot-logo em { color: var(--v); font-style: normal; }
.foot-links { display: flex; gap: 28px; }
.foot-links a { font-family: var(--M); font-size: 11px; color: var(--ink3); transition: color .15s; letter-spacing: .2px; }
.foot-links a:hover { color: var(--ink); }

/* Toast */
.toasts { position: fixed; bottom: 24px; right: 24px; z-index: 9999; display: flex; flex-direction: column; gap: 8px; }
.toast {
  background: var(--ink); border-radius: 12px;
  padding: 12px 18px; font-size: 13px; font-weight: 500;
  color: rgba(255,255,255,.9);
  box-shadow: 0 8px 32px rgba(0,0,0,.2);
  animation: tIn .25s ease; max-width: 280px;
  display: flex; align-items: center; gap: 8px;
}
.toast.ts { border-left: 3px solid var(--green); }
.toast.te { border-left: 3px solid var(--red); }
.toast.ti { border-left: 3px solid var(--v); }
@keyframes tIn { from{transform:translateX(300px);opacity:0} to{transform:translateX(0);opacity:1} }

:focus-visible { outline: 2px solid var(--v); outline-offset: 3px; border-radius: 6px; }

@media(max-width:960px){
  .nav-links { display: none; }
  .nav { padding: 0 24px; }
  .hero { padding: 80px 24px 0; }
  .section { padding: 80px 32px; }
  .section.full { padding: 80px 24px; }
  .stats-band { grid-template-columns: 1fr 1fr; }
  .sb:nth-child(3) { grid-column: span 2; border-right: none; border-top: .5px solid var(--rule); }
  .prob-head,.prob-row { grid-template-columns: 1fr 1fr; }
  .ph:last-child,.pr-bad { display: none; }
  .feat-grid { grid-template-columns: 1fr 1fr; }
  .priv-checks { grid-template-columns: 1fr 1fr; }
  .ct-head,.ct-row { grid-template-columns: 1.8fr 1fr 1fr; }
  .ct-th:last-child,.ct-td:last-child,.ct-th:nth-child(4),.ct-td:nth-child(4) { display: none; }
  .faq-grid { grid-template-columns: 1fr; }
  .settings-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .cta { padding: 80px 24px; }
  footer { padding: 20px 24px; flex-direction: column; gap: 16px; }
}
@media(max-width:640px){
  .hero-h { letter-spacing: -2px; }
  .feat-grid { grid-template-columns: 1fr; }
  .priv-checks { grid-template-columns: 1fr; }
  .stats-band { grid-template-columns: 1fr; }
  .sb { border-right: none; border-top: .5px solid var(--rule); }
  .sb:first-child { border-top: none; }
  .tool-body { padding: 20px 16px 0; }
  .tool-footer { padding: 16px; }
  .batch-acts { padding: 0 16px 16px; }
  .settings-grid { grid-template-columns: 1fr; }
  .priv-centered { padding: 80px 24px; }
}

/* WordPress compatibility */
body.admin-bar .nav { top: 32px; }
@media (max-width: 782px) { body.admin-bar .nav { top: 46px; } }

/* ── JOURNAL / SEO CONTENT ── */
.risf-site-nav .nav-logo { position: relative; z-index: 2; }
.journal-shell,
.article-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.journal-hero { padding: 108px 0 64px; max-width: 860px; }
.journal-kicker,
.article-topic,
.journal-card-topic {
  font-family: var(--M); font-size: 11px; letter-spacing: .35px; color: var(--v);
}
.journal-hero h1 {
  font-size: clamp(52px, 7vw, 88px); line-height: .98; letter-spacing: -4px;
  margin: 14px 0 22px; color: var(--ink);
}
.journal-hero > p { font-size: 19px; line-height: 1.7; color: var(--ink2); max-width: 700px; }
.journal-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.journal-topic {
  font-size: 12px; color: var(--ink2); border: .5px solid var(--rule); border-radius: 20px;
  padding: 7px 12px; background: var(--white); transition: all .15s;
}
.journal-topic:hover,
.journal-topic.active { color: var(--v); border-color: var(--v-border); background: var(--v-light); }
.journal-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 24px; padding: 0 0 96px; }
.journal-card {
  border: .5px solid var(--rule); border-radius: 20px; overflow: hidden; background: var(--white);
  box-shadow: 0 2px 16px rgba(0,0,0,.045); transition: transform .2s, box-shadow .2s;
}
.journal-card:hover { transform: translateY(-3px); box-shadow: 0 12px 36px rgba(0,0,0,.09); }
.journal-card-media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--surface); }
.journal-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.journal-card:hover .journal-card-media img { transform: scale(1.02); }
.journal-card-placeholder,
.home-journal-media > span {
  height: 100%; display: grid; place-items: center; font-family: var(--M); color: var(--v);
  font-size: 18px; background: linear-gradient(135deg, var(--v-light), var(--surface));
}
.journal-card-body { padding: 24px; }
.journal-card-topic { display: inline-block; margin-bottom: 11px; }
.journal-card h2 { font-size: 22px; line-height: 1.18; letter-spacing: -.7px; margin-bottom: 10px; }
.journal-card h2 a:hover { color: var(--v); }
.journal-card p { font-size: 14px; line-height: 1.7; color: var(--ink2); }
.journal-card-meta,
.home-journal-meta,
.article-meta {
  display: flex; align-items: center; flex-wrap: wrap; gap: 7px; font-family: var(--M);
  font-size: 10px; color: var(--ink3); margin-top: 18px;
}
.journal-pagination { padding: 0 0 96px; }
.journal-pagination .nav-links { position: static; transform: none; display: flex; justify-content: center; gap: 7px; }
.journal-pagination .page-numbers {
  min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center;
  border: .5px solid var(--rule); border-radius: 9px; color: var(--ink2); font-size: 12px; padding: 0 11px;
}
.journal-pagination .current { background: var(--v); color: var(--white); border-color: var(--v); }
.journal-empty { padding: 40px 0 100px; }
.journal-empty h2 { font-size: 28px; margin-bottom: 10px; }
.journal-empty p { color: var(--ink2); }
.journal-footer { margin-top: 0; }

/* Single article */
.article-header { max-width: 850px; margin: 0 auto; padding: 82px 0 48px; }
.article-breadcrumb {
  display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 30px;
  font-family: var(--M); font-size: 10px; color: var(--ink3);
}
.article-breadcrumb a:hover { color: var(--v); }
.article-topic { display: inline-block; margin-bottom: 14px; }
.article-header h1 {
  font-size: clamp(42px, 6vw, 76px); line-height: 1.02; letter-spacing: -3.4px;
  color: var(--ink); margin-bottom: 20px;
}
.article-dek { font-size: 20px; line-height: 1.65; color: var(--ink2); max-width: 760px; }
.article-meta { margin-top: 24px; }
.article-hero-image { max-width: 1060px; margin: 0 auto 64px; border-radius: 22px; overflow: hidden; background: var(--surface); }
.article-hero-image img { width: 100%; height: auto; }
.article-layout { display: grid; grid-template-columns: minmax(0, 760px) 250px; gap: 70px; justify-content: center; align-items: start; }
.article-content { min-width: 0; font-size: 18px; line-height: 1.78; color: #333336; padding-bottom: 88px; }
.article-content > *:first-child { margin-top: 0; }
.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content figure,
.article-content pre,
.article-content table { margin: 0 0 26px; }
.article-content h2 { font-size: 34px; line-height: 1.15; letter-spacing: -1.3px; margin: 58px 0 18px; color: var(--ink); }
.article-content h3 { font-size: 24px; line-height: 1.2; letter-spacing: -.7px; margin: 42px 0 14px; color: var(--ink); }
.article-content a { color: var(--v); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.article-content ul,
.article-content ol { padding-left: 1.4em; }
.article-content li { margin-bottom: 8px; }
.article-content blockquote { border-left: 3px solid var(--v); padding: 6px 0 6px 24px; color: var(--ink2); font-size: 20px; }
.article-content img { border-radius: 14px; }
.article-content code { font-family: var(--M); font-size: .88em; background: var(--surface); padding: 2px 5px; border-radius: 5px; }
.article-content pre { overflow-x: auto; padding: 18px; border-radius: 12px; background: var(--ink); color: #f3f3f4; }
.article-content pre code { background: transparent; padding: 0; }
.article-content table { width: 100%; border-collapse: collapse; font-size: 14px; }
.article-content th,
.article-content td { text-align: left; border: 1px solid var(--rule); padding: 12px; }
.article-content th { background: var(--surface); }
.article-aside { position: sticky; top: 86px; }
.article-tool-card { border: .5px solid var(--v-border); background: var(--v-light); border-radius: 16px; padding: 22px; }
.article-tool-label { font-family: var(--M); font-size: 9px; color: var(--v); display: block; margin-bottom: 12px; }
.article-tool-card strong { display: block; font-size: 17px; line-height: 1.3; margin-bottom: 9px; }
.article-tool-card p { font-size: 13px; line-height: 1.6; color: var(--ink2); margin-bottom: 14px; }
.article-tool-card a { color: var(--v); font-size: 13px; font-weight: 600; }
.related-journal { border-top: .5px solid var(--rule); padding: 72px 0 100px; }
.related-journal h2 { font-size: 34px; letter-spacing: -1.3px; margin-bottom: 28px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.related-card { border: .5px solid var(--rule); border-radius: 16px; overflow: hidden; }
.related-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.related-card h3 { font-size: 17px; line-height: 1.25; padding: 18px 18px 8px; }
.related-card span { display: block; padding: 0 18px 18px; font-family: var(--M); font-size: 10px; color: var(--v); }

/* Homepage Journal module */
.home-journal-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 46px; }
.journal-view-all { font-size: 14px; font-weight: 600; color: var(--v); white-space: nowrap; padding-bottom: 7px; }
.home-journal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.home-journal-card { border: .5px solid var(--rule); border-radius: 18px; overflow: hidden; box-shadow: 0 2px 14px rgba(0,0,0,.04); }
.home-journal-media { aspect-ratio: 16 / 9; display: block; overflow: hidden; background: var(--surface); }
.home-journal-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s; }
.home-journal-card:hover .home-journal-media img { transform: scale(1.025); }
.home-journal-copy { padding: 20px; }
.home-journal-meta { margin: 0 0 10px; }
.home-journal-copy h3 { font-size: 20px; line-height: 1.2; letter-spacing: -.5px; margin-bottom: 9px; }
.home-journal-copy h3 a:hover { color: var(--v); }
.home-journal-copy p { color: var(--ink2); font-size: 14px; line-height: 1.65; }

@media(max-width:960px){
  .journal-grid { grid-template-columns: 1fr 1fr; }
  .article-layout { grid-template-columns: minmax(0, 720px); }
  .article-aside { position: static; margin: -34px 0 70px; }
  .related-grid,
  .home-journal-grid { grid-template-columns: 1fr 1fr; }
  .related-card:last-child,
  .home-journal-card:last-child { display: none; }
}
@media(max-width:640px){
  .journal-shell,
  .article-shell { width: min(100% - 32px, 1180px); }
  .journal-hero { padding: 70px 0 46px; }
  .journal-hero h1 { letter-spacing: -2.4px; }
  .journal-grid,
  .related-grid,
  .home-journal-grid { grid-template-columns: 1fr; }
  .related-card:last-child,
  .home-journal-card:last-child { display: block; }
  .article-header { padding: 58px 0 34px; }
  .article-header h1 { letter-spacing: -2px; }
  .article-dek { font-size: 18px; }
  .article-hero-image { border-radius: 14px; margin-bottom: 42px; }
  .article-content { font-size: 17px; padding-bottom: 62px; }
  .article-content h2 { font-size: 29px; }
  .article-content h3 { font-size: 22px; }
  .home-journal-head { align-items: flex-start; flex-direction: column; margin-bottom: 32px; }
}

/* ── AUTHORITY JOURNAL v1.2 ───────────────────────────────────────────── */
.authority-journal { padding-bottom: 40px; }
.authority-section { padding: 70px 0; border-top: .5px solid var(--rule); }
.authority-section-head { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 30px; }
.authority-section-head h2 { font-size: clamp(30px,4vw,46px); letter-spacing: -1.8px; line-height: 1.05; margin-bottom: 9px; }
.authority-section-head p { color: var(--ink2); font-size: 16px; line-height: 1.65; max-width: 650px; }
.authority-label { display: inline-flex; align-items: center; width: fit-content; font-family: var(--M); font-size: 9px; letter-spacing: .45px; text-transform: uppercase; color: var(--v); background: var(--v-light); border: .5px solid var(--v-border); padding: 5px 9px; border-radius: 999px; }

.journal-featured { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); border: .5px solid var(--rule); border-radius: 24px; overflow: hidden; box-shadow: 0 10px 38px rgba(0,0,0,.06); margin-bottom: 82px; }
.journal-featured-media { min-height: 430px; background: var(--surface); display: block; overflow: hidden; }
.journal-featured-media img { width: 100%; height: 100%; object-fit: cover; }
.journal-featured-copy { padding: 46px 44px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.journal-featured-copy .journal-card-topic { margin: 15px 0 12px; }
.journal-featured-copy h2 { font-size: clamp(32px,4vw,50px); line-height: 1.04; letter-spacing: -2px; margin-bottom: 16px; }
.journal-featured-copy h2 a:hover { color: var(--v); }
.journal-featured-copy > p { color: var(--ink2); font-size: 16px; line-height: 1.72; margin-bottom: 18px; }
.authority-read { margin-top: 22px; font-size: 14px; font-weight: 600; color: var(--v); }

.pillar-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.pillar-card { position: relative; border: .5px solid var(--rule); border-radius: 18px; padding: 28px; background: var(--white); box-shadow: 0 2px 14px rgba(0,0,0,.04); }
.pillar-card:hover { border-color: var(--v-border); box-shadow: 0 10px 30px rgba(0,0,0,.07); transform: translateY(-2px); transition: all .18s ease; }
.pillar-topic { display: block; margin: 15px 0 10px; font-family: var(--M); font-size: 10px; color: var(--ink3); }
.pillar-card h3 { font-size: 22px; line-height: 1.15; letter-spacing: -.7px; margin-bottom: 10px; }
.pillar-card h3 a:hover { color: var(--v); }
.pillar-card p { color: var(--ink2); font-size: 14px; line-height: 1.67; margin-bottom: 18px; }
.pillar-link { color: var(--v); font-size: 13px; font-weight: 600; }

.topic-rail-list { display: grid; gap: 18px; }
.topic-rail { border: .5px solid var(--rule); border-radius: 18px; padding: 24px; }
.topic-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: .5px solid var(--surface2); }
.topic-rail-head h3 { font-size: 20px; letter-spacing: -.45px; }
.topic-rail-head a { color: var(--v); font-size: 12px; font-weight: 600; white-space: nowrap; }
.topic-rail-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; }
.topic-mini-card { padding: 20px 22px 4px 0; }
.topic-mini-card + .topic-mini-card { padding-left: 22px; border-left: .5px solid var(--surface2); }
.topic-mini-card span { font-family: var(--M); font-size: 9px; color: var(--ink3); }
.topic-mini-card h4 { font-size: 16px; line-height: 1.32; margin-top: 7px; }
.topic-mini-card h4 a:hover { color: var(--v); }
.topic-empty { color: var(--ink3); font-size: 13px; padding-top: 16px; }

.journal-latest .journal-grid { padding-bottom: 0; }
.journal-card h3 { font-size: 22px; line-height: 1.18; letter-spacing: -.7px; margin-bottom: 10px; }
.journal-card h3 a:hover { color: var(--v); }
.mini-pillar { display: inline-block; margin-left: 7px; font-family: var(--M); font-size: 9px; color: #1a8a36; background: var(--green-bg); padding: 3px 7px; border-radius: 999px; }

.article-labels { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; margin-bottom: 14px; }
.article-labels .article-topic { margin: 0; }
.article-hero-image figcaption { font-family: var(--M); font-size: 10px; line-height: 1.6; color: var(--ink3); padding: 10px 4px 0; }
.article-content h2[id] { scroll-margin-top: 86px; }
.article-toc { border: .5px solid var(--rule); background: var(--white); border-radius: 16px; padding: 20px; margin-bottom: 14px; }
.article-toc ol { list-style: none; counter-reset: toc; margin: 0; padding: 0; }
.article-toc li { counter-increment: toc; padding: 8px 0; border-bottom: .5px solid var(--surface2); }
.article-toc li:last-child { border-bottom: none; padding-bottom: 0; }
.article-toc a { display: grid; grid-template-columns: 24px 1fr; gap: 6px; font-size: 12px; line-height: 1.45; color: var(--ink2); }
.article-toc a::before { content: counter(toc, decimal-leading-zero); font-family: var(--M); font-size: 9px; color: var(--ink3); padding-top: 2px; }
.article-toc a:hover { color: var(--v); }

.article-series { margin: 64px 0 10px; padding: 28px; border-radius: 18px; background: var(--surface); border: .5px solid var(--rule); }
.article-content .article-series h2 { margin: 14px 0 8px; font-size: 26px; }
.article-series > p { font-size: 14px; color: var(--ink2); margin-bottom: 16px; }
.article-series ol { list-style: none; padding: 0; margin: 0; counter-reset: series; }
.article-series li { counter-increment: series; display: grid; grid-template-columns: 34px 1fr; gap: 8px; padding: 10px 0; border-top: .5px solid var(--rule); margin: 0; }
.article-series li::before { content: counter(series, decimal-leading-zero); font-family: var(--M); font-size: 10px; color: var(--ink3); padding-top: 3px; }
.article-series li a { color: var(--ink); text-decoration: none; }
.article-series li a:hover { color: var(--v); }
.article-series li.current span { color: var(--v); font-weight: 600; }

@media(max-width:960px){
  .journal-featured { grid-template-columns: 1fr; }
  .journal-featured-media { min-height: 340px; }
  .pillar-grid { grid-template-columns: 1fr 1fr; }
  .topic-rail-grid { grid-template-columns: 1fr; }
  .topic-mini-card, .topic-mini-card + .topic-mini-card { padding: 16px 0; border-left: none; border-top: .5px solid var(--surface2); }
  .topic-mini-card:first-child { border-top: none; }
  .article-toc { margin-bottom: 14px; }
}
@media(max-width:640px){
  .journal-featured { border-radius: 18px; margin-bottom: 58px; }
  .journal-featured-media { min-height: 240px; }
  .journal-featured-copy { padding: 28px 22px; }
  .journal-featured-copy h2 { letter-spacing: -1.4px; }
  .authority-section { padding: 54px 0; }
  .authority-section-head { align-items: flex-start; flex-direction: column; }
  .pillar-grid { grid-template-columns: 1fr; }
  .topic-rail { padding: 20px; }
  .topic-rail-head { align-items: flex-start; }
}

/* ── EDITORIAL JOURNAL v1.3 ─────────────────────────────────────────── */
.journal-v13 { --journal-ink:#17171a; }
.journal-hero-editorial {
  max-width:none; padding:92px 0 34px; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(260px,.55fr);
  gap:72px; align-items:end; border-bottom:.5px solid var(--rule);
}
.journal-hero-copy { max-width:780px; }
.journal-hero-editorial h1 { font-size:clamp(58px,8vw,104px); letter-spacing:-5.6px; margin:12px 0 20px; }
.journal-hero-editorial .journal-kicker { text-transform:uppercase; letter-spacing:.8px; font-size:10px; }
.journal-hero-editorial .journal-hero-copy > p { font-size:20px; line-height:1.62; color:var(--ink2); max-width:680px; }
.journal-hero-index { justify-self:end; min-width:250px; border-left:.5px solid var(--rule); padding-left:30px; color:var(--ink2); }
.journal-index-eyebrow { display:block; font-family:var(--M); font-size:9px; letter-spacing:.8px; color:var(--ink3); margin-bottom:18px; }
.journal-hero-index strong { display:block; font-size:54px; letter-spacing:-3px; line-height:.9; color:var(--ink); margin-bottom:16px; }
.journal-hero-index > span:last-child { font-family:var(--M); font-size:9px; line-height:1.75; color:var(--ink3); text-transform:uppercase; }
.journal-hero-editorial .journal-topics { grid-column:1/-1; margin-top:18px; padding-top:18px; border-top:.5px solid var(--surface2); }

/* Theme-generated editorial art. Useful before custom article imagery exists. */
.risf-editorial-visual { position:relative; display:block; width:100%; height:100%; min-height:180px; overflow:hidden; background:#18181b; color:#fff; isolation:isolate; }
.risf-editorial-visual::before { content:""; position:absolute; inset:-22%; background:radial-gradient(circle at 78% 24%,rgba(147,51,234,.5),transparent 31%),radial-gradient(circle at 18% 78%,rgba(109,40,217,.32),transparent 30%); z-index:-1; }
.risf-editorial-visual::after { content:""; position:absolute; width:46%; aspect-ratio:1; border:1px solid rgba(255,255,255,.14); border-radius:50%; right:-11%; top:-18%; box-shadow:0 0 0 26px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018); }
.visual-grid { position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px); background-size:32px 32px; mask-image:linear-gradient(to bottom,black,transparent 90%); }
.visual-kicker { position:absolute; top:24px; left:26px; font:500 9px/1 var(--M); letter-spacing:1px; color:rgba(255,255,255,.6); }
.visual-stack { position:absolute; left:26px; bottom:26px; display:flex; flex-direction:column; gap:2px; }
.visual-stack span { font:600 clamp(22px,3vw,42px)/.9 var(--H); letter-spacing:-1.6px; }
.visual-stack span:nth-child(2) { color:#c4a7ff; }
.visual-orbit { position:absolute; right:25px; bottom:28px; width:72px; height:72px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.visual-orbit i { position:absolute; width:7px; height:7px; border-radius:50%; background:#fff; }
.visual-orbit i:nth-child(1){left:-4px;top:31px}.visual-orbit i:nth-child(2){right:8px;top:4px;background:#c4a7ff}.visual-orbit i:nth-child(3){right:5px;bottom:7px;background:rgba(255,255,255,.45)}
.visual-rule { position:absolute; left:26px; right:26px; top:54px; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.28),transparent); }
.visual-resizing::before { background:radial-gradient(circle at 82% 23%,rgba(236,72,153,.42),transparent 31%),radial-gradient(circle at 20% 80%,rgba(109,40,217,.34),transparent 32%); }
.visual-formats::before { background:radial-gradient(circle at 82% 23%,rgba(14,165,233,.45),transparent 31%),radial-gradient(circle at 20% 80%,rgba(109,40,217,.34),transparent 32%); }
.visual-wordpress::before { background:radial-gradient(circle at 76% 24%,rgba(2,132,199,.44),transparent 31%),radial-gradient(circle at 18% 78%,rgba(3,105,161,.28),transparent 31%); }
.visual-performance::before { background:radial-gradient(circle at 76% 24%,rgba(16,185,129,.38),transparent 31%),radial-gradient(circle at 18% 78%,rgba(109,40,217,.28),transparent 31%); }
.visual-seo::before { background:radial-gradient(circle at 76% 24%,rgba(245,158,11,.38),transparent 31%),radial-gradient(circle at 18% 78%,rgba(109,40,217,.3),transparent 31%); }
.visual-privacy::before { background:radial-gradient(circle at 76% 24%,rgba(244,63,94,.36),transparent 31%),radial-gradient(circle at 18% 78%,rgba(109,40,217,.3),transparent 31%); }
.visual-card { min-height:210px; }
.visual-pillar { min-height:190px; }
.visual-feature { min-height:500px; }
.visual-article { min-height:390px; border-radius:24px; }
.visual-related { min-height:150px; }

/* Featured editorial story */
.editorial-feature { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); margin:68px 0 96px; border-radius:28px; background:var(--surface); box-shadow:none; }
.editorial-feature .journal-featured-copy { padding:58px 54px; }
.featured-topline { width:100%; display:flex; justify-content:space-between; align-items:center; margin-bottom:36px; }
.featured-issue { font-family:var(--M); font-size:9px; color:var(--ink3); text-transform:uppercase; letter-spacing:.65px; }
.editorial-feature .journal-featured-copy .journal-card-topic { margin:0 0 14px; }
.editorial-feature .journal-featured-copy h2 { font-size:clamp(38px,4.5vw,58px); line-height:1.01; letter-spacing:-2.8px; max-width:620px; }
.editorial-feature .journal-featured-copy > p { font-size:17px; line-height:1.72; max-width:560px; }
.editorial-feature .authority-read { margin-top:28px; display:inline-flex; gap:9px; align-items:center; color:var(--ink); padding-bottom:3px; border-bottom:1px solid var(--ink); }
.editorial-feature .journal-featured-media { min-height:500px; }

.editorial-section-head { align-items:end; margin-bottom:38px; }
.editorial-section-head > div { max-width:760px; }
.editorial-section-head > p { max-width:430px; font-size:14px; }
.editorial-section-head h2 { font-size:clamp(38px,4.6vw,58px); letter-spacing:-2.7px; }

/* Pillars look like editorial covers, not generic cards. */
.editorial-pillar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.editorial-pillar-card { display:grid; grid-template-columns:210px minmax(0,1fr); padding:0; overflow:hidden; border-radius:22px; box-shadow:none; min-height:250px; }
.editorial-pillar-card:hover { transform:translateY(-2px); }
.pillar-visual { display:block; min-height:100%; background:#18181b; }
.pillar-visual img { width:100%; height:100%; object-fit:cover; }
.pillar-card-copy { padding:26px 28px 26px 26px; display:flex; flex-direction:column; align-items:flex-start; }
.pillar-number { font:500 10px/1 var(--M); color:var(--ink3); margin-bottom:28px; }
.editorial-pillar-card .pillar-topic { margin:0 0 8px; color:var(--v); }
.editorial-pillar-card h3 { font-size:25px; line-height:1.08; letter-spacing:-1px; margin-bottom:10px; }
.editorial-pillar-card p { font-size:13px; line-height:1.62; margin-bottom:18px; }
.editorial-pillar-card .pillar-link { margin-top:auto; color:var(--ink); }

/* Subject library */
.topic-library-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.topic-library-card { position:relative; border:.5px solid var(--rule); border-radius:20px; padding:26px; min-height:330px; background:var(--white); overflow:hidden; display:flex; flex-direction:column; }
.topic-library-card::before { content:""; position:absolute; left:0; right:0; top:0; height:4px; background:var(--v); opacity:.88; }
.topic-resizing::before{background:#ec4899}.topic-formats::before{background:#0ea5e9}.topic-wordpress::before{background:#0284c7}.topic-performance::before{background:#10b981}.topic-seo::before{background:#f59e0b}.topic-privacy::before{background:#f43f5e}
.topic-library-top { display:flex; justify-content:space-between; font:500 9px/1 var(--M); color:var(--ink3); text-transform:uppercase; letter-spacing:.45px; margin-bottom:34px; }
.topic-library-card h3 { font-size:27px; letter-spacing:-1.1px; line-height:1.05; margin-bottom:10px; }
.topic-library-desc { color:var(--ink2); font-size:13px; line-height:1.55; margin-bottom:14px; }
.topic-reading-list { list-style:none; padding:0; margin:8px 0 22px; counter-reset:topicitem; }
.topic-reading-list li { counter-increment:topicitem; border-top:.5px solid var(--surface2); padding:10px 0; margin:0; }
.topic-reading-list a { display:grid; grid-template-columns:24px 1fr; gap:5px; font-size:12px; line-height:1.35; color:var(--ink2); }
.topic-reading-list a::before { content:counter(topicitem,decimal-leading-zero); font:500 8px/1.5 var(--M); color:var(--ink3); }
.topic-reading-list a:hover { color:var(--ink); }
.topic-library-link { margin-top:auto; font-size:12px; font-weight:600; color:var(--v); }

/* Latest */
.editorial-journal-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.editorial-journal-card { box-shadow:none; border-radius:20px; }
.editorial-journal-card .journal-card-media { aspect-ratio:1.35/1; }
.editorial-journal-card .journal-card-body { padding:22px 22px 24px; }
.journal-card-label-row { display:flex; align-items:center; min-height:22px; }
.editorial-journal-card .journal-card-topic { margin:0; }
.editorial-journal-card h3 { font-size:24px; letter-spacing:-.9px; line-height:1.08; margin:12px 0 11px; }
.editorial-journal-card p { font-size:13px; line-height:1.65; }

/* Article hero */
.article-v13 { width:min(1240px,calc(100% - 48px)); }
.editorial-article-header { max-width:none; padding:68px 0 58px; }
.editorial-article-header .article-breadcrumb { margin-bottom:38px; }
.article-head-grid { display:grid; grid-template-columns:minmax(0,1.04fr) minmax(360px,.68fr); gap:72px; align-items:center; }
.article-head-copy { min-width:0; }
.article-head-copy .article-labels { margin-bottom:20px; }
.article-head-copy h1 { font-size:clamp(48px,6vw,82px); line-height:.98; letter-spacing:-4.5px; margin-bottom:24px; }
.article-head-copy .article-dek { font-size:20px; line-height:1.6; max-width:720px; }
.article-head-visual img { width:100%; aspect-ratio:1.2/1; object-fit:cover; border-radius:24px; }
.editorial-article-layout { grid-template-columns:minmax(0,760px) 280px; gap:84px; }
.editorial-article-content { font-size:18px; line-height:1.82; }
.editorial-article-content > p:first-child { font-size:21px; line-height:1.72; color:var(--ink); }
.editorial-article-content h2 { font-size:36px; letter-spacing:-1.6px; margin-top:68px; }
.editorial-article-content h3 { font-size:25px; }
.editorial-article-content blockquote { margin:36px 0; padding:24px 28px; border-left:0; border-radius:16px; background:var(--surface); font-size:19px; line-height:1.65; color:var(--ink); }
.editorial-article-content table { border:0; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); }
.editorial-article-content th,.editorial-article-content td { border:0; border-bottom:.5px solid var(--rule); padding:14px 12px; }
.editorial-article-content th { background:transparent; font-size:12px; text-transform:uppercase; letter-spacing:.3px; }
.editorial-article-aside { top:84px; }
.article-toc { border:0; border-top:1px solid var(--ink); border-radius:0; padding:18px 0 0; background:transparent; margin-bottom:34px; }
.toc-head { display:flex; justify-content:space-between; gap:14px; align-items:center; margin-bottom:8px; }
.toc-head .article-tool-label { margin:0; color:var(--ink); }
.toc-head > span:last-child { font:500 8px/1 var(--M); color:var(--ink3); text-transform:uppercase; }
.article-toc li { padding:9px 0; }
.article-toc a { font-size:11px; }
.editorial-tool-card { background:#18181b; color:#fff; border:0; border-radius:18px; padding:24px; }
.editorial-tool-card .article-tool-label { color:#c4a7ff; }
.editorial-tool-card strong { font-size:19px; }
.editorial-tool-card p { color:rgba(255,255,255,.68); }
.editorial-tool-card a { color:#fff; display:inline-flex; gap:8px; }
.article-series { background:transparent; border:1px solid var(--ink); border-radius:20px; padding:30px; }
.article-series-head { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.series-count { font:500 9px/1 var(--M); color:var(--ink3); text-transform:uppercase; }
.article-series li.current { background:var(--v-light); margin:0 -12px; padding-left:12px; padding-right:12px; border-radius:8px; }

.editorial-related { padding:84px 0 110px; }
.related-head { display:flex; justify-content:space-between; gap:32px; align-items:end; margin-bottom:32px; }
.related-head h2 { font-size:46px; letter-spacing:-2px; margin:8px 0 0; }
.related-head > a { color:var(--v); font-size:13px; font-weight:600; }
.editorial-related-card { border-radius:18px; background:var(--white); overflow:hidden; }
.related-visual { display:block; aspect-ratio:1.55/1; overflow:hidden; }
.related-visual img { width:100%; height:100%; object-fit:cover; }
.related-copy { padding:18px 18px 20px; }
.related-copy > span { padding:0; font:500 9px/1 var(--M); color:var(--ink3); }
.related-copy h3 { padding:0; margin:9px 0 0; font-size:19px; letter-spacing:-.5px; }
.related-copy h3 a:hover { color:var(--v); }

@media(max-width:1040px){
  .journal-hero-editorial { grid-template-columns:1fr; gap:30px; }
  .journal-hero-index { justify-self:start; border-left:0; padding-left:0; display:flex; gap:20px; align-items:end; }
  .journal-hero-index strong { margin:0; }
  .editorial-feature { grid-template-columns:1fr 1fr; }
  .editorial-pillar-card { grid-template-columns:165px minmax(0,1fr); }
  .topic-library-grid { grid-template-columns:1fr 1fr; }
  .article-head-grid { grid-template-columns:1fr; gap:34px; }
  .article-head-visual { max-width:760px; }
  .visual-article { min-height:330px; }
}
@media(max-width:760px){
  .journal-hero-editorial h1 { font-size:clamp(52px,16vw,76px); letter-spacing:-3.6px; }
  .journal-hero-index { display:block; }
  .journal-hero-index strong { margin-bottom:10px; }
  .editorial-feature { grid-template-columns:1fr; }
  .editorial-feature .journal-featured-copy { padding:34px 28px; order:2; }
  .editorial-feature .journal-featured-media { order:1; min-height:280px; }
  .visual-feature { min-height:280px; }
  .editorial-pillar-grid,.topic-library-grid,.editorial-journal-grid { grid-template-columns:1fr; }
  .editorial-pillar-card { grid-template-columns:128px minmax(0,1fr); min-height:220px; }
  .pillar-card-copy { padding:22px; }
  .pillar-number { margin-bottom:18px; }
  .editorial-section-head { align-items:flex-start; flex-direction:column; }
  .article-v13 { width:min(100% - 32px,1240px); }
  .article-head-copy h1 { font-size:clamp(44px,13vw,64px); letter-spacing:-3px; }
  .article-head-visual { display:none; }
  .editorial-article-layout { grid-template-columns:1fr; gap:20px; }
  .editorial-article-aside { position:static; margin:0 0 58px; order:-1; }
  .article-toc { max-height:360px; overflow:auto; }
  .editorial-related .related-head { align-items:flex-start; flex-direction:column; }
}

/* ============================================================
   HOME v1.4 — product-led landing page retouch
   ============================================================ */
.home-v14 { background:var(--white); color:var(--ink); }
.home-v14 .nav-logo { display:inline-block; }
.home-v14 .nav-cta { background:#4c1d95; }
.home-v14 .nav-cta:hover { background:#3b1577; }

.home-v14 .hero-product {
  padding:78px 32px 72px;
  overflow:visible;
}
.home-v14 .hero-product::before { top:-70%; opacity:.82; }
.home-v14 .hero-h { font-size:clamp(58px,7.5vw,102px); margin-bottom:22px; }
.home-v14 .hero-sub { max-width:650px; font-size:18px; line-height:1.62; margin-bottom:20px; }
.home-v14 .hero-trust {
  display:flex; justify-content:center; align-items:center; gap:12px; flex-wrap:wrap;
  font-family:var(--M); font-size:10px; letter-spacing:.15px; color:var(--ink3); margin-bottom:42px;
}
.home-v14 .hero-trust i { width:3px; height:3px; border-radius:50%; background:var(--rule); }
.home-v14 .hero-tool { max-width:1100px; border-radius:24px; box-shadow:0 0 0 .5px var(--rule),0 24px 70px rgba(31,20,55,.1),0 8px 24px rgba(0,0,0,.04); }
.home-v14 .tool-topbar { min-height:44px; }
.home-v14 .tb-local { display:flex; gap:6px; align-items:center; font-family:var(--M); font-size:9px; color:var(--ink3); text-transform:uppercase; letter-spacing:.5px; }
.home-v14 .tb-local span { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 0 3px rgba(52,199,89,.1); }
.home-v14 .tool-body { padding:30px 30px 0; }
.home-v14 .dz { padding:48px 36px; margin-bottom:20px; }
.home-v14 .dz-mark { width:58px; height:58px; border-radius:17px; background:var(--v-light); color:var(--v); display:grid; place-items:center; margin:0 auto 15px; }
.home-v14 .dz-mark svg { width:34px; height:34px; }
.home-v14 .dz-p { max-width:560px; margin:0 auto; }
.home-v14 .tool-footer { padding:18px 28px 26px; }
.home-v14 .settings-primary { display:grid; grid-template-columns:auto 1fr; gap:34px; align-items:end; }
.home-v14 .quality-group { justify-self:stretch; }
.home-v14 .quality-group .qual-row { width:100%; }
.home-v14 .quality-group input[type=range] { width:min(360px,100%); flex:1; }
.home-v14 .tool-advanced { margin-top:16px; border-top:.5px solid var(--surface2); padding-top:0; }
.home-v14 .tool-advanced summary { list-style:none; cursor:pointer; display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:14px 2px; color:var(--ink2); }
.home-v14 .tool-advanced summary::-webkit-details-marker { display:none; }
.home-v14 .tool-advanced summary > span { font-size:13px; font-weight:600; color:var(--ink); }
.home-v14 .tool-advanced summary small { font-family:var(--M); font-size:9px; color:var(--ink3); }
.home-v14 .tool-advanced summary b { font-size:18px; line-height:1; font-weight:400; color:var(--v); transition:transform .18s; }
.home-v14 .tool-advanced[open] summary b { transform:rotate(45deg); }
.home-v14 .advanced-grid { display:grid; grid-template-columns:auto 1fr; gap:38px; padding:4px 2px 18px; }
.home-v14 .btn-compress { margin-top:4px; padding:14px 18px; }

.trust-band { display:grid; grid-template-columns:repeat(4,1fr); border-top:.5px solid var(--rule); border-bottom:.5px solid var(--rule); }
.trust-band > div { min-height:160px; padding:34px 34px 30px; border-right:.5px solid var(--rule); }
.trust-band > div:last-child { border-right:0; }
.trust-code { display:block; font-family:var(--M); font-size:9px; color:var(--v); margin-bottom:22px; }
.trust-band strong { display:block; font-size:15px; letter-spacing:-.25px; margin-bottom:8px; }
.trust-band p { color:var(--ink2); font-size:13px; line-height:1.58; max-width:240px; }

.product-proof { display:grid; grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr); gap:80px; align-items:center; }
.proof-copy .sec-sub { max-width:560px; }
.proof-points { margin-top:34px; display:grid; gap:18px; }
.proof-points > div { display:grid; grid-template-columns:34px 1fr; gap:13px; align-items:start; padding-top:18px; border-top:.5px solid var(--surface2); }
.proof-points b { font-family:var(--M); font-size:9px; color:var(--v); margin-top:4px; }
.proof-points span { font-size:14px; line-height:1.7; color:var(--ink2); }
.proof-points strong { color:var(--ink); font-weight:600; }
.proof-panel { border:.5px solid var(--rule); border-radius:24px; overflow:hidden; background:linear-gradient(145deg,#fff 0%,#faf9fc 100%); box-shadow:0 16px 50px rgba(37,23,65,.07); }
.proof-panel-top { display:flex; justify-content:space-between; padding:16px 20px; border-bottom:.5px solid var(--rule); font-family:var(--M); font-size:9px; color:var(--ink3); letter-spacing:.4px; }
.proof-image-grid { display:grid; grid-template-columns:1fr 40px 1fr; align-items:stretch; padding:28px; }
.proof-image { min-height:230px; border:.5px solid var(--rule); border-radius:16px; padding:22px; display:flex; flex-direction:column; justify-content:flex-end; position:relative; overflow:hidden; }
.proof-image::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(109,40,217,.06),transparent 55%); }
.proof-image.output { background:linear-gradient(145deg,#f7f2ff,#fff); border-color:var(--v-border); }
.proof-image span,.proof-image b,.proof-image small { position:relative; z-index:1; }
.proof-image span { font-family:var(--M); font-size:9px; color:var(--ink3); letter-spacing:.45px; margin-bottom:auto; }
.proof-image b { font-size:36px; letter-spacing:-1.8px; }
.proof-image.output b { color:var(--v); }
.proof-image small { color:var(--ink2); font-size:10px; font-family:var(--M); margin-top:6px; }
.proof-arrow { display:grid; place-items:center; color:var(--v); font-size:18px; }
.compression-line { height:3px; margin:0 28px 24px; background:var(--surface2); border-radius:3px; position:relative; }
.compression-line span { display:block; width:13%; height:100%; background:var(--v-grad); border-radius:3px; }
.compression-line i { position:absolute; left:13%; top:50%; width:11px; height:11px; border:3px solid #fff; border-radius:50%; background:var(--v); transform:translate(-50%,-50%); box-shadow:0 0 0 1px var(--v); }
.proof-metrics { display:grid; grid-template-columns:repeat(3,1fr); border-top:.5px solid var(--rule); }
.proof-metrics > div { padding:18px 20px; border-right:.5px solid var(--rule); }
.proof-metrics > div:last-child { border-right:0; }
.proof-metrics small { display:block; font-family:var(--M); font-size:8px; color:var(--ink3); margin-bottom:8px; }
.proof-metrics strong { font-size:14px; }

.cap-head { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:end; margin-bottom:58px; }
.cap-head .sec-h { margin-bottom:0; }
.cap-head .sec-sub { font-size:17px; }
.cap-grid { display:grid; grid-template-columns:1.15fr .925fr .925fr; gap:18px; }
.cap-card { min-height:300px; border:.5px solid var(--rule); border-radius:22px; padding:28px; position:relative; overflow:hidden; background:#fff; box-shadow:0 2px 14px rgba(0,0,0,.035); }
.cap-card-large { grid-row:span 2; min-height:618px; background:linear-gradient(155deg,#1d1d1f 0%,#29212f 100%); color:#fff; }
.cap-card-small { min-height:210px; }
.cap-num { font-family:var(--M); font-size:9px; letter-spacing:.55px; color:var(--v); display:block; margin-bottom:26px; }
.cap-card-large .cap-num { color:#c9a9ff; }
.cap-card h3 { font-size:24px; line-height:1.08; letter-spacing:-.8px; margin-bottom:12px; }
.cap-card-large h3 { font-size:34px; letter-spacing:-1.5px; margin-top:auto; }
.cap-card p { color:var(--ink2); font-size:14px; line-height:1.72; max-width:460px; }
.cap-card-large p { color:rgba(255,255,255,.68); font-size:15px; }
.cap-visual-local { min-height:310px; margin:18px 0 44px; border:.5px solid rgba(255,255,255,.15); border-radius:18px; padding:20px; background:radial-gradient(circle at 50% 40%,rgba(147,51,234,.25),transparent 55%); }
.cap-visual-local > span { font-family:var(--M); font-size:9px; letter-spacing:.6px; color:rgba(255,255,255,.45); }
.cap-visual-local > div { height:250px; display:flex; align-items:center; justify-content:center; gap:15px; }
.cap-visual-local b { font-family:var(--M); font-size:10px; font-weight:500; padding:15px 14px; border:.5px solid rgba(255,255,255,.22); border-radius:10px; background:rgba(255,255,255,.045); }
.cap-visual-local i { color:#c9a9ff; font-style:normal; }
.cap-mini-stack { height:105px; margin:12px 0 32px; position:relative; }
.cap-mini-stack i { position:absolute; width:74%; height:68px; border:.5px solid var(--v-border); border-radius:12px; background:#fff; left:13%; box-shadow:0 10px 24px rgba(109,40,217,.06); }
.cap-mini-stack i:nth-child(1){ top:0; transform:scale(.88); opacity:.5; }
.cap-mini-stack i:nth-child(2){ top:13px; transform:scale(.94); opacity:.72; }
.cap-mini-stack i:nth-child(3){ top:28px; }
.cap-format-line { min-height:105px; display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; margin:10px 0 32px; font-family:var(--M); color:var(--ink2); }
.cap-format-line b { color:var(--ink); font-size:15px; }
.cap-format-line i { font-style:normal; color:var(--v); margin:0 6px; }

.privacy-v14 { background:#151417; color:#fff; padding:118px 48px; }
.privacy-inner { max-width:1280px; margin:0 auto; display:grid; grid-template-columns:.85fr 1.15fr; gap:90px; align-items:center; }
.privacy-v14 .sec-tag { color:#c7a8ff; }
.privacy-v14 .sec-tag::before { background:#c7a8ff; }
.privacy-zero { font-size:clamp(110px,14vw,190px); line-height:.8; font-weight:700; letter-spacing:-9px; background:linear-gradient(135deg,#c7a8ff,#8f62e9); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.privacy-zero-label { font-family:var(--M); font-size:9px; color:rgba(255,255,255,.72); letter-spacing:.45px; margin:14px 0 46px; text-transform:uppercase; }
.privacy-copy h2 { font-size:clamp(38px,4vw,58px); line-height:1.02; letter-spacing:-2.6px; margin-bottom:18px; }
.privacy-copy > p:not(.privacy-zero-label) { max-width:570px; font-size:17px; line-height:1.72; color:rgba(255,255,255,.65); }
.privacy-notes { display:flex; flex-wrap:wrap; gap:8px; margin-top:30px; }
.privacy-notes span { border:.5px solid rgba(255,255,255,.14); border-radius:999px; padding:8px 11px; font-family:var(--M); font-size:9px; color:rgba(255,255,255,.64); }
.browser-frame { border:.5px solid rgba(255,255,255,.18); border-radius:22px; overflow:hidden; background:#1e1d21; box-shadow:0 25px 70px rgba(0,0,0,.28); }
.browser-bar { height:48px; display:flex; align-items:center; gap:7px; padding:0 18px; border-bottom:.5px solid rgba(255,255,255,.12); }
.browser-bar i { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.2); }
.browser-bar span { margin-left:auto; font-family:var(--M); font-size:8px; letter-spacing:.6px; color:rgba(255,255,255,.68); }
.flow-steps { padding:28px; }
.flow-steps > div { display:grid; grid-template-columns:34px 1fr auto; align-items:center; gap:12px; border:.5px solid rgba(255,255,255,.12); border-radius:12px; padding:15px 16px; }
.flow-steps b { font-family:var(--M); font-size:9px; color:#c7a8ff; }
.flow-steps span { font-size:14px; font-weight:600; }
.flow-steps small { font-family:var(--M); font-size:8px; color:rgba(255,255,255,.68); }
.flow-steps em { display:block; text-align:center; font-style:normal; color:rgba(199,168,255,.5); line-height:28px; }
.server-outside { margin-top:16px; border:.5px dashed rgba(255,255,255,.14); border-radius:12px; padding:14px 16px; display:grid; grid-template-columns:1fr auto auto; gap:14px; align-items:center; font-family:var(--M); }
.server-outside span { color:rgba(255,255,255,.68); font-size:8px; letter-spacing:.6px; }
.server-outside strong { color:rgba(255,255,255,.68); text-decoration:line-through; font-size:10px; }
.server-outside b { color:#c7a8ff; font-size:9px; font-weight:500; }

.use-head { max-width:780px; margin-bottom:46px; }
.use-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:.5px solid var(--rule); border-bottom:.5px solid var(--rule); }
.use-grid article { padding:34px 32px 38px; border-right:.5px solid var(--rule); min-height:260px; display:flex; flex-direction:column; align-items:flex-start; }
.use-grid article:last-child { border-right:0; }
.use-grid article > span { font-family:var(--M); font-size:9px; color:var(--v); letter-spacing:.55px; margin-bottom:48px; }
.use-grid h3 { font-size:20px; line-height:1.35; letter-spacing:-.5px; margin-bottom:28px; }
.use-grid a { margin-top:auto; color:var(--v); font-size:13px; font-weight:600; }

.home-journal-v14-head { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; margin-bottom:50px; }
.home-pillar-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.home-pillar-card { border:.5px solid var(--rule); border-radius:20px; overflow:hidden; background:#fff; }
.home-pillar-media { display:block; aspect-ratio:1.42/1; overflow:hidden; background:var(--surface); }
.home-pillar-media img { width:100%; height:100%; object-fit:cover; }
.home-pillar-copy { padding:22px 22px 24px; }
.home-pillar-no { font-family:var(--M); font-size:8px; color:var(--v); letter-spacing:.55px; display:block; margin-bottom:14px; }
.home-pillar-copy h3 { font-size:23px; line-height:1.08; letter-spacing:-.8px; margin-bottom:11px; }
.home-pillar-copy p { color:var(--ink2); font-size:13px; line-height:1.65; margin-bottom:18px; }
.home-pillar-link { color:var(--v); font-size:12px; font-weight:600; }

.compare-v14 { display:grid; grid-template-columns:.72fr 1.28fr; gap:70px; align-items:start; }
.compare-v14-copy { position:sticky; top:100px; }
.compare-v14-table { border:.5px solid var(--rule); border-radius:18px; overflow:hidden; }
.compare-v14-row { display:grid; grid-template-columns:1.1fr 1fr 1fr; min-height:62px; border-bottom:.5px solid var(--rule); align-items:center; }
.compare-v14-row:last-child { border-bottom:0; }
.compare-v14-row > * { padding:14px 18px; font-size:13px; color:var(--ink2); }
.compare-v14-row > strong { color:var(--ink); font-weight:600; }
.compare-v14-row > *:nth-child(3) { background:rgba(109,40,217,.035); }
.compare-v14-head { background:var(--surface); min-height:48px; }
.compare-v14-head > span { font-family:var(--M); font-size:9px; letter-spacing:.4px; color:var(--ink3); }
.compare-v14-row .good { color:#4c1d95; font-weight:600; }

.faq-v14 .sec-h { font-size:clamp(34px,4.2vw,54px); }
.cta-v14 { padding:128px 48px; }
.cta-kicker { display:block; font-family:var(--M); font-size:9px; color:var(--v); letter-spacing:.8px; margin-bottom:24px; }
.cta-v14 .btn-primary { display:inline-flex; }

@media(max-width:1080px){
  .product-proof,.privacy-inner,.compare-v14 { grid-template-columns:1fr; gap:52px; }
  .proof-panel { max-width:760px; width:100%; }
  .cap-grid { grid-template-columns:1fr 1fr; }
  .cap-card-large { grid-row:auto; grid-column:1/-1; min-height:auto; }
  .cap-visual-local { min-height:250px; }
  .compare-v14-copy { position:static; }
}

@media(max-width:960px){
  .home-v14 .hero-product { padding:66px 24px 58px; }
  .trust-band { grid-template-columns:1fr 1fr; }
  .trust-band > div:nth-child(2) { border-right:0; }
  .trust-band > div:nth-child(-n+2) { border-bottom:.5px solid var(--rule); }
  .cap-head { grid-template-columns:1fr; gap:18px; }
  .privacy-v14 { padding:86px 32px; }
  .use-grid { grid-template-columns:1fr; }
  .use-grid article { border-right:0; border-bottom:.5px solid var(--rule); min-height:200px; }
  .use-grid article:last-child { border-bottom:0; }
  .use-grid article > span { margin-bottom:26px; }
  .home-pillar-grid { grid-template-columns:1fr 1fr; }
  .home-pillar-card:last-child { grid-column:1/-1; }
}

@media(max-width:700px){
  .home-v14 .hero-h { font-size:clamp(48px,15vw,68px); letter-spacing:-2.5px; }
  .home-v14 .hero-sub { font-size:16px; }
  .home-v14 .hero-trust { gap:8px; }
  .home-v14 .tool-body { padding:18px 14px 0; }
  .home-v14 .dz { padding:38px 18px; }
  .home-v14 .tool-footer { padding:14px 14px 18px; }
  .home-v14 .settings-primary,.home-v14 .advanced-grid { grid-template-columns:1fr; gap:18px; }
  .home-v14 .fmt-tabs { width:100%; }
  .home-v14 .fmt-tab { flex:1; padding:7px 8px; }
  .home-v14 .togs-row { flex-direction:column; gap:12px; }
  .home-v14 .tb-local { display:none; }
  .trust-band { grid-template-columns:1fr; }
  .trust-band > div { border-right:0!important; border-bottom:.5px solid var(--rule); min-height:auto; padding:26px 24px; }
  .trust-band > div:last-child { border-bottom:0; }
  .product-proof { gap:44px; }
  .proof-image-grid { grid-template-columns:1fr; gap:12px; }
  .proof-arrow { transform:rotate(90deg); }
  .proof-image { min-height:180px; }
  .proof-metrics { grid-template-columns:1fr; }
  .proof-metrics > div { border-right:0; border-bottom:.5px solid var(--rule); }
  .proof-metrics > div:last-child { border-bottom:0; }
  .cap-grid { grid-template-columns:1fr; }
  .cap-card-large { grid-column:auto; }
  .cap-visual-local > div { flex-direction:column; gap:8px; }
  .cap-visual-local { min-height:330px; }
  .privacy-v14 { padding:72px 22px; }
  .privacy-zero { letter-spacing:-5px; }
  .flow-steps { padding:18px; }
  .flow-steps > div { grid-template-columns:30px 1fr; }
  .flow-steps small { grid-column:2; }
  .server-outside { grid-template-columns:1fr; }
  .home-journal-v14-head { grid-template-columns:1fr; gap:20px; }
  .home-pillar-grid { grid-template-columns:1fr; }
  .home-pillar-card:last-child { grid-column:auto; }
  .compare-v14-row { grid-template-columns:1.1fr 1fr; }
  .compare-v14-row > *:nth-child(2) { display:none; }
  .cta-v14 { padding:90px 24px; }
}

/* ============================================================
   MOBILE RESPONSIVENESS v1.5
   Intentional phone layout, 44px touch targets, readable Journal
   ============================================================ */
.article-toc-mobile { display:none; }

@media(max-width:760px){
  html { scroll-padding-top:72px; }
  body { overflow-x:hidden; }

  /* Global navigation */
  .nav {
    height:58px;
    padding:0 14px;
    gap:10px;
  }
  .nav-logo {
    min-width:0;
    font-size:13.5px;
    letter-spacing:-.35px;
    white-space:nowrap;
  }
  .nav-cta {
    min-height:44px;
    padding:0 12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:11.5px;
    white-space:nowrap;
    flex-shrink:0;
  }

  /* Global vertical rhythm */
  .section,
  .section.full {
    padding:68px 18px;
  }
  .section.narrow,
  .section.wide {
    width:100%;
  }
  .sec-tag { font-size:10px; margin-bottom:13px; }
  .sec-h {
    font-size:clamp(34px,10.5vw,48px);
    letter-spacing:-1.9px;
    line-height:1.02;
  }
  .sec-sub { font-size:16px; line-height:1.68; }
  .divider { margin:0; }

  /* Homepage hero */
  .home-v14 .hero-product {
    padding:52px 14px 46px;
  }
  .home-v14 .hero-kicker {
    font-size:10px;
    margin-bottom:18px;
  }
  .home-v14 .hero-h {
    font-size:clamp(44px,14vw,60px);
    line-height:.98;
    letter-spacing:-2.7px;
    margin-bottom:18px;
  }
  .home-v14 .hero-sub {
    font-size:15.5px;
    line-height:1.62;
    max-width:34em;
    margin-bottom:16px;
  }
  .home-v14 .hero-trust {
    font-size:9px;
    line-height:1.4;
    gap:7px 9px;
    margin-bottom:30px;
  }

  /* Compressor: mobile-first controls */
  .home-v14 .hero-tool {
    width:100%;
    border-radius:18px;
  }
  .home-v14 .tool-topbar {
    min-height:42px;
    padding:10px 12px;
    gap:8px;
  }
  .home-v14 .tb-dots { gap:4px; }
  .home-v14 .tb-dot { width:9px; height:9px; }
  .home-v14 .tb-title {
    min-width:0;
    font-size:8.5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .home-v14 .tool-body { padding:14px 12px 0; }
  .home-v14 .dz {
    padding:30px 14px;
    border-radius:14px;
    margin-bottom:14px;
  }
  .home-v14 .dz-mark {
    width:50px;
    height:50px;
    border-radius:14px;
    margin-bottom:12px;
  }
  .home-v14 .dz-mark svg { width:30px; height:30px; }
  .dz-h { font-size:15px; }
  .dz-p { font-size:12.5px; line-height:1.55; }
  .dz-pills { gap:5px; margin-top:12px; }
  .dz-pill { font-size:8.5px; padding:4px 7px; }

  .fcard {
    gap:8px;
    padding:12px 0;
    align-items:flex-start;
  }
  .fthumb { width:44px; height:44px; }
  .fname { font-size:12px; }
  .fmeta { font-size:9px; line-height:1.4; }
  .fend { gap:2px; align-items:center; }
  .fbadge { font-size:8px; padding:4px 6px; }
  .fdl,
  .frm {
    width:44px;
    min-width:44px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0;
  }
  .fcmp { grid-template-columns:1fr 1fr; }
  .cmpp { padding:10px 8px; }
  .cmpi { height:82px; }

  .home-v14 .tool-footer { padding:12px 12px 16px; }
  .home-v14 .settings-primary,
  .home-v14 .advanced-grid {
    grid-template-columns:1fr;
    gap:16px;
  }
  .home-v14 .fmt-tabs {
    width:100%;
    padding:3px;
    gap:2px;
  }
  .home-v14 .fmt-tab {
    min-height:44px;
    flex:1 1 25%;
    padding:0 6px;
    font-size:11px;
  }
  .home-v14 .quality-group input[type=range],
  input[type=range] {
    width:100%;
    height:44px;
    min-height:44px;
    background:linear-gradient(var(--surface2),var(--surface2)) center / 100% 3px no-repeat;
  }
  .home-v14 .qual-row { width:100%; }
  .qval { min-width:36px; text-align:right; }
  .home-v14 .tool-advanced summary {
    min-height:48px;
    padding:10px 0;
  }
  .home-v14 .tool-advanced summary small {
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .resize-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:8px;
  }
  .ri {
    width:100%;
    min-height:44px;
    padding:0 10px;
    font-size:12px;
  }
  .home-v14 .togs-row {
    flex-direction:column;
    gap:2px;
  }
  .tog-item {
    min-height:44px;
    width:100%;
  }
  .tog {
    width:44px;
    height:24px;
    border-radius:12px;
  }
  .tog::after {
    width:18px;
    height:18px;
    top:2px;
    left:2px;
  }
  .tog.on::after { left:22px; }
  .home-v14 .btn-compress,
  .btn-zip,
  .btn-clr {
    min-height:48px;
  }
  .batch-acts {
    padding:0 12px 14px;
    gap:8px;
  }

  /* Homepage content */
  .trust-band { grid-template-columns:1fr; }
  .trust-band > div {
    min-height:auto;
    padding:24px 18px;
    border-right:0 !important;
    border-bottom:.5px solid var(--rule);
  }
  .trust-band > div:last-child { border-bottom:0; }
  .trust-code { margin-bottom:12px; }
  .trust-band p { max-width:none; }

  .product-proof { gap:36px; }
  .proof-points { margin-top:26px; gap:14px; }
  .proof-points > div { grid-template-columns:28px 1fr; gap:10px; }
  .proof-panel { border-radius:18px; }
  .proof-panel-top {
    padding:13px 14px;
    gap:12px;
    font-size:8px;
  }
  .proof-image-grid {
    grid-template-columns:1fr;
    gap:10px;
    padding:16px;
  }
  .proof-image {
    min-height:150px;
    padding:16px;
    border-radius:13px;
  }
  .proof-image b { font-size:30px; }
  .proof-arrow { transform:rotate(90deg); min-height:22px; }
  .compression-line { margin:0 16px 18px; }
  .proof-metrics { grid-template-columns:1fr; }
  .proof-metrics > div {
    padding:14px 16px;
    border-right:0;
    border-bottom:.5px solid var(--rule);
  }
  .proof-metrics > div:last-child { border-bottom:0; }

  .cap-head { margin-bottom:34px; }
  .cap-grid { grid-template-columns:1fr; gap:12px; }
  .cap-card,
  .cap-card-small {
    min-height:auto;
    padding:22px;
    border-radius:18px;
  }
  .cap-card-large {
    grid-column:auto;
    min-height:auto;
  }
  .cap-num { margin-bottom:20px; }
  .cap-card h3 { font-size:22px; }
  .cap-card-large h3 { font-size:29px; }
  .cap-visual-local {
    min-height:230px;
    margin:8px 0 28px;
    padding:16px;
  }
  .cap-visual-local > div {
    height:180px;
    flex-direction:column;
    gap:7px;
  }
  .cap-mini-stack,
  .cap-format-line { margin-bottom:22px; }

  .privacy-v14 { padding:64px 18px; }
  .privacy-inner { gap:42px; }
  .privacy-zero {
    font-size:96px;
    letter-spacing:-5px;
  }
  .privacy-zero-label { margin:12px 0 34px; }
  .privacy-copy h2 {
    font-size:38px;
    letter-spacing:-1.9px;
  }
  .privacy-copy > p:not(.privacy-zero-label) {
    font-size:15.5px;
  }
  .privacy-notes { gap:6px; }
  .privacy-notes span { font-size:8px; }
  .browser-frame { border-radius:16px; }
  .browser-bar { height:42px; padding:0 14px; }
  .flow-steps { padding:14px; }
  .flow-steps > div {
    grid-template-columns:28px 1fr;
    gap:8px;
    padding:13px;
  }
  .flow-steps small { grid-column:2; }
  .server-outside {
    grid-template-columns:1fr;
    gap:6px;
    padding:13px;
  }

  .use-head { margin-bottom:30px; }
  .use-grid article {
    min-height:auto;
    padding:26px 18px 28px;
  }
  .use-grid article > span { margin-bottom:22px; }
  .use-grid h3 { font-size:18px; }
  .use-grid a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .home-journal-v14-head {
    grid-template-columns:1fr;
    gap:16px;
    margin-bottom:30px;
  }
  .journal-view-all {
    min-height:44px;
    display:inline-flex;
    align-items:center;
    width:fit-content;
  }
  .home-pillar-grid { grid-template-columns:1fr; gap:14px; }
  .home-pillar-card:last-child { grid-column:auto; }
  .home-pillar-copy { padding:18px 18px 20px; }
  .home-pillar-copy h3 { font-size:21px; }
  .home-pillar-link {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .compare-v14 { gap:30px; }
  .compare-v14-row {
    grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
    min-height:58px;
  }
  .compare-v14-row > * {
    min-width:0;
    padding:12px 10px;
    font-size:11.5px;
    overflow-wrap:anywhere;
  }
  .compare-v14-row > *:nth-child(2) { display:none; }
  .compare-v14-head > span { font-size:8px; }

  .faq-grid { margin-top:34px; }
  .faq-item { padding:0; }
  .faq-q {
    min-height:56px;
    align-items:center;
    padding:12px 0;
    font-size:14px;
  }
  .faq-tog {
    width:30px;
    height:30px;
  }
  .faq-a {
    font-size:14px;
    margin:0;
    padding:0 0 18px;
  }
  .cta-v14 { padding:78px 18px; }
  .cta-h {
    font-size:clamp(40px,12vw,54px);
    letter-spacing:-2px;
  }
  .cta-sub { font-size:16px; margin-bottom:30px; }
  .cta-v14 .btn-primary {
    min-height:50px;
    padding:0 24px;
  }

  /* Footer */
  footer {
    padding:24px 18px;
    gap:12px;
    align-items:flex-start;
  }
  .foot-links {
    width:100%;
    flex-wrap:wrap;
    gap:0 16px;
  }
  .foot-links a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  /* Journal archive */
  .journal-shell,
  .article-shell {
    width:calc(100% - 28px);
  }
  .journal-hero-editorial {
    padding:52px 0 24px;
    gap:22px;
  }
  .journal-hero-editorial h1 {
    font-size:clamp(48px,15vw,68px);
    letter-spacing:-3px;
    margin:9px 0 16px;
  }
  .journal-hero-editorial .journal-hero-copy > p {
    font-size:16px;
    line-height:1.62;
  }
  .journal-hero-index strong {
    font-size:44px;
    letter-spacing:-2px;
  }
  .journal-hero-index > span:last-child {
    font-size:8px;
  }
  .journal-hero-editorial .journal-topics {
    margin-top:12px;
    padding:14px 0 6px;
    flex-wrap:nowrap;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .journal-hero-editorial .journal-topics::-webkit-scrollbar { display:none; }
  .journal-topic {
    flex:0 0 auto;
    min-height:42px;
    display:inline-flex;
    align-items:center;
    padding:0 13px;
  }

  .editorial-feature {
    margin:42px 0 66px;
    border-radius:20px;
  }
  .editorial-feature .journal-featured-copy {
    padding:26px 20px 28px;
  }
  .featured-topline { margin-bottom:22px; }
  .editorial-feature .journal-featured-copy h2 {
    font-size:34px;
    letter-spacing:-1.7px;
  }
  .editorial-feature .journal-featured-copy > p { font-size:14.5px; }
  .editorial-feature .journal-featured-media,
  .visual-feature { min-height:230px; }

  .authority-section { padding:52px 0; }
  .editorial-section-head { margin-bottom:26px; gap:14px; }
  .editorial-section-head h2 {
    font-size:36px;
    letter-spacing:-1.8px;
  }
  .editorial-section-head > p { font-size:13px; }

  .editorial-pillar-grid,
  .topic-library-grid,
  .editorial-journal-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
  .editorial-pillar-card {
    grid-template-columns:1fr;
    min-height:auto;
    border-radius:18px;
  }
  .pillar-visual { min-height:180px; }
  .visual-pillar { min-height:180px; }
  .pillar-card-copy { padding:20px; }
  .pillar-number { margin-bottom:14px; }
  .editorial-pillar-card h3 { font-size:23px; }

  .topic-library-card {
    min-height:auto;
    padding:22px 20px;
    border-radius:17px;
  }
  .topic-library-top { margin-bottom:24px; }
  .topic-library-card h3 { font-size:24px; }
  .topic-reading-list { margin-bottom:12px; }
  .topic-reading-list a {
    min-height:44px;
    align-items:center;
  }
  .topic-library-link {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }

  .editorial-journal-card { border-radius:17px; }
  .editorial-journal-card .journal-card-body { padding:18px 18px 20px; }
  .editorial-journal-card h3 { font-size:22px; }

  /* Journal article */
  .editorial-article-header {
    padding:42px 0 30px;
  }
  .editorial-article-header .article-breadcrumb {
    margin-bottom:26px;
    font-size:9px;
    line-height:1.5;
  }
  .article-head-copy .article-labels { margin-bottom:14px; }
  .article-head-copy h1 {
    font-size:clamp(38px,11.5vw,54px);
    line-height:1;
    letter-spacing:-2.25px;
    overflow-wrap:anywhere;
  }
  .article-head-copy .article-dek {
    font-size:17px;
    line-height:1.6;
  }
  .article-meta {
    gap:5px;
    font-size:9px;
    line-height:1.5;
  }
  .article-head-visual { display:none; }

  .article-toc-mobile {
    display:block;
    margin:0 0 28px;
    border-top:1px solid var(--ink);
    border-bottom:.5px solid var(--rule);
  }
  .article-toc-mobile summary {
    list-style:none;
    min-height:54px;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    cursor:pointer;
  }
  .article-toc-mobile summary::-webkit-details-marker { display:none; }
  .article-toc-mobile summary span {
    font-weight:600;
    font-size:13px;
  }
  .article-toc-mobile summary small {
    font-family:var(--M);
    font-size:8px;
    color:var(--ink3);
  }
  .article-toc-mobile summary b {
    color:var(--v);
    font-size:18px;
    font-weight:400;
    transition:transform .18s;
  }
  .article-toc-mobile[open] summary b { transform:rotate(45deg); }
  .article-toc-mobile ol {
    list-style:none;
    margin:0;
    padding:0 0 12px;
    max-height:52vh;
    overflow:auto;
    counter-reset:mobiletoc;
  }
  .article-toc-mobile li {
    counter-increment:mobiletoc;
    border-top:.5px solid var(--surface2);
  }
  .article-toc-mobile a {
    min-height:46px;
    padding:9px 0;
    display:grid;
    grid-template-columns:28px 1fr;
    align-items:center;
    gap:4px;
    font-size:12px;
    line-height:1.35;
    color:var(--ink2);
  }
  .article-toc-mobile a::before {
    content:counter(mobiletoc,decimal-leading-zero);
    font-family:var(--M);
    font-size:8px;
    color:var(--ink3);
  }

  .editorial-article-layout {
    grid-template-columns:1fr;
    gap:34px;
  }
  .editorial-article-aside {
    order:2;
    position:static;
    margin:10px 0 56px;
  }
  .editorial-article-aside .article-toc { display:none; }
  .editorial-tool-card { padding:20px; }
  .editorial-tool-card a {
    min-height:44px;
    align-items:center;
  }

  .editorial-article-content {
    font-size:16.5px;
    line-height:1.76;
  }
  .editorial-article-content > p:first-child {
    font-size:18px;
    line-height:1.68;
  }
  .editorial-article-content h2 {
    font-size:29px;
    letter-spacing:-1.05px;
    margin-top:52px;
    line-height:1.12;
  }
  .editorial-article-content h3 {
    font-size:22px;
    letter-spacing:-.55px;
    margin-top:34px;
  }
  .editorial-article-content p,
  .editorial-article-content ul,
  .editorial-article-content ol,
  .editorial-article-content blockquote,
  .editorial-article-content figure,
  .editorial-article-content pre,
  .editorial-article-content table {
    margin-bottom:22px;
  }
  .editorial-article-content ul,
  .editorial-article-content ol {
    padding-left:1.15em;
  }
  .editorial-article-content blockquote {
    margin:28px 0;
    padding:20px;
    border-radius:14px;
    font-size:17px;
  }
  .editorial-article-content pre {
    max-width:100%;
    overflow-x:auto;
    padding:14px;
    font-size:12px;
    -webkit-overflow-scrolling:touch;
  }
  .editorial-article-content table {
    display:block;
    max-width:100%;
    overflow-x:auto;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
    font-size:12px;
  }
  .editorial-article-content th,
  .editorial-article-content td {
    padding:11px 10px;
  }

  .article-series {
    margin-top:50px;
    padding:20px 16px;
    border-radius:16px;
  }
  .article-series-head {
    align-items:flex-start;
  }
  .article-content .article-series h2 {
    font-size:24px;
    margin-top:12px;
  }
  .article-series li {
    grid-template-columns:28px 1fr;
    padding:11px 0;
  }
  .article-series li a {
    min-height:40px;
    display:flex;
    align-items:center;
  }

  .editorial-related {
    padding:58px 0 72px;
  }
  .related-head {
    align-items:flex-start;
    flex-direction:column;
    gap:14px;
    margin-bottom:24px;
  }
  .related-head h2 {
    font-size:36px;
    letter-spacing:-1.6px;
  }
  .related-head > a {
    min-height:44px;
    display:inline-flex;
    align-items:center;
  }
  .related-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
  .related-card:last-child { display:block; }
  .related-visual { aspect-ratio:1.5/1; }
  .related-copy { padding:16px 16px 18px; }
  .related-copy h3 { font-size:18px; }

  /* Touch feedback: avoid desktop hover movement on touch devices */
  .journal-card:hover,
  .editorial-pillar-card:hover,
  .btn-primary:hover {
    transform:none;
  }

  /* Toasts stay inside phone viewport */
  .toasts {
    left:14px;
    right:14px;
    bottom:14px;
  }
  .toast { max-width:none; width:100%; }
}

/* INFO PAGES v1.6 */
.info-page-shell{width:min(920px,calc(100% - 48px));margin:0 auto;padding:86px 0 104px}
.info-page-head{padding-bottom:34px;border-bottom:.5px solid var(--rule);margin-bottom:42px}
.info-page-kicker{display:block;font-family:var(--M);font-size:9px;letter-spacing:.7px;color:var(--v);text-transform:uppercase;margin-bottom:16px}
.info-page-head h1{font-size:clamp(48px,7vw,78px);line-height:.98;letter-spacing:-3.6px}
.info-page-content{max-width:760px;font-size:17px;line-height:1.8;color:#333336}
.info-page-content p,.info-page-content ul,.info-page-content ol{margin:0 0 24px}
.info-page-content h2{margin:52px 0 16px;font-size:30px;line-height:1.14;letter-spacing:-1.15px;color:var(--ink)}
.info-page-content h3{margin:34px 0 12px;font-size:22px;color:var(--ink)}
.info-page-content ul,.info-page-content ol{padding-left:1.3em}
.info-page-content li{margin-bottom:8px}
.info-page-content a{color:var(--v);text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.info-page-shell{width:calc(100% - 28px);padding:58px 0 76px}.info-page-head{padding-bottom:26px;margin-bottom:30px}.info-page-head h1{font-size:clamp(42px,13vw,58px);letter-spacing:-2.4px}.info-page-content{font-size:16px;line-height:1.74}.info-page-content h2{margin-top:42px;font-size:27px}.info-page-content h3{font-size:21px}}
/* CONTACT FORM v1.6 */
.risf-contact-wrap{margin:34px 0 46px}
.risf-contact-form{display:grid;gap:20px;padding:26px;border:.5px solid var(--rule);border-radius:20px;background:var(--surface)}
.risf-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.risf-contact-form label{display:grid;gap:8px}
.risf-contact-form label>span{font-size:12px;font-weight:600;color:var(--ink)}
.risf-contact-form input,.risf-contact-form select,.risf-contact-form textarea{width:100%;min-height:48px;padding:12px 13px;border:1px solid var(--rule);border-radius:10px;background:#fff;color:var(--ink);font:inherit;font-size:15px;outline:none}
.risf-contact-form textarea{min-height:170px;resize:vertical}
.risf-contact-form input:focus,.risf-contact-form select:focus,.risf-contact-form textarea:focus{border-color:var(--v);box-shadow:0 0 0 3px var(--v-light)}
.risf-contact-submit{min-height:50px;border:0;border-radius:12px;background:#4c1d95;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
.risf-contact-submit:hover{background:#3b1577}
.risf-form-notice{margin-bottom:16px;padding:13px 15px;border-radius:10px;font-size:14px}
.risf-form-notice.success{background:var(--green-bg);color:#176b2d}
.risf-form-notice.error{background:var(--red-bg);color:#a32720}
@media(max-width:700px){.risf-form-grid{grid-template-columns:1fr}.risf-contact-form{padding:18px;border-radius:16px}}
/* TARGET SIZE + TOOL LANDINGS v1.7 */
.home-v14 .settings-primary{grid-template-columns:auto minmax(220px,1fr) 190px}
.target-group .sg-lbl small{font-size:7px;color:var(--ink3);font-weight:400;margin-left:4px}
.target-row{display:flex;align-items:center;gap:7px}
.target-kb{width:100%;min-height:38px;padding:7px 9px;background:#fff;border:1px solid var(--rule);border-radius:8px;font-family:var(--M);font-size:12px;color:var(--ink);outline:none}
.target-kb:focus{border-color:var(--v);box-shadow:0 0 0 3px var(--v-light)}
.target-row>span{font-family:var(--M);font-size:10px;color:var(--ink3)}
.target-help{display:block;margin-top:6px;font-family:var(--M);font-size:7.5px;line-height:1.4;color:var(--ink3)}
.quality-group.target-auto{opacity:.58}
.quality-group.target-auto .qval::after{content:' AUTO';font-size:7px;color:var(--v)}
.tool-landing-v17{background:#fff}
.tool-landing-hero{max-width:1180px;margin:0 auto;padding:72px 24px 82px}
.tool-landing-intro{max-width:820px;margin:0 auto 40px;text-align:center}
.tool-landing-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--M);font-size:10px;letter-spacing:.4px;color:var(--v);margin-bottom:18px;text-transform:uppercase}
.tool-landing-kicker::before{content:'';width:18px;height:1px;background:var(--v)}
.tool-landing-intro h1{font-size:clamp(48px,7vw,82px);line-height:.98;letter-spacing:-3.7px;margin-bottom:20px}
.tool-landing-intro p{max-width:700px;margin:0 auto;font-size:18px;line-height:1.68;color:var(--ink2)}
.tool-landing-trust{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px;font-family:var(--M);font-size:9px;color:var(--ink3)}
.tool-landing-trust i{width:3px;height:3px;border-radius:50%;background:var(--rule)}
.tool-landing-content{border-top:.5px solid var(--rule);background:linear-gradient(180deg,#faf9fc 0,#fff 220px)}
.tool-landing-copy{width:min(760px,calc(100% - 40px));margin:0 auto;padding:78px 0 104px;font-size:17px;line-height:1.8;color:#333336}
.tool-landing-copy>p:first-child{font-size:19px;line-height:1.72;color:var(--ink2)}
.tool-landing-copy p,.tool-landing-copy ul,.tool-landing-copy ol,.tool-landing-copy table{margin:0 0 24px}
.tool-landing-copy h2{font-size:32px;line-height:1.12;letter-spacing:-1.2px;margin:54px 0 16px;color:var(--ink)}
.tool-landing-copy h3{font-size:23px;line-height:1.2;letter-spacing:-.6px;margin:38px 0 12px;color:var(--ink)}
.tool-landing-copy ul,.tool-landing-copy ol{padding-left:1.3em}
.tool-landing-copy li{margin-bottom:8px}
.tool-landing-copy a{color:var(--v);text-decoration:underline;text-underline-offset:3px}
.tool-landing-copy code{font-family:var(--M);font-size:.88em;background:var(--surface);padding:2px 5px;border-radius:5px}
@media(max-width:900px){.home-v14 .settings-primary{grid-template-columns:1fr 1fr}.home-v14 .target-group{grid-column:1/-1}}
@media(max-width:700px){.home-v14 .settings-primary{grid-template-columns:1fr}.home-v14 .target-group{grid-column:auto}.target-kb{min-height:44px}.tool-landing-hero{padding:52px 12px 64px}.tool-landing-intro{margin-bottom:30px}.tool-landing-intro h1{font-size:clamp(42px,13vw,58px);letter-spacing:-2.5px}.tool-landing-intro p{font-size:15.5px;line-height:1.65}.tool-landing-trust{font-size:8.5px}.tool-landing-copy{width:calc(100% - 28px);padding:58px 0 78px;font-size:16px}.tool-landing-copy>p:first-child{font-size:17px}.tool-landing-copy h2{font-size:28px;margin-top:44px}.tool-landing-copy h3{font-size:21px}}

.popular-tools{max-width:1400px;margin:0 auto;padding:26px 40px;border-bottom:.5px solid var(--rule);display:grid;grid-template-columns:auto minmax(0,1fr);gap:20px;align-items:center}.popular-tools-label{font-family:var(--M);font-size:8px;letter-spacing:.7px;color:var(--ink3);white-space:nowrap}.popular-tools-links{display:flex;flex-wrap:nowrap;gap:7px;min-width:0}.popular-tools-links a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:.5px solid var(--rule);border-radius:999px;font-size:10.5px;color:var(--ink2);background:#fff;white-space:nowrap;flex:1 1 auto}.popular-tools-links a:hover{color:var(--v);border-color:var(--v-border);background:var(--v-light)}@media(max-width:1100px){.popular-tools{grid-template-columns:1fr;gap:10px}.popular-tools-links{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.popular-tools-links::-webkit-scrollbar{display:none}.popular-tools-links a{flex:0 0 auto}}@media(max-width:700px){.popular-tools{padding:22px 18px}.popular-tools-links a{min-height:44px}}
@media(max-width:420px){
  .nav { padding:0 10px; gap:7px; }
  .nav-logo { font-size:12.5px; }
  .nav-cta { padding:0 10px; font-size:10.5px; }

  .home-v14 .hero-product { padding-left:10px; padding-right:10px; }
  .home-v14 .hero-h { font-size:43px; }
  .home-v14 .hero-trust i { display:none; }
  .home-v14 .hero-trust { gap:7px 12px; }
  .home-v14 .tool-body,
  .home-v14 .tool-footer { padding-left:10px; padding-right:10px; }
  .batch-acts.show { flex-direction:column; }
  .btn-clr { width:100%; }

  .section,
  .section.full { padding-left:15px; padding-right:15px; }

  .compare-v14-row > * { font-size:10.5px; padding:11px 8px; }

  .journal-shell,
  .article-shell { width:calc(100% - 22px); }
  .journal-hero-editorial h1 { font-size:46px; }
  .editorial-feature .journal-featured-copy h2 { font-size:31px; }
  .article-head-copy h1 { font-size:38px; }
  .editorial-article-content { font-size:16px; }
}

