*{margin:0;padding:0;box-sizing:border-box}
:root{
  --ink:#0a0a0a;--paper:#fafaf8;--cream:#f2f0eb;--mist:#e8e5de;
  --slate:#8a8680;--fog:#c8c4bc;--accent:#1a1a1a;
  --green:#22c55e;--red:#ef4444;--blue:#3b82f6;
  --r:14px;--r-sm:8px;--r-lg:20px;
  font-family:'DM Sans',sans-serif;
}
body{background:var(--paper);color:var(--ink);min-height:100vh;overflow-x:hidden}

/* PAGE SYSTEM */
.page{display:none;min-height:100vh;flex-direction:column;overflow-x:hidden}
.page.active{display:flex}

/* ─────────── HEADER ─────────── */
header{
  background:rgba(250,250,248,0.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--mist);
  padding:0 48px;height:64px;
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:200;
}
.logo{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;letter-spacing:-0.5px;cursor:pointer;color:var(--ink);display:flex;align-items:center;gap:8px}
.logo img.logo-icon{width:28px;height:28px;object-fit:contain;flex-shrink:0}
.logo span{color:var(--slate)}
.nav-links{display:flex;gap:8px;list-style:none;align-items:center}
.nav-links a{color:var(--slate);text-decoration:none;font-size:14px;font-weight:500;padding:8px 14px;border-radius:var(--r-sm);transition:.2s;cursor:pointer}
.nav-links a:hover{color:var(--ink);background:var(--cream)}
.nav-cta{background:var(--ink)!important;color:var(--paper)!important;border-radius:var(--r-sm)!important}
.nav-cta:hover{background:#333!important;transform:translateY(-1px)}

/* ─────────── HOME PAGE ─────────── */
.hero{padding:100px 48px 60px;text-align:center;background:linear-gradient(180deg,var(--cream) 0%,var(--paper) 100%)}
.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;background:var(--mist);border-radius:50px;font-size:12px;font-weight:600;color:var(--slate);letter-spacing:.5px;text-transform:uppercase;margin-bottom:28px}
.hero-title{font-family:'Syne',sans-serif;font-size:clamp(40px,7vw,80px);font-weight:800;line-height:1.05;letter-spacing:-3px;color:var(--ink);margin-bottom:20px}
.hero-title em{font-style:normal;color:var(--slate)}
.hero-sub{font-size:18px;color:var(--slate);max-width:520px;margin:0 auto 40px;line-height:1.65;font-weight:400}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;border-radius:var(--r);font-size:15px;font-weight:600;cursor:pointer;border:none;font-family:'DM Sans',sans-serif;transition:all .25s}
.btn-dark{background:var(--ink);color:var(--paper)}
.btn-dark:hover{background:#222;transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.18)}
.btn-ghost{background:transparent;color:var(--ink);border:2px solid var(--mist)}
.btn-ghost:hover{border-color:var(--ink);background:var(--cream)}

/* Stats */
.stats-bar{display:flex;justify-content:center;gap:56px;padding:32px 48px;background:var(--cream);border-top:1px solid var(--mist);border-bottom:1px solid var(--mist);flex-wrap:wrap}
.stat-item{text-align:center}
.stat-num{font-family:'Syne',sans-serif;font-size:28px;font-weight:700;color:var(--ink)}
.stat-lbl{font-size:12px;color:var(--slate);font-weight:500;margin-top:2px;text-transform:uppercase;letter-spacing:.5px}

/* Tools Section */
.tools-section{padding:64px 48px 100px;max-width:1400px;margin:0 auto;width:100%}
.section-title{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--slate);letter-spacing:2px;text-transform:uppercase;margin-bottom:32px}
.search-wrap{position:relative;margin-bottom:40px;max-width:480px}
.search-input{width:100%;padding:13px 18px 13px 44px;background:var(--cream);border:2px solid var(--mist);border-radius:var(--r);font-size:15px;font-family:'DM Sans',sans-serif;color:var(--ink);transition:.2s}
.search-input:focus{outline:none;border-color:var(--ink);background:#fff}
.search-ico{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--fog);font-size:16px;pointer-events:none}
.cat-row{display:flex;gap:8px;margin-bottom:36px;flex-wrap:wrap}
.cat-btn{padding:8px 20px;border-radius:50px;font-size:13px;font-weight:600;border:2px solid var(--mist);background:transparent;color:var(--slate);cursor:pointer;transition:.2s;font-family:'DM Sans',sans-serif}
.cat-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--cream)}
.cat-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}

/* Mobile nav bar — shown above search on mobile only */
.mob-nav-bar{display:none;gap:6px;flex-wrap:wrap;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--mist)}
.mob-nav-btn{padding:8px 18px;border-radius:50px;font-size:13px;font-weight:600;border:2px solid var(--mist);background:transparent;color:var(--slate);cursor:pointer;transition:.2s;font-family:'DM Sans',sans-serif;white-space:nowrap}
.mob-nav-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--cream)}
.mob-nav-btn.mob-nav-cta{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.mob-nav-btn.mob-nav-cta:hover{background:#333}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.tool-card{
  background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);
  padding:28px 24px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;
}
.tool-card::before{content:'';position:absolute;inset:0;background:var(--ink);opacity:0;transition:.3s}
.tool-card:hover{border-color:var(--ink);transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.1)}
.tool-card:hover .tool-card-icon{background:var(--ink);color:#fff}
.tool-card:hover .tool-card-title{color:var(--ink)}
.tool-card:hover .tool-card-arr{opacity:1;transform:translate(0,0)}
.tool-card-icon{width:48px;height:48px;border-radius:var(--r-sm);background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:16px;transition:.3s}
.tool-card-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px}
.tool-card-desc{font-size:13px;color:var(--slate);line-height:1.55}
.tool-card-arr{position:absolute;top:20px;right:20px;font-size:18px;opacity:0;transform:translate(-4px,4px);transition:.3s;color:var(--ink)}

/* ─────────── TOOL PAGE ─────────── */
.tool-page-header{
  background:var(--cream);border-bottom:1px solid var(--mist);
  padding:28px 48px;
}
.back-btn{display:inline-flex;align-items:center;gap:8px;color:var(--slate);font-size:14px;font-weight:600;cursor:pointer;padding:8px 0;transition:.2s;border:none;background:none;font-family:'DM Sans',sans-serif}
.back-btn:hover{color:var(--ink)}
.tool-page-info{margin-top:16px;display:flex;align-items:center;gap:16px}
.tool-page-icon{width:52px;height:52px;border-radius:var(--r-sm);background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px}
.tool-page-title{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;letter-spacing:-1px;color:var(--ink)}
.tool-page-subtitle{font-size:14px;color:var(--slate);margin-top:3px}

.tool-workspace{flex:1;padding:48px;max-width:800px;margin:0 auto;width:100%}

/* Upload Zone */
.upload-zone{
  border:2.5px dashed var(--fog);border-radius:var(--r-lg);
  padding:44px 32px;text-align:center;cursor:pointer;
  background:var(--cream);transition:all .3s;position:relative;
}
.upload-zone.dragover{border-color:var(--ink);background:#f0eee9;transform:scale(1.01)}
.upload-zone:hover{border-color:var(--slate)}
.upload-zone:hover .upload-browse-btn{background:#222;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.18)}
.upload-zone input{display:none}
.upload-zone-icon{display:none}
.upload-browse-btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 28px;background:var(--ink);color:var(--paper);
  border-radius:var(--r);font-size:15px;font-weight:700;
  font-family:'Syne',sans-serif;border:none;cursor:pointer;
  margin-bottom:14px;transition:all .25s;letter-spacing:-.2px;
}
.upload-zone-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:var(--ink);margin-bottom:8px}
.upload-zone-sub{font-size:13px;color:var(--slate);font-weight:500}
.upload-zone-sub span{color:var(--ink);font-weight:600;text-decoration:underline}

/* File list */
.file-list{margin-top:24px;display:flex;flex-direction:column;gap:10px}
.file-item{
  background:#fff;border:1.5px solid var(--mist);border-radius:var(--r);
  padding:14px 18px;display:flex;align-items:center;gap:12px;
}
.file-item-icon{width:38px;height:38px;border-radius:8px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.file-item-info{flex:1;min-width:0}
.file-item-name{font-weight:600;font-size:14px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-item-size{font-size:12px;color:var(--slate);margin-top:2px}
.file-remove-btn{width:30px;height:30px;border-radius:6px;border:1.5px solid var(--mist);background:transparent;color:var(--slate);cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.2s;flex-shrink:0}
.file-remove-btn:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* Tool Options */
.tool-options{margin:24px 0;background:#fff;border:1.5px solid var(--mist);border-radius:var(--r);padding:24px}
.opt-label{font-size:13px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.opt-input{width:100%;padding:11px 16px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);margin-bottom:14px;transition:.2s}
.opt-input:focus{outline:none;border-color:var(--ink);background:#fff}
select.opt-input{cursor:pointer}
.opt-row{display:flex;gap:12px;flex-wrap:wrap}
.opt-row .opt-input{flex:1;min-width:140px;margin-bottom:0}

/* Process Button */
.process-btn{
  width:100%;padding:16px;border-radius:var(--r);
  background:var(--ink);color:var(--paper);
  font-size:16px;font-weight:700;font-family:'Syne',sans-serif;
  border:none;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;justify-content:center;gap:10px;
  margin-top:24px;
}
.process-btn:hover:not(:disabled){background:#222;transform:translateY(-2px);box-shadow:0 8px 28px rgba(0,0,0,.2)}
.process-btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* Status */
.status-box{
  margin-top:20px;padding:16px 20px;border-radius:var(--r);
  font-size:14px;font-weight:600;display:none;align-items:center;gap:10px;
}
.status-box.active{display:flex}
.status-box.loading{background:#f0f0ee;border:1.5px solid var(--mist);color:var(--slate)}
.status-box.success{background:#f0fdf4;border:1.5px solid #86efac;color:#16a34a}
.status-box.error{background:#fef2f2;border:1.5px solid #fca5a5;color:#dc2626}
.spinner{width:18px;height:18px;border:3px solid var(--fog);border-top:3px solid var(--ink);border-radius:50%;animation:spin 1s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}

/* Result Area */
.result-area{margin-top:20px;display:none}
.result-area.active{display:block}
.result-card{
  background:#fff;border:1.5px solid #86efac;border-radius:var(--r);
  padding:24px;display:flex;align-items:center;gap:16px;
}
.result-icon{font-size:32px}
.result-info{flex:1}
.result-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--ink)}
.result-sub{font-size:13px;color:var(--slate);margin-top:3px}
.download-btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 22px;border-radius:var(--r-sm);
  background:var(--ink);color:var(--paper);
  font-size:14px;font-weight:700;font-family:'Syne',sans-serif;
  border:none;cursor:pointer;transition:all .25s;white-space:nowrap;text-decoration:none;
}
.download-btn:hover{background:#333;transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,0,0,.2)}

/* ─────────── PAGE NUMBERS TOOL LAYOUT ─────────── */
.pn-layout{display:flex;gap:0;min-height:calc(100vh - 200px)}
.pn-canvas{flex:1;padding:20px 24px;background:var(--cream);overflow-y:auto;display:flex;flex-direction:column}
.pn-topbar{display:flex;align-items:center;gap:10px;margin-bottom:20px;flex-wrap:wrap}
.pn-file-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-sm);padding:7px 14px;font-size:13px;font-weight:600;color:var(--ink);max-width:300px;overflow:hidden}
.pn-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
.pn-delete-btn{width:36px;height:36px;border-radius:var(--r-sm);border:1.5px solid var(--mist);background:#fff;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:.15s}
.pn-delete-btn:hover{background:var(--red);color:#fff;border-color:var(--red)}
.pn-add-btn{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-size:20px;font-weight:700;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,0,0,.2);position:relative;transition:.15s;margin-left:auto}
.pn-add-btn:hover{background:#333;transform:scale(1.07)}
.pn-count-badge{position:absolute;top:-5px;left:-5px;width:18px;height:18px;border-radius:50%;background:var(--ink);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream)}
.pn-thumb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.pn-thumb-card{display:flex;flex-direction:column;align-items:center;gap:8px}
.pn-thumb-page{width:100%;aspect-ratio:0.707;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px}
.pn-thumb-dot{width:16px;height:16px;background:#ef4444;border-radius:50%;position:absolute;bottom:12px;left:50%;transform:translateX(-50%);z-index:2;box-shadow:0 2px 5px rgba(239,68,68,.5)}
.pn-thumb-label{font-size:11px;color:var(--slate);font-weight:600}
/* Panel */
.pn-panel{width:320px;flex-shrink:0;background:#fff;border-left:1px solid var(--mist);display:flex;flex-direction:column;position:sticky;top:64px;height:calc(100vh - 130px);overflow-y:auto}
.pn-panel-header{font-family:'Syne',sans-serif;font-size:17px;font-weight:800;padding:18px 20px 14px;border-bottom:1px solid var(--mist);text-align:center}
.pn-panel-body{flex:1;overflow-y:auto}
.pn-panel-footer{padding:16px 20px;border-top:1px solid var(--mist);flex-shrink:0}
.pn-action-btn{width:100%;padding:16px;border-radius:var(--r);background:#ef4444;color:#fff;font-size:15px;font-weight:700;font-family:'Syne',sans-serif;border:none;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:10px}
.pn-action-btn:hover{background:#dc2626;transform:translateY(-1px);box-shadow:0 6px 20px rgba(239,68,68,.35)}

/* ─────────── PAGE NUMBERS TOOL UI ─────────── */
.pn-options-panel{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r);overflow:hidden;margin-bottom:0}
.pn-section{padding:16px 20px;border-bottom:1px solid var(--mist)}
.pn-section:last-child{border-bottom:none}
.pn-section-title{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px}
.pn-mode-row{display:flex;gap:24px}
.pn-radio-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:var(--ink)}
.pn-radio-dot{width:18px;height:18px;border-radius:50%;border:2px solid var(--fog);flex-shrink:0;transition:.2s;position:relative}
.pn-radio-dot.active{border-color:var(--green);background:var(--green)}
.pn-radio-dot.active::after{content:'';position:absolute;inset:3px;border-radius:50%;background:#fff}
.pn-check-label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink);cursor:pointer}
.pn-check-label input{accent-color:var(--green);width:15px;height:15px;cursor:pointer}

/* Position grid - 3x3 clickable cells */
.pn-pos-grid{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,32px);gap:3px;background:var(--mist);border:1.5px solid var(--mist);border-radius:6px;padding:4px}
.pn-pos-cell{border-radius:3px;background:var(--cream);cursor:pointer;transition:.15s;border:1.5px solid transparent;position:relative}
.pn-pos-cell:hover{background:#e0ddd6;border-color:var(--slate)}
.pn-pos-cell.active{background:transparent;border-color:transparent}
.pn-pos-cell.active::after{content:'';position:absolute;inset:4px;background:#ef4444;border-radius:50%;box-shadow:0 1px 4px rgba(239,68,68,.6)}

/* Position preview diagram - small page showing where number lands */
.pn-pos-preview{
  width:68px;height:88px;border:1.5px solid var(--mist);border-radius:4px;
  background:#fff;position:relative;flex-shrink:0;
  display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);
}
.pn-pos-preview-dot{
  width:10px;height:10px;background:#ef4444;border-radius:50%;
  position:absolute;transition:all .25s cubic-bezier(.4,0,.2,1);
  box-shadow:0 1px 4px rgba(239,68,68,.5);
  transform:translate(-50%,-50%);
}
/* Dashed lines inside preview */
.pn-pos-preview::before{
  content:'';position:absolute;
  left:33.3%;right:33.3%;top:0;bottom:0;
  border-left:1px dashed rgba(0,0,0,.1);border-right:1px dashed rgba(0,0,0,.1);
}
.pn-pos-preview::after{
  content:'';position:absolute;
  top:33.3%;bottom:33.3%;left:0;right:0;
  border-top:1px dashed rgba(0,0,0,.1);border-bottom:1px dashed rgba(0,0,0,.1);
}

.pn-select{width:100%;padding:9px 12px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);cursor:pointer}
.pn-select:focus{outline:none;border-color:var(--ink)}
.pn-pages-row{display:flex;align-items:center;gap:12px}
.pn-field-group{display:flex;align-items:center;gap:10px}
.pn-field-label{font-size:13px;color:var(--slate);white-space:nowrap}
.pn-spin-wrap{display:flex;align-items:center;border:1.5px solid var(--mist);border-radius:var(--r-sm);overflow:hidden;background:#fff}
.pn-spin-input{width:52px;padding:7px 8px;border:none;outline:none;font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);background:transparent;text-align:center}
.pn-spin-btns{display:flex;flex-direction:column;border-left:1px solid var(--mist)}
.pn-spin-btns button{background:var(--cream);border:none;cursor:pointer;font-size:8px;padding:2px 6px;line-height:1.4;color:var(--slate);transition:.15s}
.pn-spin-btns button:hover{background:var(--mist);color:var(--ink)}
.pn-format-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.pn-font-select{padding:7px 10px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);cursor:pointer;max-width:130px}
.pn-font-select:focus{outline:none;border-color:var(--ink)}
.pn-size-wrap{display:flex;align-items:center;gap:6px}
.pn-size-range{width:80px;accent-color:var(--ink);cursor:pointer}
.pn-style-btns{display:flex;align-items:center;gap:4px}
.pn-style-btn{width:30px;height:30px;border:1.5px solid var(--mist);border-radius:5px;background:var(--cream);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;transition:.15s;font-family:inherit}
.pn-style-btn:hover{border-color:var(--ink);background:#fff}
.pn-style-btn.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.pn-color-wrap{display:flex;align-items:center;border:1.5px solid var(--mist);border-radius:5px;overflow:hidden;cursor:pointer;background:#fff}
.pn-color-input{width:0;height:0;padding:0;border:none;opacity:0;position:absolute}
.pn-color-swatch{width:22px;height:22px;margin:3px;border-radius:3px;cursor:pointer;flex-shrink:0;border:1px solid rgba(0,0,0,.1)}
.pn-color-arrow{font-size:10px;color:var(--slate);padding:0 6px;cursor:pointer}

/* Facing pages layout for thumbs */
.pn-thumb-grid.facing{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.pn-thumb-pair{display:flex;gap:0;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden}
.pn-thumb-pair-page{flex:1;aspect-ratio:0.707;position:relative;overflow:hidden}
.pn-thumb-pair-page canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.pn-thumb-pair-dot{width:14px;height:14px;background:#ef4444;border-radius:50%;position:absolute;z-index:2;box-shadow:0 1px 4px rgba(239,68,68,.5);transition:all .25s cubic-bezier(.4,0,.2,1)}

/* ─────────── SIGN PDF TOOL ─────────── */
/* Upload screen */
.sign-upload-wrap{max-width:700px;margin:0 auto;padding:48px}

/* Signature Setup Page */
.sign-setup-page{max-width:780px;margin:0 auto;padding:32px 48px 48px}
.sign-setup-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:var(--ink);margin-bottom:28px;padding-bottom:14px;border-bottom:1px solid var(--mist)}
.sign-identity-row{display:flex;gap:16px;margin-bottom:24px;align-items:flex-start}
.sign-avatar{width:48px;height:48px;border-radius:50%;border:2px solid var(--mist);display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--slate);flex-shrink:0;margin-top:20px;background:var(--cream)}
.sign-fields{display:flex;gap:12px;flex:1;flex-wrap:wrap}
.sign-field-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}
.sign-field-label{font-size:13px;font-weight:600;color:var(--ink)}
.sign-field-input{padding:10px 14px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:#fff;transition:.2s;outline:none}
.sign-field-input:focus{border-color:var(--blue);background:#f0f7ff}

/* Tabs */
.sign-tabs{display:flex;border-bottom:2px solid var(--mist);margin-bottom:0;gap:0}
.sign-tab{padding:12px 20px;font-size:14px;font-weight:600;color:var(--slate);cursor:pointer;border:none;background:none;font-family:'DM Sans',sans-serif;display:flex;align-items:center;gap:7px;border-bottom:2.5px solid transparent;margin-bottom:-2px;transition:.15s}
.sign-tab:hover{color:var(--ink)}
.sign-tab.active{color:#e53e3e;border-bottom-color:#e53e3e}
.sign-tab-icon{font-size:16px}

/* Left sidebar icons */
.sign-side-icons{display:flex;flex-direction:column;gap:4px;padding:8px 6px;border-right:1px solid var(--mist);background:var(--cream)}
.sign-side-icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;color:var(--slate);transition:.15s;border:1.5px solid transparent}
.sign-side-icon:hover,.sign-side-icon.active{background:#fff;border-color:var(--mist);color:var(--ink)}

/* Tab content */
.sign-tab-content{display:none}
.sign-tab-content.active{display:flex}
.sign-tab-panel{flex:1;border:1.5px solid var(--mist);border-top:none;border-radius:0 0 var(--r) var(--r);background:#fff;overflow:hidden;display:flex}

/* Typed signature styles panel */
.sign-typed-list{flex:1;overflow-y:auto;max-height:220px}
.sign-typed-row{display:flex;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--mist);cursor:pointer;transition:.15s}
.sign-typed-row:hover{background:var(--cream)}
.sign-typed-row:last-child{border-bottom:none}
.sign-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--fog);flex-shrink:0;position:relative;transition:.15s}
.sign-radio.selected{border-color:var(--green);background:var(--green)}
.sign-radio.selected::after{content:'';position:absolute;inset:3px;border-radius:50%;background:#fff}
.sign-typed-preview{font-size:22px;flex:1;color:var(--ink)}
.sign-font-0{font-family:'Dancing Script',cursive;font-style:italic}
.sign-font-1{font-family:'Pacifico',cursive}
.sign-font-2{font-family:'DM Sans',sans-serif;font-weight:700;font-size:20px}
.sign-font-3{font-family:'Caveat',cursive;font-style:italic}
.sign-color-bar{padding:12px 18px;border-top:1px solid var(--mist);display:flex;align-items:center;gap:10px;font-size:13px;color:var(--slate);font-weight:600}
.sign-color-dot{width:20px;height:20px;border-radius:50%;cursor:pointer;transition:.15s;border:2.5px solid transparent}
.sign-color-dot:hover{transform:scale(1.15)}
.sign-color-dot.active{border-color:var(--ink);transform:scale(1.1)}

/* Draw canvas */
.sign-draw-area{flex:1;display:flex;flex-direction:column;padding:16px}
.sign-canvas-wrap{flex:1;background:#f7f7f5;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;position:relative;min-height:160px}
.sign-canvas{width:100%;height:160px;cursor:crosshair;touch-action:none;display:block}
.sign-canvas-hint{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:14px;color:var(--fog);pointer-events:none;white-space:nowrap}
.sign-draw-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px}

/* Upload signature */
.sign-upload-area{flex:1;display:flex;gap:16px;padding:20px;align-items:stretch}
.sign-upload-dropzone{flex:1;border:2px dashed var(--fog);border-radius:var(--r);background:#f9f9f7;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;transition:.2s;padding:20px;text-align:center}
.sign-upload-dropzone:hover{border-color:var(--slate);background:var(--cream)}
.sign-upload-dropzone.has-image{border-style:solid;border-color:var(--green)}
.sign-upload-btn{display:inline-block;padding:8px 18px;border:2px solid #e53e3e;border-radius:50px;color:#e53e3e;font-size:13px;font-weight:600;cursor:pointer;background:#fff;transition:.15s;font-family:'DM Sans',sans-serif}
.sign-upload-btn:hover{background:#e53e3e;color:#fff}
.sign-upload-hint{font-size:12px;color:var(--slate)}
.sign-upload-preview{width:200px;flex-shrink:0;border:1.5px solid var(--mist);border-radius:var(--r);background:#f9f9f7;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.sign-upload-preview img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.sign-upload-preview .sign-del-btn{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.9);border:1px solid var(--mist);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s}
.sign-upload-preview .sign-del-btn:hover{background:var(--red);color:#fff}

/* Apply button */
.sign-apply-row{display:flex;justify-content:flex-end;margin-top:28px}
.sign-apply-btn{padding:14px 36px;border-radius:var(--r-sm);background:#e53e3e;color:#fff;font-size:15px;font-weight:700;font-family:'Syne',sans-serif;border:none;cursor:pointer;transition:all .25s}
.sign-apply-btn:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 6px 18px rgba(229,62,62,.35)}

/* ── Signing Workspace ── */
.sign-workspace{display:flex;gap:0;min-height:calc(100vh - 130px)}
.sign-ws-left{width:160px;flex-shrink:0;background:var(--cream);border-right:1px solid var(--mist);overflow-y:auto;padding:12px 8px;display:flex;flex-direction:column;gap:8px}
.sign-page-thumb{border-radius:var(--r-sm);border:2px solid var(--mist);overflow:hidden;cursor:pointer;transition:.15s;background:#fff}
.sign-page-thumb.active{border-color:#e53e3e;box-shadow:0 0 0 2px rgba(229,62,62,.2)}
.sign-page-thumb canvas{width:100%;display:block}
.sign-page-num{text-align:center;font-size:10px;font-weight:700;color:var(--slate);padding:3px 0}
.sign-ws-main{flex:1;overflow-y:auto;background:#888;display:flex;flex-direction:column;align-items:center;padding:24px;gap:16px;position:relative}
.sign-ws-topbar{width:100%;background:rgba(255,255,255,.95);border-radius:var(--r-sm);padding:8px 16px;display:flex;align-items:center;gap:12px;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.sign-ws-topbar select{padding:6px 10px;border:1.5px solid var(--mist);border-radius:6px;font-size:13px;font-family:'DM Sans',sans-serif;cursor:pointer}
.sign-ws-topbar .sign-page-nav{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600}
.sign-ws-topbar button{width:28px;height:28px;border-radius:5px;border:1.5px solid var(--mist);background:#fff;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center}
.sign-ws-topbar button:hover{background:var(--cream)}
.sign-pdf-page-wrap{position:relative;background:#fff;box-shadow:0 4px 24px rgba(0,0,0,.25);border-radius:2px}
.sign-pdf-canvas{display:block}
.sign-overlay{position:absolute;inset:0;pointer-events:none}
.sign-draggable{position:absolute;cursor:grab;user-select:none;display:flex;flex-direction:column;align-items:center;pointer-events:all}
.sign-draggable:active{cursor:grabbing}
.sign-draggable-inner{border:2px dashed rgba(229,62,62,.5);border-radius:4px;padding:4px 8px;background:rgba(255,255,255,.85);position:relative}
.sign-draggable-inner:hover{border-color:#e53e3e}
.sign-drag-handle{font-size:10px;color:var(--slate);text-align:center;margin-bottom:2px;cursor:grab}
.sign-drag-del{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:#e53e3e;color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:.15s}
.sign-draggable-inner:hover .sign-drag-del{opacity:1}
/* Right panel */
.sign-ws-right{width:340px;flex-shrink:0;background:#fff;border-left:1px solid var(--mist);display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 130px);overflow-y:auto}
.sign-ws-panel-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;padding:18px 20px;border-bottom:1px solid var(--mist)}
.sign-ws-section{padding:16px 20px;border-bottom:1px solid var(--mist)}
.sign-ws-section-label{font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px}
.sign-type-cards{display:flex;gap:10px;margin-bottom:0}
.sign-type-card{flex:1;border:2px solid var(--mist);border-radius:var(--r-sm);padding:14px 10px;cursor:pointer;text-align:center;transition:.15s}
.sign-type-card.active{border-color:#e53e3e;background:#fff5f5}
.sign-type-card-icon{font-size:24px;margin-bottom:6px}
.sign-type-card-label{font-size:12px;font-weight:600;color:var(--ink)}
.sign-type-card-sub{font-size:10px;color:var(--slate);margin-top:2px}
.sign-field-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--mist);border-radius:var(--r-sm);margin-bottom:8px;cursor:grab;background:#fff;transition:.15s}
.sign-field-item:hover{border-color:var(--ink);background:var(--cream)}
.sign-field-item-icon{width:32px;height:32px;border-radius:6px;background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.sign-field-item-info{flex:1}
.sign-field-item-name{font-size:13px;font-weight:600;color:var(--ink)}
.sign-field-item-preview{font-size:11px;color:var(--slate);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
.sign-field-badge{font-size:10px;padding:2px 7px;border-radius:50px;font-weight:700}
.sign-field-badge.required{background:#fef2f2;color:#e53e3e}
.sign-field-badge.optional{background:#f0f9ff;color:#3b82f6}
.sign-ws-sign-btn{margin:16px 20px;padding:16px;border-radius:var(--r);background:#e53e3e;color:#fff;font-size:15px;font-weight:700;font-family:'Syne',sans-serif;border:none;cursor:pointer;transition:all .25s;width:calc(100% - 40px);display:flex;align-items:center;justify-content:center;gap:8px}
.sign-ws-sign-btn:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 6px 18px rgba(229,62,62,.3)}
.sign-ws-sign-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

/* Page range input helper */
.hint{font-size:12px;color:var(--slate);margin-top:-10px;margin-bottom:14px}

/* Text output area */
.text-output{
  width:100%;min-height:200px;padding:16px;
  border:1.5px solid var(--mist);border-radius:var(--r);
  font-size:14px;font-family:'DM Sans',sans-serif;
  color:var(--ink);background:var(--cream);resize:vertical;
  margin-top:16px;line-height:1.6;
}

/* Thumbnail preview */
.pages-preview{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.page-thumb{
  width:90px;height:120px;border:1.5px solid var(--mist);border-radius:var(--r-sm);
  background:var(--cream);display:flex;flex-direction:column;align-items:center;
  justify-content:center;cursor:pointer;transition:.2s;position:relative;overflow:hidden;
}
.page-thumb:hover{border-color:var(--ink)}
.page-thumb.selected{border-color:var(--ink);border-width:2.5px;box-shadow:0 0 0 3px rgba(10,10,10,.08)}
.page-thumb canvas{width:100%;height:100%;object-fit:contain}
.page-num{font-size:10px;font-weight:700;color:var(--slate);position:absolute;bottom:5px}

/* ─────────── IMG-TO-PDF ENHANCED UI ─────────── */
.i2p-layout{display:flex;gap:0;min-height:calc(100vh - 200px)}
.i2p-layout *{box-sizing:border-box}

/* Left image grid */
.i2p-canvas{
  flex:1;padding:24px;background:var(--cream);overflow-y:auto;
  position:relative;
}
.i2p-topbar{
  display:flex;align-items:center;justify-content:flex-end;
  gap:10px;margin-bottom:16px;
}
.i2p-add-btn{
  width:44px;height:44px;border-radius:50%;
  background:var(--ink);color:#fff;font-size:22px;font-weight:700;
  border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 12px rgba(0,0,0,.2);transition:.2s;position:relative;
}
.i2p-add-btn:hover{background:#333;transform:scale(1.07)}
.i2p-count-badge{
  position:absolute;top:-6px;left:-6px;
  width:20px;height:20px;border-radius:50%;
  background:var(--ink);color:#fff;font-size:10px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--cream);
}
.i2p-sort-btn{
  width:38px;height:38px;border-radius:var(--r-sm);
  background:#fff;border:1.5px solid var(--mist);
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:16px;transition:.2s;
}
.i2p-sort-btn:hover{border-color:var(--ink);background:var(--cream)}

/* Image card grid */
.i2p-grid{
  display:flex;
  flex-wrap:wrap;
  gap:20px 24px;
  align-items:flex-start;
}
.i2p-img-card{
  background:transparent;cursor:grab;
  transition:all .2s;position:relative;
  user-select:none;display:flex;flex-direction:column;align-items:center;
  padding:12px 12px 0;
}
.i2p-img-card:active{cursor:grabbing}
.i2p-img-card.dragging{opacity:.35;transform:scale(0.96)}
.i2p-img-card.drag-over{outline:2px dashed var(--ink);border-radius:var(--r);transform:scale(1.03)}
/* The "page" rectangle that shows orientation+margin visually */
.i2p-page-shell{
  background:#fff;
  border-radius:3px;
  box-shadow:0 2px 10px rgba(0,0,0,.12),0 0 0 1px rgba(0,0,0,.06);
  position:relative;overflow:hidden;
  transition:all .35s cubic-bezier(.4,0,.2,1);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
/* Margin indicator — inset box inside page */
.i2p-page-margin{
  position:absolute;
  border:1.5px dashed rgba(180,180,200,.5);
  border-radius:2px;
  pointer-events:none;
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
/* Image inside the margin area */
.i2p-page-image{
  position:absolute;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
.i2p-page-image img{
  width:100%;height:100%;object-fit:contain;display:block;
  transition:transform .35s;
}
.i2p-img-preview{display:none}/* hide old, replaced by page-shell */
.i2p-img-footer{
  padding:7px 10px;border-top:1px solid var(--mist);
  font-size:11px;color:var(--slate);font-weight:500;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
/* Hover overlay: rotate + delete */
.i2p-img-overlay{
  position:absolute;top:6px;right:6px;
  display:flex;gap:4px;opacity:0;transition:.15s;
}
.i2p-img-card:hover .i2p-img-overlay{opacity:1}
.i2p-overlay-btn{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.9);border:1px solid var(--mist);
  cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;
  transition:.15s;
}
.i2p-overlay-btn.del:hover{background:var(--red);color:#fff;border-color:var(--red)}
.i2p-overlay-btn.rot:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* Right panel */
.i2p-panel{
  width:280px;flex-shrink:0;
  background:#fff;border-left:1px solid var(--mist);
  display:flex;flex-direction:column;
  position:sticky;top:64px;height:calc(100vh - 130px);overflow-y:auto;
}
.i2p-panel-title{
  font-family:'Syne',sans-serif;font-size:18px;font-weight:800;
  text-align:center;padding:18px 20px 14px;
  border-bottom:1px solid var(--mist);
}
.i2p-panel-body{padding:20px;flex:1;overflow-y:auto}
.i2p-opt-label{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:10px;margin-top:16px}
.i2p-opt-label:first-child{margin-top:0}

/* Orientation toggle */
.i2p-orient-row{display:flex;gap:10px}
.i2p-orient-btn{
  flex:1;padding:14px 8px;border-radius:var(--r-sm);
  border:2px solid var(--mist);background:var(--cream);
  cursor:pointer;text-align:center;transition:.15s;
  font-size:12px;font-weight:600;color:var(--slate);
  font-family:'DM Sans',sans-serif;
}
.i2p-orient-btn.active{border-color:var(--ink);background:#fff;color:var(--ink)}
/* i2p-orient-icon now handled per-element as SVG */

/* Page size select */
.i2p-select{
  width:100%;padding:10px 12px;
  border:1.5px solid var(--mist);border-radius:var(--r-sm);
  font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);
  background:var(--cream);cursor:pointer;
}
.i2p-select:focus{outline:none;border-color:var(--ink)}

/* Margin options */
.i2p-margin-row{display:flex;gap:8px}
.i2p-margin-btn{
  flex:1;padding:10px 4px;border-radius:var(--r-sm);
  border:2px solid var(--mist);background:var(--cream);
  cursor:pointer;text-align:center;transition:.15s;
  font-size:11px;font-weight:600;color:var(--slate);
  font-family:'DM Sans',sans-serif;
}
.i2p-margin-btn.active{border-color:var(--ink);background:#fff;color:var(--ink)}
.i2p-margin-icon{
  width:36px;height:36px;border-radius:3px;margin:0 auto 6px;
  border:2px solid currentColor;position:relative;flex-shrink:0;
  background:var(--cream);
}
.i2p-margin-none{border-width:1.5px}
.i2p-margin-none::after{content:'';position:absolute;inset:0;background:var(--ink);opacity:.12;border-radius:1px}
.i2p-margin-small::after{content:'';position:absolute;inset:5px;border:1.5px solid currentColor;border-radius:1px;opacity:.5}
.i2p-margin-big::after{content:'';position:absolute;inset:10px;border:1.5px solid currentColor;border-radius:1px;opacity:.5}
/* Select wrapper */
.i2p-select-wrap{position:relative}
.i2p-select-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--slate);font-size:12px}
/* Orient icon as SVG */
.i2p-orient-icon{width:28px;height:28px;margin:0 auto 6px;display:block}

/* Merge checkbox */
.i2p-check-row{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--ink);cursor:pointer;margin-top:4px;
}
.i2p-check-row input[type=checkbox]{
  width:16px;height:16px;cursor:pointer;accent-color:var(--green);
}

/* Convert button */
.i2p-convert-btn{
  width:calc(100% - 40px);margin:auto 20px 20px;
  padding:15px;border-radius:var(--r);
  background:var(--ink);color:#fff;
  font-size:15px;font-weight:700;font-family:'Syne',sans-serif;
  border:none;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;
}
.i2p-convert-btn:hover{background:#222;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.i2p-convert-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}

/* ─────────── ROTATE ENHANCED UI ─────────── */
.rotate-workspace{width:100%;max-width:100%}
.rotate-toolbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;background:#fff;border:1.5px solid var(--mist);
  border-radius:var(--r);margin-bottom:20px;flex-wrap:wrap;gap:12px;
}
.rotate-toolbar-label{font-size:13px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px}
.rotate-all-btns{display:flex;gap:8px;align-items:center}
.rotate-all-btn{
  display:flex;align-items:center;gap:6px;
  padding:8px 16px;border-radius:var(--r-sm);
  border:1.5px solid var(--mist);background:var(--cream);
  color:var(--ink);font-size:13px;font-weight:600;
  cursor:pointer;transition:.15s;font-family:'DM Sans',sans-serif;
}
.rotate-all-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.rotate-pages-grid{
  display:flex;flex-wrap:wrap;gap:16px;
}
.rotate-page-card{
  width:150px;position:relative;cursor:pointer;
  border-radius:var(--r);border:2px solid var(--mist);
  background:#fff;transition:border-color .2s;
  user-select:none;
}
.rotate-page-card:hover{border-color:var(--slate)}
.rotate-page-card.rotated{border-color:var(--ink)}
.rotate-thumb-wrap{
  width:100%;height:190px;
  background:var(--cream);
  border-radius:calc(var(--r) - 2px) calc(var(--r) - 2px) 0 0;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
  position:relative;
}
.rotate-thumb-wrap img,.rotate-thumb-wrap canvas{
  width:100%;height:100%;object-fit:contain;display:block;
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  transform-origin:center center;
}
.rotate-page-overlay{
  position:absolute;inset:0;
  background:rgba(10,10,10,0);
  display:flex;align-items:center;justify-content:center;
  gap:10px;opacity:0;transition:.2s;
  border-radius:calc(var(--r) - 2px) calc(var(--r) - 2px) 0 0;
}
.rotate-page-card:hover .rotate-page-overlay{
  opacity:1;background:rgba(10,10,10,.35);
}
.rotate-btn{
  width:38px;height:38px;border-radius:50%;
  background:rgba(255,255,255,.92);border:none;
  font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:.15s;flex-shrink:0;
}
.rotate-btn:hover{background:#fff;transform:scale(1.1)}
.rotate-page-footer{
  padding:8px 10px;border-top:1px solid var(--mist);
  display:flex;align-items:center;justify-content:space-between;
}
.rotate-page-num{font-size:12px;font-weight:700;color:var(--slate)}
.rotate-page-deg{font-size:11px;font-weight:600;color:var(--green);min-width:28px;text-align:right}



/* ─────────── SPLIT ENHANCED UI ─────────── */
.split-layout{display:flex;gap:0;min-height:calc(100vh - 200px);position:relative}

/* Left: page canvas area */
.split-canvas{
  flex:1;padding:32px 24px;overflow-y:auto;
  background:var(--cream);
}
.split-pages-grid{
  display:flex;flex-wrap:wrap;gap:16px;
  align-content:flex-start;
}

/* Page thumb card */
.split-page-card{
  width:160px;cursor:pointer;position:relative;
  border-radius:var(--r);border:2.5px solid var(--mist);
  background:#fff;transition:all .2s;
  user-select:none;
}
.split-page-card.selected{border-color:var(--green);}
.split-page-card.selected .split-page-check{opacity:1}
.split-page-preview{
  width:100%;height:200px;
  background:var(--cream);
  border-radius:calc(var(--r) - 2px) calc(var(--r) - 2px) 0 0;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
}
.split-page-preview canvas{max-width:100%;max-height:100%;display:block}
.split-page-footer{
  padding:7px 10px;border-top:1px solid var(--mist);
  font-size:12px;font-weight:600;color:var(--slate);text-align:center;
}
.split-page-check{
  position:absolute;top:7px;left:7px;
  width:22px;height:22px;border-radius:50%;
  background:var(--green);color:#fff;
  font-size:13px;display:flex;align-items:center;justify-content:center;
  opacity:0;transition:.15s;
  box-shadow:0 2px 6px rgba(34,197,94,.4);
}

/* Range group box */
.split-range-group{
  border:2px dashed var(--fog);border-radius:var(--r);
  padding:14px;margin-bottom:20px;position:relative;
}
.split-range-label{
  font-size:12px;font-weight:700;color:var(--slate);
  text-align:center;margin-bottom:12px;letter-spacing:.3px;
}
.split-range-pages{display:flex;flex-wrap:wrap;gap:10px;}

/* Right: options panel */
.split-panel{
  width:300px;flex-shrink:0;
  background:#fff;border-left:1px solid var(--mist);
  display:flex;flex-direction:column;
  position:sticky;top:64px;height:calc(100vh - 130px);
  overflow-y:auto;
}
.split-panel-title{
  font-family:'Syne',sans-serif;font-size:20px;font-weight:800;
  text-align:center;padding:20px 24px 14px;
  border-bottom:1px solid var(--mist);
}

/* Tab bar */
.split-tabs{
  display:flex;border-bottom:1px solid var(--mist);
  padding:0 12px;gap:4px;
}
.split-tab{
  flex:1;padding:12px 4px;font-size:12px;font-weight:600;
  text-align:center;cursor:pointer;border:none;background:none;
  font-family:'DM Sans',sans-serif;color:var(--slate);
  border-bottom:2.5px solid transparent;transition:.2s;
  display:flex;flex-direction:column;align-items:center;gap:4px;
}
.split-tab.active{color:var(--ink);border-bottom-color:var(--ink)}
.split-tab-icon{font-size:18px}
.split-tab-check{
  display:none;width:16px;height:16px;border-radius:50%;
  background:var(--green);color:#fff;font-size:9px;
  align-items:center;justify-content:center;
  position:absolute;top:8px;
}
.split-tab.active .split-tab-check{display:flex}

/* Panel body */
.split-panel-body{padding:20px 20px;flex:1;overflow-y:auto}
.split-option-group{margin-bottom:18px}
.split-option-label{
  font-size:12px;font-weight:700;color:var(--ink);
  margin-bottom:10px;
}

/* Mode toggle buttons */
.split-mode-btns{display:flex;border:2px solid var(--mist);border-radius:var(--r-sm);overflow:hidden}
.split-mode-btn{
  flex:1;padding:9px 6px;font-size:13px;font-weight:600;
  border:none;background:transparent;cursor:pointer;
  font-family:'DM Sans',sans-serif;color:var(--slate);transition:.15s;
}
.split-mode-btn.active{
  background:var(--ink);color:#fff;
}

/* Info box */
.split-info-box{
  background:#eff6ff;border:1px solid #bfdbfe;
  border-radius:var(--r-sm);padding:10px 12px;
  font-size:12px;color:#1d4ed8;line-height:1.5;
  margin-top:14px;
  display:flex;gap:8px;align-items:flex-start;
}

/* Number input */
.split-num-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.split-num-label{font-size:13px;color:var(--slate);white-space:nowrap}
.split-num-input{
  width:80px;padding:8px 10px;
  border:1.5px solid var(--mist);border-radius:var(--r-sm);
  font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);
  text-align:center;background:var(--cream);
}
.split-num-input:focus{outline:none;border-color:var(--ink);background:#fff}

/* Unit toggle */
.split-unit-btns{display:flex;border:1.5px solid var(--mist);border-radius:var(--r-sm);overflow:hidden}
.split-unit-btn{
  padding:7px 12px;font-size:12px;font-weight:700;
  border:none;background:transparent;cursor:pointer;
  font-family:'DM Sans',sans-serif;color:var(--slate);
}
.split-unit-btn.active{background:var(--ink);color:#fff}

/* Range inputs */
.split-range-inputs{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.split-range-input{
  width:70px;padding:7px 10px;text-align:center;
  border:1.5px solid var(--mist);border-radius:var(--r-sm);
  font-size:13px;font-family:'DM Sans',sans-serif;color:var(--ink);
  background:var(--cream);
}
.split-range-input:focus{outline:none;border-color:var(--ink);background:#fff}

/* Add range btn */
.split-add-range-btn{
  display:flex;align-items:center;gap:6px;
  padding:8px 14px;border-radius:var(--r-sm);
  border:1.5px solid var(--ink);background:transparent;
  color:var(--ink);font-size:13px;font-weight:700;
  cursor:pointer;transition:.15s;font-family:'DM Sans',sans-serif;
  width:100%;justify-content:center;margin-top:10px;
}
.split-add-range-btn:hover{background:var(--ink);color:#fff}

/* Pages text input */
.split-pages-input{
  width:100%;padding:10px 12px;
  border:1.5px solid var(--mist);border-radius:var(--r-sm);
  font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);
  background:var(--cream);
}
.split-pages-input:focus{outline:none;border-color:var(--ink);background:#fff}

/* Checkbox */
.split-check-row{
  display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--ink);cursor:pointer;margin-top:10px;
}
.split-check-row input[type=checkbox]{
  width:16px;height:16px;cursor:pointer;accent-color:var(--green);
}

/* Split action button */
.split-action-btn{
  width:calc(100% - 40px);margin:auto 20px 20px;
  padding:16px;border-radius:var(--r);
  background:var(--ink);color:#fff;
  font-size:15px;font-weight:700;font-family:'Syne',sans-serif;
  border:none;cursor:pointer;transition:all .25s;
  display:flex;align-items:center;justify-content:center;gap:8px;
  flex-shrink:0;
}
.split-action-btn:hover:not(:disabled){background:#222;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.split-action-btn:disabled{opacity:.4;cursor:not-allowed}

/* Range row */
.split-range-row{
  display:flex;align-items:center;gap:8px;
  padding:8px 10px;background:var(--cream);
  border-radius:var(--r-sm);margin-bottom:8px;
  border:1px solid var(--mist);
}
.split-range-row-num{
  font-size:11px;font-weight:700;color:var(--slate);
  width:52px;flex-shrink:0;
}
.split-range-del{
  width:24px;height:24px;border-radius:4px;
  border:1px solid var(--mist);background:transparent;
  color:var(--slate);cursor:pointer;font-size:14px;
  display:flex;align-items:center;justify-content:center;transition:.15s;
  flex-shrink:0;
}
.split-range-del:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* ─────────── MERGE ENHANCED UI ─────────── */
.merge-workspace{width:100%;max-width:860px;margin:0 auto}

/* Thumbnails grid */
.merge-thumbs-grid{
  display:flex;flex-wrap:wrap;gap:16px;
  margin-top:24px;min-height:40px;
  padding:4px 2px;
}

.merge-file-card{
  width:140px;position:relative;cursor:grab;
  border-radius:var(--r);border:2px solid var(--mist);
  background:#fff;transition:all .2s;
  user-select:none;
}
.merge-file-card:active{cursor:grabbing}
.merge-file-card.dragging{opacity:.4;border-color:var(--ink);transform:scale(0.97)}
.merge-file-card.drag-over{border-color:var(--ink);border-style:dashed;box-shadow:0 0 0 3px rgba(10,10,10,.1);transform:scale(1.03)}

.merge-thumb-preview{
  width:100%;height:168px;background:var(--cream);
  border-radius:calc(var(--r) - 2px) calc(var(--r) - 2px) 0 0;
  overflow:hidden;display:flex;align-items:center;justify-content:center;
  position:relative;
}
.merge-thumb-preview canvas{
  max-width:100%;max-height:100%;object-fit:contain;display:block;
}
.merge-thumb-placeholder{
  font-size:36px;opacity:.35;
}
.merge-thumb-order{
  position:absolute;top:8px;left:8px;
  width:22px;height:22px;border-radius:50%;
  background:var(--ink);color:#fff;
  font-size:11px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
}
.merge-file-info{
  padding:8px 10px;border-top:1px solid var(--mist);
}
.merge-file-name{
  font-size:11px;font-weight:600;color:var(--ink);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.merge-file-size{
  font-size:10px;color:var(--slate);margin-top:1px;
}
.merge-file-remove{
  position:absolute;top:6px;right:6px;
  width:22px;height:22px;border-radius:50%;
  background:rgba(255,255,255,.85);backdrop-filter:blur(4px);
  border:1px solid var(--mist);color:var(--slate);
  cursor:pointer;font-size:14px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:.15s;opacity:0;
}
.merge-file-card:hover .merge-file-remove{opacity:1}
.merge-file-remove:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* Add more card (+) */
.merge-add-card{
  width:140px;height:216px;
  border-radius:var(--r);border:2px dashed var(--fog);
  background:transparent;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:8px;transition:all .2s;
  color:var(--slate);
}
.merge-add-card:hover{border-color:var(--ink);color:var(--ink);background:var(--cream)}
.merge-add-icon{
  width:40px;height:40px;border-radius:50%;
  background:var(--cream);display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:700;transition:.2s;
}
.merge-add-card:hover .merge-add-icon{background:var(--ink);color:#fff}
.merge-add-label{font-size:12px;font-weight:600}

/* Drag hint banner */
.merge-drag-hint{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:var(--slate);
  padding:8px 12px;border-radius:var(--r-sm);
  background:var(--cream);margin-top:16px;
}

/* Footer */
footer{background:#ffffff;border-top:1px solid var(--mist);margin-top:auto;color:var(--ink)}
.footer-main{display:grid;grid-template-columns:1fr auto;gap:48px;padding:48px 64px 36px;align-items:start;max-width:1400px;margin:0 auto;width:100%}
.footer-brand{}
.footer-brand-logo{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-0.5px;margin-bottom:10px}
.footer-brand-logo span{color:var(--slate)}
.footer-brand-tagline{font-size:13px;color:var(--slate);line-height:1.6;max-width:240px}
.footer-privacy-note{font-size:12px;color:var(--slate);margin-top:12px;display:flex;align-items:center;gap:6px}
.footer-links-grid{display:flex;gap:56px}
.footer-col{}
.footer-col-title{font-family:'Syne',sans-serif;font-size:11px;font-weight:700;color:var(--slate);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:16px}
.footer-col a{display:block;font-size:13px;color:var(--slate);text-decoration:none;margin-bottom:10px;cursor:pointer;transition:.2s;font-weight:500}
.footer-col a:hover{color:var(--ink)}
.footer-bottom{border-top:1px solid var(--mist);padding:18px 64px;display:flex;align-items:center;justify-content:space-between;max-width:1400px;margin:0 auto;width:100%}
.footer-copyright{font-size:12px;color:var(--slate)}
.footer-bottom-links{display:flex;gap:24px}
.footer-bottom-links a{font-size:12px;color:var(--slate);text-decoration:none;cursor:pointer;transition:.2s}
.footer-bottom-links a:hover{color:var(--ink)}

/* Policy Modal */
.policy-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:1000;display:none;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(4px)}
.policy-modal-overlay.active{display:flex}
.policy-modal{background:#fff;border-radius:var(--r-lg);width:100%;max-width:720px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.25)}
.policy-modal-head{padding:28px 32px 20px;border-bottom:1px solid var(--mist);display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-shrink:0}
.policy-modal-title{font-family:'Syne',sans-serif;font-size:22px;font-weight:800;color:var(--ink);letter-spacing:-0.5px}
.policy-modal-subtitle{font-size:13px;color:var(--slate);margin-top:4px}
.policy-modal-close{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--mist);background:var(--cream);cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.2s;color:var(--slate)}
.policy-modal-close:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.policy-modal-body{overflow-y:auto;padding:28px 32px;flex:1}
.policy-modal-body h3{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin:24px 0 8px}
.policy-modal-body h3:first-child{margin-top:0}
.policy-modal-body p{font-size:14px;color:#4a4845;line-height:1.75;margin-bottom:12px}
.policy-modal-body ul{margin:8px 0 12px 20px}
.policy-modal-body ul li{font-size:14px;color:#4a4845;line-height:1.75;margin-bottom:6px}
.policy-modal-body .policy-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--cream);border-radius:50px;font-size:12px;font-weight:600;color:var(--slate);margin-bottom:20px}
/* Contact form inside modal */
.contact-form{margin-top:8px}
.contact-field{margin-bottom:16px}
.contact-label{font-size:13px;font-weight:600;color:var(--ink);display:block;margin-bottom:6px}
.contact-input{width:100%;padding:11px 16px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);transition:.2s;outline:none}
.contact-input:focus{border-color:var(--ink);background:#fff}
textarea.contact-input{min-height:110px;resize:vertical}
.contact-submit{width:100%;padding:13px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:15px;font-weight:700;font-family:'Syne',sans-serif;border:none;cursor:pointer;transition:.2s;margin-top:4px}
.contact-submit:hover{background:#333}
.contact-success{background:#f0fdf4;border:1.5px solid #86efac;border-radius:var(--r-sm);padding:16px 20px;font-size:14px;color:#16a34a;font-weight:600;display:none;align-items:center;gap:10px;margin-top:12px}
.contact-success.active{display:flex}

/* Responsive */
@media(max-width:768px){
  header{padding:0 20px}
  .hero{padding:64px 20px 40px}
  .tools-section{padding:40px 20px 64px}
  .tool-page-header{padding:20px}
  .tool-workspace{padding:24px 20px}
  .stats-bar{gap:28px;padding:24px 20px}
  .footer-main{grid-template-columns:1fr;gap:32px;padding:36px 24px 24px}
  .footer-links-grid{gap:28px;flex-wrap:wrap}
  .footer-bottom{padding:16px 24px;flex-direction:column;gap:12px;text-align:center}
  .policy-modal{max-height:90vh}
  .policy-modal-head{padding:20px 20px 16px}
  .policy-modal-body{padding:20px}
}

/* ─────────── ADVANCED CONTRAST PAGE ─────────── */
.acc-page-wrap{max-width:1100px;margin:0 auto;padding:40px 48px 80px}
@media(max-width:768px){.acc-page-wrap{padding:24px 20px 60px}}
.acc-back-bar{display:flex;align-items:center;gap:10px;margin-bottom:28px}
.acc-back-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:var(--r-sm);border:1.5px solid var(--mist);background:#fff;color:var(--slate);font-size:13px;font-weight:600;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.2s}
.acc-back-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--cream)}
/* Hero ratio bar */
.acc-ratio-hero{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:28px 32px;margin-bottom:20px;display:flex;align-items:center;gap:40px;flex-wrap:wrap}
.acc-big-ratio{font-family:'Syne',sans-serif;font-size:52px;font-weight:800;letter-spacing:-2px;color:var(--ink);line-height:1}
.acc-big-ratio-label{font-size:13px;color:var(--slate);font-weight:500;margin-top:4px}
.acc-hero-badge{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;flex-shrink:0}
.acc-hero-badge.aa{background:#fef9c3;color:#92400e}
.acc-hero-badge.aaa{background:#dcfce7;color:#166534}
.acc-hero-badge.fail{background:#fee2e2;color:#991b1b}
.acc-hero-right{margin-left:auto;text-align:right}
.acc-hero-rating-label{font-size:13px;color:var(--slate);margin-bottom:4px}
.acc-hero-stars{font-size:22px;color:#f59e0b;display:flex;gap:2px;justify-content:flex-end}
/* Level cards */
.acc-levels-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
@media(max-width:600px){.acc-levels-row{grid-template-columns:1fr}}
.acc-level-card{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:20px 24px}
.acc-level-card-title{font-size:13px;font-weight:600;color:var(--slate);text-align:center;margin-bottom:14px}
.acc-level-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.acc-level-row:last-of-type{margin-bottom:0}
.acc-level-req{font-size:13px;color:var(--ink);font-weight:500}
.acc-level-check{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.acc-level-check.ok{background:#dcfce7;color:#16a34a}
.acc-level-check.bad{background:#fee2e2;color:#dc2626}
.acc-level-card-stars{display:flex;gap:2px;font-size:16px;color:#f59e0b;margin-top:12px;justify-content:center}
/* Main body */
.acc-body{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;align-items:start}
@media(max-width:700px){.acc-body{grid-template-columns:1fr}}
/* Left panel */
.acc-left-panel{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);overflow:hidden}
.acc-tabs{display:flex;border-bottom:1.5px solid var(--mist)}
.acc-tab{flex:1;padding:12px 8px;font-size:13px;font-weight:600;border:none;background:transparent;color:var(--slate);cursor:pointer;font-family:'DM Sans',sans-serif;transition:.15s;display:flex;align-items:center;justify-content:center;gap:5px}
.acc-tab.active{background:#fff;color:var(--ink);border-bottom:2.5px solid var(--ink)}
.acc-tab:hover:not(.active){background:var(--cream)}
.acc-tab-icon{font-size:14px}
.acc-tab-panel{padding:24px}
/* Colors tab */
.acc-col-label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px}
.acc-col-input-row{display:flex;align-items:center;border:1.5px solid var(--mist);border-radius:var(--r-sm);overflow:hidden;margin-bottom:10px;background:#fff;transition:.2s}
.acc-col-input-row:focus-within{border-color:var(--ink)}
.acc-col-hex-in{flex:1;padding:11px 14px;border:none;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:transparent;outline:none}
.acc-col-swatch{width:42px;height:42px;cursor:pointer;flex-shrink:0;border-left:1.5px solid var(--mist)}
.acc-col-display{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 16px;font-size:12px;color:var(--slate)}
.acc-col-display-swatch{width:16px;height:16px;border-radius:3px;border:1px solid rgba(0,0,0,.1);flex-shrink:0}
/* Adjust tab */
.acc-adj-label{font-size:12px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;margin-top:16px}
.acc-adj-label:first-child{margin-top:0}
.acc-adj-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.acc-adj-letter{font-size:13px;font-weight:700;color:var(--ink);width:14px;flex-shrink:0}
.acc-adj-range{flex:1;accent-color:var(--ink);cursor:pointer;height:6px}
.acc-adj-val{font-size:12px;font-weight:600;color:var(--ink);width:36px;text-align:right}
/* Suggestions tab */
.acc-sugg-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--mist);border-radius:var(--r-sm);margin-bottom:8px;cursor:pointer;transition:.2s}
.acc-sugg-item:hover{border-color:var(--ink);background:var(--cream)}
.acc-sugg-swatch{width:36px;height:36px;border-radius:var(--r-sm);flex-shrink:0;border:1px solid rgba(0,0,0,.08)}
.acc-sugg-info{flex:1}
.acc-sugg-hex{font-size:13px;font-weight:700;color:var(--ink)}
.acc-sugg-ratio{font-size:12px;color:var(--slate);margin-top:1px}
.acc-sugg-badge{font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px}
.acc-sugg-badge.aa{background:#fef9c3;color:#92400e}
.acc-sugg-badge.aaa{background:#dcfce7;color:#166534}
/* Right preview panel */
.acc-preview-panel{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);overflow:hidden}
.acc-preview-inner{padding:36px 28px;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:background .3s}
.acc-preview-aa-big{font-family:'Syne',sans-serif;font-size:72px;font-weight:800;line-height:1;margin-bottom:4px;transition:color .3s}
.acc-preview-title{font-size:22px;font-weight:700;margin-bottom:8px;transition:color .3s}
.acc-preview-body{font-size:16px;text-align:center;margin-bottom:4px;transition:color .3s}
.acc-preview-small{font-size:12px;text-align:center;transition:color .3s;opacity:.85}
.acc-preview-divider{width:80%;height:1px;margin:16px 0;opacity:.2}
.acc-preview-footer{display:flex;gap:28px;align-items:center}
.acc-preview-footer-col{display:flex;flex-direction:column;align-items:center;gap:5px}
.acc-preview-footer-label{font-size:11px;font-weight:600;text-align:center;opacity:.7}
.acc-preview-footer-swatch{width:20px;height:20px;border-radius:4px;border:1.5px solid rgba(255,255,255,.3)}
.acc-preview-footer-hex{font-size:11px;font-weight:700}
/* WCAG section */
.acc-wcag-section{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:28px 32px;margin-bottom:20px}
.acc-wcag-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--ink);margin-bottom:20px}
.acc-wcag-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
@media(max-width:600px){.acc-wcag-grid{grid-template-columns:1fr}}
.acc-wcag-item-label{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:6px}
.acc-wcag-item-desc{font-size:13px;color:var(--slate);line-height:1.65}
.acc-wcag-summary{background:var(--cream);border-radius:var(--r-sm);padding:12px 16px;font-size:13px;color:var(--slate);line-height:1.6}
/* Info section */
.acc-info-section{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:28px 32px}
.acc-info-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--ink);margin-bottom:8px}
.acc-info-lead{font-size:14px;color:var(--slate);margin-bottom:16px;line-height:1.6}
.acc-info-body{font-size:14px;color:var(--slate);line-height:1.75;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--mist)}
.acc-info-cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:600px){.acc-info-cols{grid-template-columns:1fr}}
.acc-info-col-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px}
.acc-info-list{list-style:none;padding:0}
.acc-info-list li{font-size:13px;color:var(--slate);padding:3px 0;display:flex;align-items:flex-start;gap:7px;line-height:1.5}
.acc-info-list li::before{content:'•';color:var(--ink);font-weight:700;flex-shrink:0}
.cp-page-wrap{max-width:1100px;margin:0 auto;padding:48px 48px 80px;width:100%;box-sizing:border-box}
.cp-page-hero{text-align:center;margin-bottom:48px}
.cp-page-hero h1{font-family:'Syne',sans-serif;font-size:clamp(28px,5vw,52px);font-weight:800;letter-spacing:-2px;color:var(--ink);margin-bottom:12px}
.cp-page-hero p{font-size:16px;color:var(--slate);max-width:520px;margin:0 auto;line-height:1.65}

/* Tabs */
.cp-tabs{display:flex;gap:4px;background:var(--cream);border:1.5px solid var(--mist);border-radius:var(--r);padding:4px;max-width:360px;margin:0 auto 36px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.cp-tab{flex:1;min-width:max-content;padding:10px 16px;border-radius:calc(var(--r) - 4px);font-size:14px;font-weight:600;border:none;background:transparent;color:var(--slate);cursor:pointer;font-family:'DM Sans',sans-serif;transition:.2s}
.cp-tab.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08)}

/* Picker Card */
.cp-card{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:32px;margin-bottom:28px;overflow:hidden}
.cp-card-title{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--ink);margin-bottom:20px}

/* Main picker layout */
.cp-main{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:start}
@media(max-width:768px){.cp-main{grid-template-columns:1fr}.cp-page-wrap{padding:24px 20px 60px}}

/* SV Canvas */
.cp-sv-wrap{position:relative;border-radius:var(--r);overflow:hidden;cursor:crosshair;user-select:none;aspect-ratio:1.7}
#cp-sv-canvas{display:block;width:100%;height:100%}
.cp-sv-cursor{position:absolute;width:18px;height:18px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1.5px rgba(0,0,0,.3),0 2px 6px rgba(0,0,0,.3);transform:translate(-50%,-50%);pointer-events:none;top:20%;left:60%}

/* Hue & Alpha sliders */
.cp-sliders{margin-top:14px;display:flex;flex-direction:column;gap:10px}
.cp-hue-track{position:relative;height:14px;border-radius:8px;cursor:pointer;background:linear-gradient(to right,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)}
.cp-alpha-track{position:relative;height:14px;border-radius:8px;cursor:pointer;background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}
.cp-alpha-inner{position:absolute;inset:0;border-radius:8px}
.cp-slider-thumb{position:absolute;top:50%;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.25),0 2px 6px rgba(0,0,0,.2);transform:translate(-50%,-50%);pointer-events:none;cursor:grab}

/* Right panel */
.cp-right-panel{display:flex;flex-direction:column;gap:16px}
.cp-preview-box{width:100%;height:80px;border-radius:var(--r);border:1.5px solid var(--mist);background:#efd145;position:relative;overflow:hidden}
.cp-preview-checkers{position:absolute;inset:0;background-image:linear-gradient(45deg,#ddd 25%,transparent 25%),linear-gradient(-45deg,#ddd 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ddd 75%),linear-gradient(-45deg,transparent 75%,#ddd 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0;opacity:.5}
.cp-preview-color{position:absolute;inset:0}

/* Format tabs */
.cp-fmt-tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--mist);padding-bottom:8px;margin-bottom:10px}
.cp-fmt-tab{padding:5px 12px;border-radius:var(--r-sm);font-size:12px;font-weight:700;border:none;background:transparent;color:var(--slate);cursor:pointer;font-family:'DM Sans',sans-serif;transition:.15s}
.cp-fmt-tab.active{background:var(--ink);color:#fff}

/* Hex/value input row */
.cp-val-row{display:flex;gap:8px;align-items:center}
.cp-val-input{flex:1;padding:10px 14px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);transition:.2s}
.cp-val-input:focus{outline:none;border-color:var(--ink);background:#fff}
.cp-copy-btn{padding:9px 14px;border-radius:var(--r-sm);background:var(--ink);color:#fff;font-size:13px;font-weight:700;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:.15s;white-space:nowrap}
.cp-copy-btn:hover{background:#333;transform:translateY(-1px)}
.cp-copy-btn.copied{background:var(--green)}

/* RGBA edit sliders */
.cp-edit-title{font-size:12px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.cp-rgb-row{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.cp-rgb-label{font-size:13px;font-weight:700;color:var(--slate);width:16px;flex-shrink:0}
.cp-rgb-slider{flex:1;accent-color:var(--ink);height:6px;cursor:pointer}
.cp-rgb-val{font-size:12px;font-weight:600;color:var(--ink);width:36px;text-align:right;flex-shrink:0}
.cp-pct-val{font-size:12px;font-weight:600;color:var(--ink);width:40px;text-align:right;flex-shrink:0}

/* Image Color Picker */
.cp-img-drop{border:2.5px dashed var(--fog);border-radius:var(--r-lg);padding:48px 24px;text-align:center;cursor:pointer;background:var(--cream);transition:.3s}
.cp-img-drop:hover{border-color:var(--slate)}
.cp-img-drop.active{border-color:var(--ink);background:#f5f3ee}
.cp-img-drop input{display:none}
.cp-img-canvas-wrap{position:relative;border-radius:var(--r);overflow:hidden;cursor:crosshair}
#cp-img-canvas{display:block;max-width:100%;border-radius:var(--r)}
.cp-img-preview{width:100%;max-height:400px;object-fit:contain;display:none}
.cp-img-picked-row{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:16px}
.cp-img-picked-swatch{width:56px;height:56px;border-radius:var(--r-sm);border:1.5px solid var(--mist);flex-shrink:0}
.cp-img-picked-vals{flex:1}
.cp-img-picked-hex{font-family:'Syne',sans-serif;font-size:18px;font-weight:800;color:var(--ink)}
.cp-img-picked-rgb{font-size:13px;color:var(--slate);margin-top:4px}

/* Variations */
.cp-swatches-row{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
.cp-swatch{flex-shrink:0;width:72px;text-align:center;cursor:pointer}
.cp-swatch-box{height:56px;border-radius:var(--r-sm);border:1.5px solid rgba(0,0,0,.07);transition:.2s;margin-bottom:6px}
.cp-swatch:hover .cp-swatch-box{transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,.12)}
.cp-swatch-pct{font-size:11px;color:var(--slate);font-weight:600}

/* Harmonies */
.cp-harmony-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.cp-harmony-tab{padding:7px 16px;border-radius:50px;font-size:13px;font-weight:600;border:2px solid var(--mist);background:transparent;color:var(--slate);cursor:pointer;font-family:'DM Sans',sans-serif;transition:.2s}
.cp-harmony-tab:hover{border-color:var(--ink);color:var(--ink)}
.cp-harmony-tab.active{background:var(--ink);color:#fff;border-color:var(--ink)}
.cp-harmony-desc{font-size:14px;color:var(--slate);margin-bottom:16px;line-height:1.6}
.cp-harmony-swatches{display:flex;gap:16px;flex-wrap:wrap}
.cp-harmony-swatch{text-align:center;cursor:pointer}
.cp-harmony-swatch-box{width:140px;height:72px;border-radius:var(--r);border:1.5px solid rgba(0,0,0,.06);transition:.2s;margin-bottom:8px}
.cp-harmony-swatch:hover .cp-harmony-swatch-box{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.12)}
.cp-harmony-hex{font-size:13px;font-weight:700;color:var(--ink)}

/* Contrast Checker */
/* ── Contrast Checker Redesign ── */
.cp-cc-wrap{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
@media(max-width:700px){.cp-cc-wrap{grid-template-columns:1fr}}
.cp-cc-left{border-radius:var(--r-lg);padding:28px;border:1.5px solid var(--mist);background:var(--cream)}
.cp-cc-sub{font-size:13px;color:var(--slate);margin-bottom:20px;line-height:1.6}
.cp-cc-color-label{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.cp-cc-color-row{display:flex;gap:10px;align-items:center;margin-bottom:18px}
.cp-cc-hex-wrap{flex:1;display:flex;align-items:center;border:1.5px solid var(--mist);border-radius:var(--r-sm);background:#fff;overflow:hidden;transition:.2s}
.cp-cc-hex-wrap:focus-within{border-color:var(--ink)}
.cp-cc-hex-in{flex:1;padding:10px 12px;border:none;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:transparent;outline:none}
.cp-cc-swatch{width:38px;height:38px;border-left:1.5px solid var(--mist);cursor:pointer;flex-shrink:0;transition:.15s;border-radius:0 calc(var(--r-sm) - 2px) calc(var(--r-sm) - 2px) 0}
.cp-cc-swatch:hover{opacity:.82}
.cp-cc-ratio-card{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r);padding:18px 20px;margin-bottom:14px;display:flex;align-items:center;gap:16px}
.cp-cc-ratio-num{font-family:'Syne',sans-serif;font-size:42px;font-weight:800;color:var(--ink);line-height:1;flex-shrink:0;min-width:96px}
.cp-cc-ratio-right{}
.cp-cc-ratio-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:50px;font-size:11px;font-weight:800;letter-spacing:.3px;margin-bottom:5px}
.cp-cc-ratio-badge.aa-pass{background:#fef9c3;color:#92400e}
.cp-cc-ratio-badge.aaa-pass{background:#dcfce7;color:#166534}
.cp-cc-ratio-badge.fail-badge{background:#fee2e2;color:#991b1b}
.cp-cc-ratio-stars{display:flex;gap:1px;font-size:16px;color:#f59e0b;margin-bottom:3px}
.cp-cc-ratio-text{font-size:12px;font-weight:600;color:var(--slate)}
.cp-cc-levels{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.cp-cc-level{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r);padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.cp-cc-level-name{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}
.cp-cc-level-stars{display:flex;gap:1px;font-size:14px;color:#f59e0b}
.cp-cc-level-badge{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:14px;font-weight:700;flex-shrink:0}
.cp-cc-level-badge.ok{background:#dcfce7;color:#16a34a}
.cp-cc-level-badge.bad{background:#fee2e2;color:#dc2626}
.cp-cc-wcag-box{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r);padding:15px 18px;margin-bottom:14px}
.cp-cc-wcag-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:10px}
.cp-cc-wcag-row{display:flex;gap:10px;margin-bottom:8px;font-size:12px;color:var(--slate);line-height:1.55}
.cp-cc-wcag-row:last-child{margin-bottom:0}
.cp-cc-wcag-tag{font-size:10px;font-weight:800;padding:2px 7px;border-radius:4px;background:var(--mist);color:var(--ink);white-space:nowrap;flex-shrink:0;height:fit-content;margin-top:1px}
.cp-cc-summary{font-size:13px;color:var(--slate);margin-bottom:14px;line-height:1.6;padding:11px 14px;background:var(--cream);border-radius:var(--r-sm)}
.cp-cc-advanced{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:var(--ink);color:#fff;border:1.5px solid var(--ink);border-radius:var(--r);cursor:pointer;transition:.2s;text-decoration:none}
.cp-cc-advanced:hover{background:#333;border-color:#333;transform:translateY(-1px)}
.cp-cc-adv-title{font-size:14px;font-weight:700;color:#fff}
.cp-cc-adv-sub{font-size:12px;color:rgba(255,255,255,.7);margin-top:2px}
.cp-cc-adv-arr{font-size:20px;color:#fff;font-weight:700}
.cp-cc-right{border-radius:var(--r-lg);min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 28px;gap:4px;transition:background .3s}
.cp-cc-quote-mark{font-size:38px;line-height:1;margin-bottom:8px;font-family:'Dancing Script',cursive}
.cp-cc-preview-quote{font-size:16px;font-style:italic;line-height:1.75;text-align:center;font-family:'DM Sans',sans-serif;margin-bottom:14px}
.cp-cc-preview-author{font-size:13px;font-weight:700;text-align:center}
/* keep old class for adjust button compat */
.cp-adjust-btn{width:100%;padding:13px;border-radius:var(--r);background:var(--blue);color:#fff;font-size:14px;font-weight:700;font-family:'Syne',sans-serif;border:none;cursor:pointer;margin-top:2px;transition:.2s}
.cp-adjust-btn:hover{background:#2563eb;transform:translateY(-1px)}

/* ── Color Combinations Section ── */
.cp-combos-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px}
@media(max-width:600px){.cp-combos-info-grid{grid-template-columns:1fr}}
.cp-combos-info-box{background:var(--cream);border:1.5px solid var(--mist);border-radius:var(--r);padding:16px 18px}
.cp-combos-info-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:5px}
.cp-combos-info-text{font-size:13px;color:var(--slate);line-height:1.6}
.cp-combos-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 32px;margin-bottom:24px}
@media(max-width:700px){.cp-combos-grid{grid-template-columns:1fr}}
.cp-combo-name{font-family:'Syne',sans-serif;font-size:17px;font-weight:800;color:var(--ink);margin-bottom:4px}
.cp-combo-desc{font-size:13px;color:var(--slate);line-height:1.55;margin-bottom:12px}
.cp-combo-bar{display:flex;border-radius:50px;overflow:hidden;height:44px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px rgba(0,0,0,.07)}
.cp-combo-bar:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.13)}
.cp-combo-seg{flex:1;position:relative;transition:.15s}
.cp-combo-seg:hover::after{content:attr(data-hex);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;white-space:nowrap;z-index:10}
.cp-combo-bestfor{font-size:12px;color:var(--slate);margin-top:8px}
.cp-combo-bestfor b{color:var(--ink)}
.cp-theory-box{background:var(--cream);border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:24px 28px}
.cp-theory-title{font-family:'Syne',sans-serif;font-size:15px;font-weight:800;color:var(--ink);margin-bottom:18px}
.cp-theory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:600px){.cp-theory-grid{grid-template-columns:1fr}}
.cp-theory-item-name{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:4px}
.cp-theory-item-desc{font-size:13px;color:var(--slate);line-height:1.55}

/* Blog Section */
.cp-blog-section{margin-top:48px}
.cp-blog-title{font-family:'Syne',sans-serif;font-size:clamp(22px,4vw,36px);font-weight:800;letter-spacing:-1px;color:var(--ink);margin-bottom:8px}
.cp-blog-sub{font-size:15px;color:var(--slate);margin-bottom:36px;line-height:1.6}
.cp-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.cp-blog-card{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:all .3s}
.cp-blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,.1);border-color:var(--ink)}
.cp-blog-img{height:140px;display:flex;align-items:center;justify-content:center;font-size:48px}
.cp-blog-body{padding:20px}
.cp-blog-tag{display:inline-block;padding:4px 12px;background:var(--cream);border-radius:50px;font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}
.cp-blog-card-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px;line-height:1.35}
.cp-blog-card-desc{font-size:13px;color:var(--slate);line-height:1.55}
.cp-blog-read{font-size:12px;font-weight:700;color:var(--ink);margin-top:12px;display:inline-flex;align-items:center;gap:4px}

/* Blog Article Modal */
.cp-blog-modal{position:fixed;inset:0;background:rgba(10,10,10,.6);z-index:500;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:.25s}
.cp-blog-modal.open{opacity:1;pointer-events:all}
.cp-blog-modal-inner{background:#fff;border-radius:var(--r-lg);max-width:680px;width:100%;max-height:85vh;overflow-y:auto;padding:40px}
.cp-blog-modal-close{float:right;background:var(--cream);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center;color:var(--slate);transition:.15s}
.cp-blog-modal-close:hover{background:var(--ink);color:#fff}
.cp-blog-modal-tag{display:inline-block;padding:5px 14px;background:var(--cream);border-radius:50px;font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:14px}
.cp-blog-modal h2{font-family:'Syne',sans-serif;font-size:clamp(20px,3vw,28px);font-weight:800;letter-spacing:-0.5px;color:var(--ink);margin-bottom:16px;line-height:1.25}
.cp-blog-modal .cp-blog-modal-lead{font-size:16px;color:var(--slate);line-height:1.7;margin-bottom:20px;font-style:italic;border-left:3px solid var(--mist);padding-left:16px}
.cp-blog-modal h3{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:var(--ink);margin:24px 0 10px}
.cp-blog-modal p{font-size:14px;color:var(--slate);line-height:1.75;margin-bottom:14px}

/* ─────────── POLICY FULL PAGE ─────────── */
.policy-page-hero{background:var(--cream);border-bottom:1px solid var(--mist);padding:56px 64px 48px}
.policy-page-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 16px;background:var(--mist);border-radius:50px;font-size:12px;font-weight:600;color:var(--slate);letter-spacing:.5px;margin-bottom:20px}
.policy-page-title{font-family:'Syne',sans-serif;font-size:clamp(32px,5vw,56px);font-weight:800;letter-spacing:-2px;color:var(--ink);margin-bottom:8px;line-height:1.05}
.policy-page-subtitle{font-size:15px;color:var(--slate)}
.policy-page-content{max-width:760px;margin:0 auto;padding:56px 24px 80px}
.policy-page-content h3{font-family:'Syne',sans-serif;font-size:18px;font-weight:700;color:var(--ink);margin:36px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--mist)}
.policy-page-content h3:first-child{margin-top:0}
.policy-page-content p{font-size:15px;color:#4a4845;line-height:1.85;margin-bottom:16px}
.policy-page-content ul{margin:8px 0 16px 24px}
.policy-page-content ul li{font-size:15px;color:#4a4845;line-height:1.85;margin-bottom:8px}
.policy-page-content .policy-badge{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;background:var(--cream);border-radius:50px;font-size:13px;font-weight:600;color:var(--slate);margin-bottom:28px;border:1px solid var(--mist)}
.policy-page-content .contact-form{background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);padding:32px;margin-top:8px}
.policy-page-content .contact-label{display:block;font-size:13px;font-weight:600;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.policy-page-content .contact-input{width:100%;padding:12px 16px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:15px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);margin-bottom:20px;transition:.2s}
.policy-page-content .contact-input:focus{outline:none;border-color:var(--ink);background:#fff}
.policy-page-content .contact-field{margin-bottom:4px}
.policy-page-content textarea.contact-input{resize:vertical;min-height:120px}
.policy-page-content .contact-submit{padding:14px 36px;background:var(--ink);color:var(--paper);border:none;border-radius:var(--r-sm);font-size:15px;font-weight:700;font-family:'Syne',sans-serif;cursor:pointer;transition:all .25s}
.policy-page-content .contact-submit:hover{background:#333;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.18)}
.policy-page-content .contact-success{display:none;margin-top:20px;padding:16px 20px;background:#f0fdf4;border:1.5px solid #86efac;border-radius:var(--r-sm);color:#16a34a;font-weight:600;font-size:14px}
.policy-page-content .contact-success.active{display:flex;align-items:center;gap:10px}
@media(max-width:768px){.policy-page-hero{padding:40px 24px 36px}.policy-page-content{padding:40px 20px 60px}}

/* ─────────── BLOG PAGE ─────────── */
.blog-page-hero{
  background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 50%,#16213e 100%);
  padding:80px 64px 70px;text-align:center;position:relative;overflow:hidden;
}
.blog-page-hero::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 30% 50%,rgba(99,102,241,.15) 0%,transparent 60%),
             radial-gradient(circle at 70% 30%,rgba(236,72,153,.1) 0%,transparent 50%);
  pointer-events:none;
}
.blog-page-eyebrow{
  display:inline-flex;align-items:center;gap:8px;padding:8px 20px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  border-radius:50px;font-size:12px;font-weight:700;color:rgba(255,255,255,.8);
  letter-spacing:1.5px;text-transform:uppercase;margin-bottom:24px;
  backdrop-filter:blur(10px);
}
.blog-page-title{
  font-family:'Syne',sans-serif;font-size:clamp(40px,7vw,76px);font-weight:800;
  letter-spacing:-3px;color:#fff;line-height:1.0;margin-bottom:18px;position:relative;
}
.blog-page-title span{
  background:linear-gradient(135deg,#818cf8,#ec4899);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
}
.blog-page-sub{font-size:17px;color:rgba(255,255,255,.6);max-width:560px;margin:0 auto 36px;line-height:1.7;position:relative}
.blog-stats-row{display:flex;justify-content:center;gap:48px;flex-wrap:wrap;position:relative}
.blog-stat{text-align:center}
.blog-stat-num{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:#fff}
.blog-stat-lbl{font-size:12px;color:rgba(255,255,255,.5);margin-top:2px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}

.blog-list-wrap{max-width:1200px;margin:0 auto;padding:56px 48px 80px}

/* Featured post — big hero card */
.blog-featured{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);overflow:hidden;margin-bottom:48px;cursor:pointer;transition:all .35s;box-shadow:0 4px 20px rgba(0,0,0,.06)}
.blog-featured:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.12);border-color:var(--ink)}
.blog-featured-visual{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 100%);display:flex;align-items:center;justify-content:center;min-height:300px;position:relative;overflow:hidden;padding:40px}
.blog-featured-visual::after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 60% 40%,rgba(99,102,241,.3),transparent 70%)}
.blog-featured-big-icon{font-size:96px;position:relative;z-index:1;filter:drop-shadow(0 0 30px rgba(129,140,248,.5))}
.blog-featured-badge{position:absolute;top:16px;left:16px;padding:5px 14px;background:linear-gradient(135deg,#818cf8,#ec4899);color:#fff;border-radius:50px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;z-index:2}
.blog-featured-body{padding:40px;display:flex;flex-direction:column;justify-content:center}
.blog-featured-tag{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;background:var(--cream);border-radius:50px;font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;width:fit-content}
.blog-featured-title{font-family:'Syne',sans-serif;font-size:clamp(20px,2.5vw,28px);font-weight:800;color:var(--ink);line-height:1.2;margin-bottom:14px;letter-spacing:-.5px}
.blog-featured-desc{font-size:15px;color:var(--slate);line-height:1.7;margin-bottom:24px;flex:1}
.blog-featured-meta{display:flex;align-items:center;justify-content:space-between}
.blog-featured-read{font-size:13px;color:var(--slate);font-weight:600}
.blog-featured-cta{display:inline-flex;align-items:center;gap:8px;padding:11px 24px;background:var(--ink);color:#fff;border-radius:var(--r-sm);font-size:13px;font-weight:700;font-family:'Syne',sans-serif;transition:all .2s}
.blog-featured:hover .blog-featured-cta{background:#333;transform:translateX(2px)}

.blog-section-label{font-family:'Syne',sans-serif;font-size:11px;font-weight:700;color:var(--slate);letter-spacing:2px;text-transform:uppercase;margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--mist);display:flex;align-items:center;gap:12px}
.blog-section-label::after{content:'';flex:1;height:1px;background:var(--mist)}

.blog-cat-row{display:flex;gap:8px;margin-bottom:36px;flex-wrap:wrap;align-items:center}
.blog-cat-btn{
  padding:9px 22px;border-radius:50px;font-size:13px;font-weight:600;
  border:2px solid var(--mist);background:#fff;color:var(--slate);
  cursor:pointer;transition:all .2s;font-family:'DM Sans',sans-serif;
}
.blog-cat-btn:hover{border-color:var(--slate);color:var(--ink);background:var(--cream)}
.blog-cat-btn.active{
  background:var(--ink);color:#fff;border-color:var(--ink);
  box-shadow:0 4px 12px rgba(0,0,0,.2);
}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}

/* Color-coded category palettes */
.bcat-organize{--bcat:#6366f1;--bcat-light:#eef2ff;--bcat-border:#c7d2fe}
.bcat-convert{--bcat:#f59e0b;--bcat-light:#fffbeb;--bcat-border:#fde68a}
.bcat-edit{--bcat:#10b981;--bcat-light:#ecfdf5;--bcat-border:#a7f3d0}
.bcat-security{--bcat:#ef4444;--bcat-light:#fef2f2;--bcat-border:#fecaca}

.blog-card{
  background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-lg);
  overflow:hidden;cursor:pointer;transition:all .3s;display:flex;flex-direction:column;
}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 20px 56px rgba(0,0,0,.1);border-color:var(--bcat,var(--ink))}
.blog-card-img{
  height:180px;display:flex;align-items:center;justify-content:center;
  background:var(--bcat-light,var(--cream));position:relative;overflow:hidden;
}
.blog-card-img::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,var(--bcat-light,var(--cream)) 0%,rgba(255,255,255,0) 100%);
}
.blog-card-icon-wrap{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:10px}
.blog-card-icon-bg{
  width:72px;height:72px;border-radius:20px;
  background:var(--bcat,var(--ink));
  display:flex;align-items:center;justify-content:center;font-size:34px;
  box-shadow:0 8px 24px rgba(0,0,0,.15);
}
.blog-card-steps{display:flex;gap:6px;align-items:center}
.blog-card-step{width:24px;height:6px;border-radius:3px;background:var(--bcat-border,var(--mist))}
.blog-card-step.fill{background:var(--bcat,var(--ink))}
.blog-card-tag{
  position:absolute;top:14px;left:14px;padding:4px 12px;
  background:var(--bcat,var(--ink));color:#fff;
  border-radius:50px;font-size:10px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;z-index:2;
}
.blog-card-body{padding:24px;flex:1;display:flex;flex-direction:column}
.blog-card-title{font-family:'Syne',sans-serif;font-size:17px;font-weight:800;color:var(--ink);margin-bottom:10px;line-height:1.3;letter-spacing:-.3px}
.blog-card-desc{font-size:13px;color:var(--slate);line-height:1.65;flex:1}
.blog-card-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.blog-card-chip{padding:3px 10px;background:var(--bcat-light,var(--cream));border:1px solid var(--bcat-border,var(--mist));border-radius:50px;font-size:11px;font-weight:600;color:var(--bcat,var(--slate))}
.blog-card-meta{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--mist)}
.blog-card-read{font-size:12px;font-weight:700;color:var(--slate);display:flex;align-items:center;gap:5px}
.blog-card-arrow{
  width:32px;height:32px;border-radius:50%;background:var(--bcat-light,var(--cream));
  display:flex;align-items:center;justify-content:center;font-size:14px;
  color:var(--bcat,var(--ink));transition:all .2s;
}
.blog-card:hover .blog-card-arrow{background:var(--bcat,var(--ink));color:#fff;transform:translateX(3px)}

/* ── Blog Article View ── */
.blog-article-header{
  background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 100%);
  border-bottom:1px solid var(--mist);padding:56px 64px 48px;position:relative;overflow:hidden;
}
.blog-article-header::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 80% 50%,rgba(99,102,241,.15),transparent 60%);
  pointer-events:none;
}
.blog-article-tag{
  display:inline-flex;align-items:center;gap:6px;padding:4px 14px;
  background:var(--ink);
  color:#fff;border-radius:50px;font-size:11px;font-weight:700;
  letter-spacing:.7px;text-transform:uppercase;
}
.blog-article-title{
  font-family:'Syne',sans-serif;font-size:clamp(26px,4vw,48px);font-weight:800;
  letter-spacing:-1.5px;color:#fff;line-height:1.1;margin-bottom:18px;
  max-width:760px;position:relative;
}
.blog-article-meta{font-size:13px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:16px;flex-wrap:wrap;position:relative}
.blog-article-meta span{display:flex;align-items:center;gap:5px}

.blog-article-body{max-width:800px;margin:0 auto;padding:56px 24px 80px}
.blog-article-body h2{
  font-family:'Syne',sans-serif;font-size:26px;font-weight:800;color:var(--ink);
  margin:48px 0 16px;letter-spacing:-.5px;
  padding-left:16px;border-left:4px solid #818cf8;
}
.blog-article-body h3{font-family:'Syne',sans-serif;font-size:19px;font-weight:700;color:var(--ink);margin:32px 0 12px}
.blog-article-body p{font-size:15px;color:#3a3835;line-height:1.95;margin-bottom:20px}
.blog-article-body ul,.blog-article-body ol{margin:10px 0 20px 24px}
.blog-article-body li{font-size:15px;color:#3a3835;line-height:1.9;margin-bottom:10px}
.blog-article-body code{background:#f0f0ee;border-radius:4px;padding:2px 7px;font-size:13px;font-family:monospace;color:#d63384}
.blog-article-body .article-lead{
  font-size:19px;color:var(--slate);line-height:1.8;margin-bottom:36px;
  padding:24px 28px;background:var(--cream);border-radius:var(--r);
  border-left:4px solid #818cf8;
}
/* Tip box styles */
.blog-article-body .article-tip{
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
  border:1.5px solid #fde68a;border-radius:var(--r);
  padding:20px 24px;margin:28px 0;font-size:14px;color:#92400e;line-height:1.75;
  position:relative;
}
.blog-article-body .article-tip strong{
  display:flex;align-items:center;gap:6px;margin-bottom:8px;
  font-family:'Syne',sans-serif;font-size:13px;text-transform:uppercase;
  letter-spacing:.5px;color:#b45309;
}
/* How-it-works visual steps */
.article-steps{display:flex;flex-direction:column;gap:0;margin:28px 0}
.article-step{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-bottom:1px solid var(--mist);position:relative}
.article-step:last-child{border-bottom:none}
.article-step-num{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#818cf8,#6366f1);
  color:#fff;font-family:'Syne',sans-serif;font-size:16px;font-weight:800;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  box-shadow:0 4px 12px rgba(99,102,241,.3);
}
.article-step-content h4{font-family:'Syne',sans-serif;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}
.article-step-content p{font-size:14px;color:var(--slate);line-height:1.6;margin:0}

/* Comparison table */
.article-comparison{margin:32px 0;overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--r);border:1.5px solid var(--mist)}
.article-comparison-head{display:grid;grid-template-columns:1fr 1fr 1fr;background:var(--ink);color:#fff;padding:14px 20px;font-family:'Syne',sans-serif;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.article-comparison-head .col-feature{color:rgba(255,255,255,.6)}
.article-comparison-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:14px 20px;border-bottom:1px solid var(--mist);font-size:14px;transition:.15s}
.article-comparison-row:last-child{border-bottom:none}
.article-comparison-row:hover{background:var(--cream)}
.article-comparison-row .col-yes{color:#16a34a;font-weight:600}
.article-comparison-row .col-no{color:#dc2626;font-weight:600}
.article-comparison-row .col-feature{font-weight:600;color:var(--ink)}

/* FAQ accordion */
.article-faq{margin:32px 0}
.faq-item{border:1.5px solid var(--mist);border-radius:var(--r-sm);margin-bottom:10px;overflow:hidden;transition:.2s}
.faq-item:hover{border-color:var(--slate)}
.faq-q{
  padding:18px 20px;font-family:'Syne',sans-serif;font-size:15px;font-weight:700;
  color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:12px;background:#fff;user-select:none;
}
.faq-icon{
  width:28px;height:28px;border-radius:50%;background:var(--cream);
  display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;
  transition:transform .3s,background .2s;
}
.faq-item.open .faq-icon{transform:rotate(45deg);background:var(--ink);color:#fff}
.faq-a{
  max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s;
  font-size:14px;color:var(--slate);line-height:1.75;padding:0 20px;background:#fafaf8;
}
.faq-item.open .faq-a{max-height:400px;padding:16px 20px 20px}

/* Tool visual diagram */
.article-diagram{
  background:linear-gradient(135deg,#0a0a0a,#1a1a2e);
  border-radius:var(--r-lg);padding:36px;margin:32px 0;
  display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
  position:relative;overflow:hidden;
}
.article-diagram::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.1),transparent 70%)}
.diag-box{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);
  border-radius:var(--r-sm);padding:16px 20px;text-align:center;min-width:100px;
  backdrop-filter:blur(8px);position:relative;z-index:1;
}
.diag-box-icon{font-size:28px;margin-bottom:8px}
.diag-box-label{font-size:12px;color:rgba(255,255,255,.7);font-weight:600}
.diag-arrow{font-size:24px;color:rgba(129,140,248,.8);position:relative;z-index:1}
.diag-arrow-pulse{
  width:48px;height:48px;border-radius:50%;
  background:linear-gradient(135deg,#818cf8,#ec4899);
  display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;
  box-shadow:0 0 20px rgba(129,140,248,.5);position:relative;z-index:1;
  animation:pulse 2s ease-in-out infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 20px rgba(129,140,248,.5)}50%{box-shadow:0 0 36px rgba(129,140,248,.8)}}

/* Use cases grid */
.article-usecases{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px;margin:28px 0}
.usecase-card{
  padding:20px;border-radius:var(--r);text-align:center;
  border:1.5px solid var(--mist);background:#fff;transition:all .2s;
}
.usecase-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:var(--ink)}
.usecase-icon{font-size:28px;margin-bottom:10px}
.usecase-title{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}
.usecase-desc{font-size:12px;color:var(--slate);line-height:1.5}

/* Stat highlight boxes */
.article-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:28px 0}
.highlight-box{
  padding:20px;border-radius:var(--r);text-align:center;
  background:linear-gradient(135deg,var(--bcat-light,var(--cream)),#fff);
  border:1.5px solid var(--bcat-border,var(--mist));
}
.highlight-num{font-family:'Syne',sans-serif;font-size:28px;font-weight:800;color:var(--bcat,var(--ink))}
.highlight-lbl{font-size:12px;color:var(--slate);font-weight:500;margin-top:4px;line-height:1.4}

/* Blog try button */
.blog-try-btn{
  display:inline-flex;align-items:center;gap:10px;padding:16px 36px;
  background:linear-gradient(135deg,#818cf8,#6366f1);color:#fff;
  border:none;border-radius:var(--r);font-size:15px;font-weight:700;
  font-family:'Syne',sans-serif;cursor:pointer;transition:all .25s;margin-top:12px;
  box-shadow:0 6px 20px rgba(99,102,241,.35);
}
.blog-try-btn:hover{transform:translateY(-2px);box-shadow:0 10px 32px rgba(99,102,241,.5)}

/* Related posts strip */
.article-related{margin-top:56px;padding-top:40px;border-top:1px solid var(--mist)}
.article-related-title{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:2px;margin-bottom:20px}
.article-related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:16px}
.article-related-card{
  padding:18px;border:1.5px solid var(--mist);border-radius:var(--r);
  cursor:pointer;transition:all .2s;background:#fff;display:flex;gap:12px;align-items:center;
}
.article-related-card:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.article-related-icon{font-size:24px;flex-shrink:0}
.article-related-text{flex:1;min-width:0}
.article-related-name{font-family:'Syne',sans-serif;font-size:13px;font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-word}
.article-related-read{font-size:11px;color:var(--slate);margin-top:2px}

@media(max-width:900px){
  .blog-featured{grid-template-columns:1fr}
  .blog-featured-visual{min-height:200px}
  .article-highlights{grid-template-columns:repeat(2,1fr)}
  .blog-article-header{padding:40px 24px 32px}
}
@media(max-width:768px){
  .blog-page-hero{padding:56px 24px 48px}
  .blog-page-title{letter-spacing:-1.5px}
  .blog-stats-row{gap:28px}
  .blog-list-wrap{padding:36px 20px 60px}
  .blog-grid{grid-template-columns:1fr}
  .article-comparison-head,.article-comparison-row{grid-template-columns:1.2fr 1fr 1fr;font-size:13px;padding:12px 14px}
  .article-highlights{grid-template-columns:1fr 1fr}
}
/* ─────────── WATERMARK TOOL ─────────── */
.wm-workspace{display:flex;gap:0;min-height:calc(100vh - 130px);background:var(--cream)}
.wm-left{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:16px}
.wm-topbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.wm-file-chip{display:flex;align-items:center;gap:8px;background:#fff;border:1.5px solid var(--mist);border-radius:var(--r-sm);padding:8px 14px;font-size:13px;font-weight:600;color:var(--ink);max-width:260px}
.wm-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px}
.wm-add-btn{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;font-size:20px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;margin-left:auto;box-shadow:0 3px 10px rgba(0,0,0,.2);position:relative}
.wm-add-btn:hover{background:#333;transform:scale(1.07)}
.wm-page-count{position:absolute;top:-5px;left:-5px;width:18px;height:18px;border-radius:50%;background:#ef4444;color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid var(--cream)}
.wm-pages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.wm-page-card{background:#fff;border-radius:var(--r-sm);box-shadow:0 2px 10px rgba(0,0,0,.08);overflow:hidden;display:flex;flex-direction:column;align-items:center}
.wm-page-canvas-wrap{width:100%;position:relative;background:#f5f5f3}
.wm-page-canvas-wrap canvas{width:100%;display:block}
.wm-preview-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.wm-page-label{font-size:11px;font-weight:700;color:var(--slate);padding:5px 0;text-align:center}
/* Right Panel */
.wm-panel{width:300px;flex-shrink:0;background:#fff;border-left:1px solid var(--mist);display:flex;flex-direction:column}
.wm-panel-title{font-family:'Syne',sans-serif;font-size:16px;font-weight:800;padding:16px 20px;border-bottom:1px solid var(--mist)}
.wm-panel-body{flex:1;overflow-y:auto;padding:0 0 80px}
/* Tabs */
.wm-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--mist)}
.wm-tab{padding:14px;text-align:center;cursor:pointer;font-size:13px;font-weight:600;color:var(--slate);border-bottom:2px solid transparent;transition:.2s;display:flex;flex-direction:column;align-items:center;gap:4px;background:#fff}
.wm-tab.active{color:var(--ink);border-bottom-color:var(--ink)}
.wm-tab-icon{font-size:20px}
/* Section inside panel */
.wm-section{padding:16px 20px;border-bottom:1px solid var(--mist)}
.wm-label{font-size:11px;font-weight:700;color:var(--slate);text-transform:uppercase;letter-spacing:.7px;margin-bottom:10px}
.wm-input{width:100%;padding:10px 14px;border:1.5px solid var(--mist);border-radius:var(--r-sm);font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--cream);transition:.2s;margin-bottom:8px}
.wm-input:focus{outline:none;border-color:var(--ink);background:#fff}
select.wm-input{cursor:pointer}
/* Quick presets */
.wm-presets{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.wm-preset{padding:5px 12px;border-radius:50px;border:1.5px solid var(--mist);background:#fff;font-size:12px;font-weight:600;color:var(--slate);cursor:pointer;transition:.2s}
.wm-preset:hover{border-color:var(--ink);color:var(--ink);background:var(--cream)}
.wm-preset.chosen{background:var(--ink);color:#fff;border-color:var(--ink)}
/* Format row */
.wm-fmt-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}
.wm-fmt-btn{width:32px;height:32px;border-radius:6px;border:1.5px solid var(--mist);background:#fff;font-size:13px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.2s;color:var(--ink)}
.wm-fmt-btn:hover,.wm-fmt-btn.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.wm-color-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:4px}
.wm-color-dot{width:22px;height:22px;border-radius:50%;cursor:pointer;border:3px solid transparent;transition:.15s}
.wm-color-dot:hover{transform:scale(1.15)}
.wm-color-dot.chosen{border-color:var(--ink);transform:scale(1.1)}
.wm-color-input{width:36px;height:28px;border-radius:6px;border:1.5px solid var(--mist);padding:0;cursor:pointer}
/* Position grid */
.wm-pos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;width:100px;margin-right:16px}
.wm-pos-cell{width:30px;height:30px;border-radius:5px;border:1.5px solid var(--mist);background:#fff;cursor:pointer;transition:.2s;display:flex;align-items:center;justify-content:center}
.wm-pos-cell.chosen{background:var(--ink);border-color:var(--ink)}
.wm-pos-row-wrap{display:flex;align-items:center;gap:10px}
/* Mosaic toggle */
.wm-toggle-row{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px;font-weight:600;color:var(--ink)}
.wm-toggle{width:36px;height:20px;border-radius:10px;background:var(--mist);position:relative;transition:.25s;flex-shrink:0;cursor:pointer}
.wm-toggle.on{background:var(--ink)}
.wm-toggle::after{content:'';width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:.25s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.wm-toggle.on::after{left:18px}
/* Slider */
.wm-slider{width:100%;accent-color:var(--ink);margin-top:4px}
/* Layer cards */
.wm-layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:4px}
.wm-layer-card{padding:14px 10px;border:1.5px solid var(--mist);border-radius:var(--r-sm);cursor:pointer;text-align:center;transition:.2s;background:#fff}
.wm-layer-card.chosen{border-color:var(--ink);background:#f5f3ff}
.wm-layer-icon{font-size:22px;margin-bottom:6px}
.wm-layer-lbl{font-size:12px;font-weight:600;color:var(--ink)}
/* Image upload area */
.wm-img-upload{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px;border:2px dashed var(--fog);border-radius:var(--r-sm);cursor:pointer;transition:.2s;text-align:center;background:var(--cream)}
.wm-img-upload:hover{border-color:var(--ink);background:#f0eee9}
.wm-img-upload input{display:none}
.wm-img-preview{max-width:100%;max-height:80px;border-radius:6px;object-fit:contain;display:none}
/* Footer apply button */
.wm-panel-footer{padding:16px 20px;border-top:1px solid var(--mist);position:sticky;bottom:0;background:#fff}
.wm-apply-btn{width:100%;padding:14px;border-radius:var(--r);background:var(--ink);color:#fff;font-size:15px;font-weight:700;font-family:'Syne',sans-serif;border:none;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center;gap:8px}
.wm-apply-btn:hover{background:#333;transform:translateY(-1px);box-shadow:0 6px 20px rgba(0,0,0,.2)}
.wm-apply-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.wm-result-bar{padding:16px 20px;background:#f0fdf4;border-top:1.5px solid #86efac;display:none;align-items:center;gap:12px;flex-shrink:0}
.wm-result-bar.show{display:flex}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — HAMBURGER MENU
═══════════════════════════════════════════════════════════ */
.hamburger{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:40px;height:40px;background:none;border:none;cursor:pointer;
  padding:4px;border-radius:var(--r-sm);transition:.2s;z-index:300;
}
.hamburger:hover{background:var(--cream)}
.hamburger span{
  display:block;height:2px;border-radius:2px;
  background:var(--ink);transition:all .3s;
  transform-origin:center;
}
.hamburger span:nth-child(1){width:22px}
.hamburger span:nth-child(2){width:16px}
.hamburger span:nth-child(3){width:22px}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);width:22px}
.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);width:22px}

/* Mobile nav backdrop */
.mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:299;background:rgba(0,0,0,.2);}
.mobile-nav-backdrop.open{display:block}

/* Mobile nav dropdown panel */
.mobile-nav{
  display:none;
  position:fixed;
  top:68px;
  right:12px;
  width:calc(100vw - 24px);
  max-width:360px;
  background:#fff;
  border-radius:var(--r-lg);
  box-shadow:0 8px 40px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08);
  border:1px solid var(--mist);
  z-index:300;
  flex-direction:column;
  padding:8px;
  gap:2px;
  overflow:hidden;
  animation:mnav-in .18s cubic-bezier(.4,0,.2,1);
}
@keyframes mnav-in{
  from{opacity:0;transform:translateY(-8px) scale(.97)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
.mobile-nav.open{display:flex}
.mobile-nav a,.mobile-nav button{
  display:flex;align-items:center;
  padding:14px 16px;border-radius:var(--r-sm);
  font-size:15px;font-weight:600;color:var(--ink);
  text-decoration:none;border:none;background:none;
  cursor:pointer;font-family:'DM Sans',sans-serif;
  text-align:left;transition:.15s;gap:10px;width:100%;
}
.mobile-nav a:hover,.mobile-nav button:not(.mob-cta):hover{background:var(--cream)}
.mobile-nav .mob-cta{
  background:var(--ink)!important;color:var(--paper)!important;
  border-radius:var(--r-sm)!important;text-align:center!important;
  justify-content:center!important;
  margin-top:4px;padding:14px 16px!important;
  font-size:15px!important;
}
.mobile-nav .mob-cta:hover{background:#222!important}
.mobile-nav-divider{height:1px;background:var(--mist);margin:4px 0}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — TABLET  (≤1024px)
═══════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  header{padding:0 24px}
  .hero{padding:80px 32px 48px}
  .tools-section{padding:48px 24px 80px}
  .footer-main{padding:40px 32px 28px;gap:32px}
  .footer-bottom{padding:16px 32px}
  .blog-list-wrap{padding:40px 32px 64px}
  .blog-page-hero{padding:64px 32px 56px}
  .blog-article-header{padding:48px 32px 40px}
  .blog-article-body{padding:40px 20px 64px}

  /* ── Color Picker — tablet fix ── */
  .cp-page-wrap{padding:24px 24px 60px}
  .cp-card{padding:22px}
  .cp-main{grid-template-columns:1fr 260px}
  .cp-cc-wrap{grid-template-columns:1fr}
  .cp-combos-grid{grid-template-columns:1fr 1fr}
  .cp-theory-grid{grid-template-columns:repeat(3,1fr)}
  .cp-harmony-swatch-box{width:110px}

  /* Side-panel tools — collapse to stacked on tablet */
  .i2p-layout,.split-layout,.pn-layout,.wm-workspace,.sign-workspace{
    flex-direction:column;min-height:unset;
  }
  .i2p-panel,.split-panel,.pn-panel,.wm-panel,.sign-ws-right{
    width:100%;height:auto;max-height:none;position:relative;top:auto;
    border-left:none;border-top:1px solid var(--mist);flex-shrink:unset;
  }
  .sign-ws-left{width:100%;overflow-x:auto;overflow-y:hidden;padding:8px 12px;
    flex-direction:row;border-right:none;border-bottom:1px solid var(--mist)}
  .sign-page-thumb{width:60px;flex-shrink:0}
  .i2p-convert-btn{width:calc(100% - 32px);margin:16px auto}
  .split-action-btn,.pn-action-btn{width:calc(100% - 32px);margin:16px auto 24px}
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE  (≤768px)
═══════════════════════════════════════════════════════════ */
@media(max-width:768px){
  /* Header */
  header{padding:0 16px;height:60px}
  .nav-links{display:none}
  .hamburger{display:flex}
  /* Align dropdown to mobile header height */
  .mobile-nav{top:68px}

  /* Hero */
  .hero{padding:60px 20px 40px}
  .hero-title{letter-spacing:-1.5px;margin-bottom:14px}
  .hero-sub{font-size:16px;margin-bottom:28px}
  .hero-btns{gap:10px}
  .btn{padding:12px 20px;font-size:14px}

  /* Stats */
  .stats-bar{gap:24px;padding:24px 20px}
  .stat-num{font-size:22px}

  /* Tools section */
  .tools-section{padding:36px 16px 60px}
  .tools-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px}
  .tool-card{padding:20px 16px}
  .tool-card-arr{display:none}
  .search-wrap{max-width:100%}
  .cat-row{gap:6px}
  .cat-btn{padding:6px 14px;font-size:12px}
  .mob-nav-bar{display:flex}

  /* Tool page */
  .tool-page-header{padding:18px 16px}
  .tool-page-title{font-size:20px;letter-spacing:-.5px}
  .tool-page-subtitle{font-size:13px}
  .tool-page-icon{width:42px;height:42px;font-size:20px}
  .tool-workspace{padding:20px 16px}

  /* Upload zone */
  .upload-zone{padding:32px 16px}
  .upload-browse-btn{padding:12px 22px;font-size:14px}

  /* Result card */
  .result-card{flex-direction:column;align-items:flex-start;gap:12px}

  /* Tool panels — fully stacked */
  .i2p-layout,.split-layout,.pn-layout,.wm-workspace,.sign-workspace{
    flex-direction:column;min-height:unset;
  }
  .i2p-panel,.split-panel,.pn-panel,.wm-panel,.sign-ws-right{
    width:100%;height:auto;max-height:none;position:relative;top:auto;
    border-left:none;border-top:1px solid var(--mist);
  }
  .i2p-canvas,.split-canvas,.pn-canvas,.wm-left{padding:16px}
  .i2p-grid{gap:12px 12px}

  /* Rotate grid */
  .rotate-pages-grid{gap:10px}
  .rotate-page-card{width:130px}
  .rotate-thumb-wrap{height:162px}

  /* Merge grid */
  .merge-thumbs-grid{gap:10px}
  .merge-file-card{width:120px}
  .merge-thumb-preview{height:140px}

  /* Sign */
  .sign-setup-page{padding:20px 16px 32px}
  .sign-identity-row{flex-direction:column;gap:10px}
  .sign-avatar{margin-top:0}
  .sign-fields{flex-direction:column}
  .sign-field-group{min-width:100%}
  .sign-ws-left{flex-direction:row;overflow-x:auto;width:100%;
    border-right:none;border-bottom:1px solid var(--mist);padding:8px}
  .sign-page-thumb{width:52px;flex-shrink:0}
  .sign-ws-right{width:100%;height:auto;max-height:none;position:relative;
    border-left:none;border-top:1px solid var(--mist)}
  .sign-type-cards{flex-direction:row}

  /* Watermark panel */
  .wm-file-chip{max-width:200px}
  .wm-file-name{max-width:110px}

  /* Page numbers panel */
  .pn-thumb-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
  .pn-panel{position:relative;top:auto;height:auto;overflow-y:visible}

  /* Blog */
  .blog-page-hero{padding:48px 16px 40px}
  .blog-page-title{letter-spacing:-1.5px}
  .blog-stats-row{gap:20px}
  .blog-stat-num{font-size:22px}
  .blog-list-wrap{padding:28px 16px 48px}
  .blog-grid{grid-template-columns:1fr}
  .blog-featured{grid-template-columns:1fr}
  .blog-featured-visual{min-height:160px;padding:24px}
  .blog-featured-big-icon{font-size:64px}
  .blog-featured-body{padding:24px}
  .blog-featured-title{font-size:18px}
  .blog-article-body{padding:28px 16px 56px}
  .article-highlights{grid-template-columns:1fr 1fr}
  .article-related-grid{grid-template-columns:1fr}
  .blog-article-header{padding:36px 16px 28px}

  /* ── Blog article body — mobile fixes ── */
  /* Try button: full width */
  .blog-try-btn{
    display:block;width:100%;box-sizing:border-box;
    text-align:center;padding:14px 20px;font-size:14px;
  }
  /* Steps: tighter gap, smaller number */
  .article-step{gap:12px;padding:14px 0}
  .article-step-num{width:30px;height:30px;font-size:13px;flex-shrink:0}
  .article-step-content h4{font-size:13px}
  .article-step-content p{font-size:13px}
  /* FAQ */
  .faq-q{padding:12px 14px;font-size:13px}
  .faq-a{font-size:13px;line-height:1.6}
  /* Use-cases: 2-col */
  .article-usecases{grid-template-columns:repeat(2,1fr);gap:10px}
  .usecase-card{padding:12px}
  /* Related: 1-col already set, tighten card */
  .article-related-card{padding:12px 14px;gap:10px;width:100%;box-sizing:border-box}
  .article-related-name{white-space:normal;word-break:break-word;overflow-wrap:break-word}
  .article-related-grid{grid-template-columns:1fr}
  /* Highlights: 2-col */
  .article-highlights{grid-template-columns:1fr 1fr;gap:10px}
  .highlight-box{padding:14px 10px}
  .highlight-num{font-size:22px}
  /* Comparison: tighter text */
  .article-comparison-head,.article-comparison-row{
    grid-template-columns:1.3fr 1fr 1fr;font-size:12px;padding:10px 12px
  }

  /* Policy page */
  .policy-page-hero{padding:32px 16px 28px}
  .policy-page-content{padding:32px 16px 56px}

  /* Footer */
  .footer-main{
    grid-template-columns:1fr;gap:28px;
    padding:32px 16px 24px;
  }
  .footer-links-grid{gap:28px;flex-wrap:wrap}
  .footer-bottom{padding:14px 16px;flex-direction:column;gap:12px;text-align:center}
  .footer-bottom-links{gap:16px;flex-wrap:wrap;justify-content:center}

  /* Blog article back header */
  #blog-article-view > div:first-child{padding:16px 16px}

  /* ── Color Picker — full mobile fix ── */
  .cp-page-wrap{padding:12px 12px 48px}
  .cp-page-hero{margin-bottom:24px}
  .cp-page-hero h1{font-size:clamp(22px,6vw,32px);letter-spacing:-1px;margin-bottom:8px}
  .cp-page-hero p{font-size:14px}
  .cp-tabs{max-width:100%;margin-bottom:20px}
  .cp-tab{font-size:13px;padding:9px 10px}
  .cp-card{padding:16px;margin-bottom:16px}
  .cp-card-title{font-size:15px;margin-bottom:14px}
  .cp-main{grid-template-columns:1fr;gap:16px}
  .cp-right-panel{gap:12px}
  .cp-preview-box{height:60px}
  .cp-val-row{gap:6px}
  .cp-val-input{font-size:13px;padding:9px 10px}
  .cp-copy-btn{font-size:12px;padding:8px 10px}
  .cp-fmt-tabs{flex-wrap:wrap;gap:4px}
  .cp-fmt-tab{padding:4px 10px;font-size:11px}
  .cp-rgb-label{width:12px}
  .cp-harmony-tabs{gap:4px}
  .cp-harmony-tab{padding:6px 12px;font-size:12px}
  .cp-harmony-swatches{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;gap:10px}
  .cp-harmony-swatch-box{width:100px;height:56px}
  .cp-harmony-hex{font-size:11px}
  .cp-cc-wrap{grid-template-columns:1fr;gap:14px}
  .cp-cc-left{padding:16px;border-radius:var(--r)}
  .cp-cc-ratio-card{padding:12px 14px;gap:10px}
  .cp-cc-ratio-num{font-size:30px;min-width:68px}
  .cp-cc-right{min-height:180px;padding:20px 16px;border-radius:var(--r)}
  .cp-cc-levels{grid-template-columns:1fr 1fr}
  .cp-combos-info-grid{grid-template-columns:1fr}
  .cp-combos-grid{grid-template-columns:1fr}
  .cp-theory-grid{grid-template-columns:1fr}
  .cp-theory-box{padding:16px}
  .cp-img-drop{padding:32px 16px}
  .cp-img-picked-row{gap:10px}
  .cp-img-picked-swatch{width:44px;height:44px}
  .cp-img-picked-hex{font-size:16px}
  .cp-blog-grid{grid-template-columns:1fr}
  .cp-blog-section{margin-top:32px}
  .cp-blog-modal-inner{padding:24px}
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — SMALL MOBILE  (≤480px)
═══════════════════════════════════════════════════════════ */
@media(max-width:480px){
  .hero{padding:48px 16px 32px}
  .hero-title{font-size:clamp(28px,9vw,40px);letter-spacing:-1px}
  .tools-grid{grid-template-columns:1fr 1fr;gap:10px}
  .tool-card{padding:16px 12px}
  .tool-card-icon{width:38px;height:38px;font-size:18px;margin-bottom:12px}
  .tool-card-title{font-size:13px}
  .tool-card-desc{font-size:12px}

  .stats-bar{gap:16px 28px;padding:20px 16px}

  /* Merge / rotate smaller cards */
  .merge-file-card{width:105px}
  .merge-thumb-preview{height:124px}
  .rotate-page-card{width:110px}
  .rotate-thumb-wrap{height:136px}

  .article-highlights{grid-template-columns:1fr}
  .wm-pos-grid{width:88px}
  .wm-pos-cell{width:26px;height:26px}

  .footer-bottom-links{gap:10px}
  .sign-type-cards{flex-direction:column}
  .sign-tabs .sign-tab{font-size:12px;padding:10px 8px}

  /* ── Color Picker — small mobile fix ── */
  .cp-page-wrap{padding:8px 8px 40px}
  .cp-card{padding:12px}
  .cp-page-hero h1{font-size:clamp(18px,7vw,26px)}
  .cp-tabs{padding:3px}
  .cp-tab{font-size:12px;padding:8px 8px}
  .cp-harmony-swatch-box{width:80px;height:48px}
  .cp-cc-ratio-num{font-size:26px;min-width:56px}
  .cp-cc-levels{grid-template-columns:1fr}
  .cp-val-input{font-size:12px}
  .cp-copy-btn{font-size:11px;padding:7px 8px}
  .cp-fmt-tab{padding:3px 8px;font-size:10px}
  .cp-img-drop{padding:24px 12px}
  .cp-img-picked-swatch{width:36px;height:36px}
  .cp-img-picked-hex{font-size:14px}
}

/* ═══════════════════════════════════════════════════════════
   MEGA-MENU — ALL TOOLS DROPDOWN
═══════════════════════════════════════════════════════════ */
.nav-tools-wrap{position:relative}
.nav-tools-wrap:hover .tools-mega-menu,
.tools-mega-menu:hover{opacity:1;pointer-events:all;transform:translateY(0)}
.nav-tools-trigger{display:inline-flex;align-items:center;gap:5px;cursor:pointer}
.nav-tools-trigger svg{transition:transform .2s}
.nav-tools-wrap:hover .nav-tools-trigger svg{transform:rotate(180deg)}
.tools-mega-menu{
  position:fixed;top:64px;left:0;right:0;
  background:#fff;border-top:1px solid var(--mist);
  border-bottom:2px solid var(--mist);
  box-shadow:0 16px 48px rgba(0,0,0,.10);
  z-index:190;padding:32px 48px 36px;
  opacity:0;pointer-events:none;transform:translateY(-6px);
  transition:opacity .2s ease,transform .2s ease;overflow-x:auto;
}
.mega-inner{display:flex;gap:0;max-width:1300px;margin:0 auto;}
.mega-col{flex:1;min-width:160px;padding:0 24px;border-right:1px solid var(--mist)}
.mega-col:first-child{padding-left:0}
.mega-col:last-child{border-right:none;padding-right:0}
.mega-col-title{
  font-family:'Syne',sans-serif;font-size:11px;font-weight:700;
  color:var(--slate);text-transform:uppercase;letter-spacing:1.5px;
  margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--mist);
}
.mega-tool-item{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:var(--r-sm);
  cursor:pointer;transition:all .15s;margin-bottom:2px;
}
.mega-tool-item:hover{background:var(--cream)}
.mega-tool-item:hover .mega-tool-name{color:var(--ink)}
.mega-tool-icon{
  width:30px;height:30px;border-radius:7px;background:var(--cream);
  display:flex;align-items:center;justify-content:center;
  font-size:15px;flex-shrink:0;transition:.15s;
}
.mega-tool-item:hover .mega-tool-icon{background:var(--ink)}
.mega-tool-name{
  font-size:13px;font-weight:600;color:var(--slate);
  transition:.15s;line-height:1.2;font-family:'DM Sans',sans-serif;
}
.mega-tool-item:hover .mega-tool-name{color:var(--ink)}
@media(max-width:768px){.tools-mega-menu{display:none}}



  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Segoe UI',Arial,sans-serif;background:#f8fafc;color:#1a1a1a;padding:32px}
  .report-header{background:linear-gradient(135deg,#0a0a0a 0%,#1a1a2e 100%);color:#fff;border-radius:16px;padding:36px 40px;margin-bottom:32px}
  .report-title{font-size:28px;font-weight:800;letter-spacing:-1px;margin-bottom:6px}
  .report-sub{font-size:14px;opacity:.7;margin-bottom:24px}
  .report-files{display:flex;gap:16px;flex-wrap:wrap}
  .report-file{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:10px;padding:14px 20px;flex:1;min-width:200px}
  .report-file-label{font-size:11px;font-weight:700;opacity:.6;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}
  .report-file-name{font-size:15px;font-weight:600}
  .summary{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px;margin-bottom:32px}
  .summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:18px;text-align:center}
  .summary-num{font-size:28px;font-weight:800;margin-bottom:4px}
  .summary-label{font-size:11px;color:#6b7280;font-weight:600;text-transform:uppercase;letter-spacing:.5px}
  .legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:24px;padding:14px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px}
  .legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#4b5563}
  .legend-dot{width:16px;height:16px;border-radius:4px;flex-shrink:0}
  @media print{body{padding:0;background:#fff}.report-header{border-radius:0}}

/* ══════════════════════════════════════════════
   COLOR PICKER — MOBILE & TABLET RESPONSIVE
   Breakpoints: 768px (tablet), 480px (mobile)
══════════════════════════════════════════════ */

/* ── Tablet (≤768px) ── */
@media(max-width:768px){

  /* Card padding reduction */
  .cp-card{padding:20px}

  /* Main picker already stacks via existing rule — fix right panel gaps */
  .cp-right-panel{gap:12px}

  /* Preview box shorter on mobile */
  .cp-preview-box{height:64px}

  /* Harmony swatches: allow wrapping & full width */
  .cp-harmony-swatches{gap:10px}
  .cp-harmony-swatch-box{width:100px;height:56px}

  /* Contrast checker right preview shorter */
  .cp-cc-right{min-height:200px;padding:24px 20px}
  .cp-cc-ratio-num{font-size:34px;min-width:76px}

  /* Advanced contrast: ratio hero  */
  .acc-ratio-hero{padding:20px 20px;gap:20px}
  .acc-big-ratio{font-size:40px}
  .acc-hero-right{margin-left:0}

  /* Advanced contrast: level cards already stack at 600px */
  .acc-tab-panel{padding:16px}
  .acc-preview-aa-big{font-size:52px}

  /* Blog modal */
  .cp-blog-modal-inner{padding:24px}

  /* Footer footer-bottom inline padding override */
  footer .footer-bottom{padding:16px 20px !important}
}

/* ── Mobile (≤480px) ── */
@media(max-width:480px){

  /* Page wrap padding */
  .cp-page-wrap{padding:16px 14px 60px}

  /* Card padding */
  .cp-card{padding:14px}
  .cp-card-title{font-size:15px;margin-bottom:14px}

  /* Tabs: full width pills */
  .cp-tabs{max-width:100%}
  .cp-tab{font-size:13px;padding:8px 10px}

  /* Main picker canvas */
  .cp-sv-wrap{aspect-ratio:1.3}

  /* Right panel stacked */
  .cp-right-panel{gap:10px}
  .cp-preview-box{height:52px}

  /* Hex input & copy button */
  .cp-val-input{font-size:13px;padding:8px 10px}
  .cp-copy-btn{padding:8px 12px;font-size:12px}

  /* Format tabs: scrollable row */
  .cp-fmt-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}
  .cp-fmt-tab{white-space:nowrap}

  /* RGB sliders */
  .cp-rgb-label{width:12px}
  .cp-rgb-val{width:28px;font-size:11px}

  /* Harmony swatch smaller */
  .cp-harmony-swatch-box{width:80px;height:48px}
  .cp-harmony-hex{font-size:11px}

  /* Swatches row — each swatch narrower */
  .cp-swatch{width:52px}
  .cp-swatch-box{height:44px}
  .cp-swatch-pct{font-size:10px}

  /* Harmony tabs: scroll instead of wrap */
  .cp-harmony-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch;gap:4px}
  .cp-harmony-tab{white-space:nowrap;padding:6px 12px;font-size:12px}

  /* Contrast ratio number */
  .cp-cc-ratio-num{font-size:28px;min-width:60px}

  /* Image picker buttons — wrap on small screens */
  .cp-img-picked-row{flex-direction:column;align-items:flex-start}
  .cp-img-picked-swatch{width:44px;height:44px}
  #cp-img-canvas-area div[style*="display:flex;gap:8px"]{flex-wrap:wrap}

  /* Blog grid: single column */
  .cp-blog-grid{grid-template-columns:1fr}
  .cp-blog-modal-inner{padding:16px}

  /* Advanced contrast page */
  .acc-page-wrap{padding:16px 14px 60px}
  .acc-ratio-hero{flex-direction:column;align-items:flex-start;gap:12px;padding:16px}
  .acc-big-ratio{font-size:36px}
  .acc-hero-right{margin-left:0;text-align:left}
  .acc-hero-stars{justify-content:flex-start}
  .acc-tabs{overflow-x:auto;flex-wrap:nowrap}
  .acc-tab{white-space:nowrap;flex:0 0 auto;font-size:12px;padding:10px 10px}
  .acc-tab-panel{padding:12px}
  .acc-preview-aa-big{font-size:40px}
  .acc-preview-inner{padding:24px 16px;min-height:280px}

  /* Color combinations: full width bar */
  .cp-combo-bar{height:36px}

  /* Footer */
  footer .footer-bottom{padding:14px 16px !important;flex-direction:column;gap:10px;text-align:center}
  footer .footer-bottom-links{flex-wrap:wrap;justify-content:center}
}

html, body {
    height: 100%;
    margin: 0;
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

footer {
    margin-top: auto;
}