/* =====================================================================
   The repair network (skins/repair/base.html).
   One structure, twelve looks: everything below the theme section reads
   tokens only, and each site sets its own tokens + a few signature rules
   under body.rp-<tenant id>. Mobile-first; desktop from 961px.
   ===================================================================== */

/* ---------- Default tokens (overridden per site) ---------- */
.rp{
  --bg:#f7f8fa; --surface:#fff; --surface-2:#f0f2f5; --ink:#141820; --mut:#586070; --line:#e2e5ea;
  --a:#2563eb; --a-deep:#1d4ed8; --a-ink:#fff; --a-soft:#eaf1ff; --ok:#16a34a; --ok-ink:#fff;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; --font-h:var(--font); --font-mono:ui-monospace,"SF Mono",Menlo,monospace;
  --h-weight:800; --h-track:-.02em; --h-case:none;
  --r:14px; --r-btn:10px; --bw:1px; --card-line:var(--line);
  --shadow:0 1px 2px rgba(16,24,40,.05),0 8px 24px -12px rgba(16,24,40,.12);
  --hdr-bg:rgba(255,255,255,.92); --hdr-ink:var(--ink); --hdr-line:var(--line);
  --hero-bg:var(--surface); --btn-bg:var(--a);
  --foot-bg:var(--surface); --foot-ink:var(--ink); --foot-mut:var(--mut); --foot-line:var(--line);
  --hdr-h:64px;
}

/* ---------- Base ---------- */
.rp,.rp *,.rp *::before,.rp *::after{box-sizing:border-box}
html:has(body.rp){-webkit-text-size-adjust:100%}
body.rp{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 var(--font);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.rp.rp-lock{overflow:hidden}
.rp h1,.rp h2,.rp h3,.rp h4{font-family:var(--font-h);font-weight:var(--h-weight);letter-spacing:var(--h-track);line-height:1.18;color:var(--ink);margin:0}
.rp a{color:var(--a);text-decoration:none}
.rp a:hover{color:var(--a-deep)}
.rp p{margin:0 0 14px}
.rp img{max-width:100%;height:auto}
.rp :focus-visible{outline:2px solid var(--a);outline-offset:2px}
.rp-wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* ---------- Header ---------- */
.rp-header{position:sticky;top:0;z-index:50;background:var(--hdr-bg);border-bottom:var(--bw) solid var(--hdr-line);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px)}
.rp-bar{max-width:1120px;margin:0 auto;height:var(--hdr-h);padding:0 20px;display:flex;align-items:center;gap:14px}
.rp-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--hdr-ink)!important;text-decoration:none!important}
.rp-logo{flex:none;display:block;width:36px;height:36px}
.rp-word{font-family:var(--font-h);font-weight:700;font-size:19px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-word b{font-weight:inherit;color:var(--a)}
.rp-nav{display:none}
.rp-cta{display:none}
.rp-burger{margin-left:auto;flex:none;display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0 11px;
  background:transparent;border:var(--bw) solid var(--line);border-radius:max(8px,var(--r-btn));cursor:pointer;color:var(--hdr-ink)}
.rp-burger span{display:block;height:2px;background:currentColor;border-radius:2px;transition:transform .22s,opacity .18s}
.rp-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.rp-burger.is-open span:nth-child(2){opacity:0}
.rp-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}


/* ---------- Mobile drawer ---------- */
.rp-drawer{position:fixed;inset:var(--hdr-h) 0 0 0;z-index:49;background:rgba(8,10,14,.5);opacity:0;transition:opacity .25s}
.rp-drawer.is-open{opacity:1}
.rp-drawer-in{position:absolute;top:0;right:0;bottom:0;width:min(400px,100%);overflow-y:auto;-webkit-overflow-scrolling:touch;
  background:var(--surface);color:var(--ink);padding:10px 0 32px;transform:translateX(100%);transition:transform .26s ease;
  box-shadow:-20px 0 40px -24px rgba(0,0,0,.5)}
.rp-drawer.is-open .rp-drawer-in{transform:none}
.rp-drawer-site a{display:block;padding:13px 22px;font-size:16px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line)}
.rp-drawer-site a:hover{background:var(--surface-2);color:var(--a)}
.rp-drawer-cta{display:block;margin:18px 22px 6px;padding:14px 18px;text-align:center;border-radius:var(--r-btn);background:var(--btn-bg);color:var(--a-ink)!important;font-weight:700}
.rp .rp-drawer-title{margin:22px 22px 10px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
.rp-drawer-net{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;padding:0 22px}
.rp-drawer-net a{display:block;padding:9px 0;color:var(--ink);font-size:15px;font-weight:600;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.rp-drawer-net a:hover{color:var(--a);text-decoration-color:var(--a)}

/* ---------- Main ---------- */
.rp-main{max-width:1120px;margin:0 auto;padding:12px 20px 56px}
.rp .crumbs{font-size:13px;color:var(--mut);margin:14px 0 6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.rp .crumbs a{color:var(--mut)}
.rp .crumbs a:hover{color:var(--a)}
.rp .crumbs span{opacity:.6}
.rp .crumbs .cur{opacity:1;color:var(--ink)!important}

/* ---------- Hero (flush on phones, a card on desktop) ---------- */
.rp .hero{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding:18px 0 8px;margin:0 0 20px}
.rp .hero-h1{font-size:clamp(30px,8vw,46px);text-transform:var(--h-case);margin:0 0 12px}
.rp .hero-lead{font-size:17px;color:var(--mut);margin:0 0 16px;max-width:560px}
.rp .hero-badges{list-style:none;display:flex;flex-wrap:wrap;gap:7px;padding:0;margin:0}
.rp .hero-badges li{font-size:12.5px;font-weight:600;padding:5px 11px;border-radius:999px;background:var(--a-soft);color:var(--a-deep)}
.rp .hero-badges li::before{content:"✓ "}
.rp .hero-tool{min-width:0}
.rp .hero-steps{margin:16px 0 0;padding-left:20px;color:var(--mut);font-size:14.5px}
.rp .hero-steps li{margin:4px 0}
.rp .hero-steps li::marker{color:var(--a);font-weight:700}

.rp-alt{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:18px 0 0;padding-top:16px;border-top:1px dashed var(--line);font-size:14px}
.rp-alt span{font-weight:700;color:var(--ink)}
.rp-alt a{font-weight:600;color:var(--a);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--a) 35%,transparent);text-underline-offset:3px}
.rp-alt a:hover{text-decoration-color:currentColor}

/* ---------- Upload widget ---------- */
.rp .cv-widget{background:var(--surface);border:var(--bw) solid var(--card-line);border-radius:var(--r);padding:8px;box-shadow:var(--shadow)}
.rp .cv-drop{padding:30px 18px;text-align:center;border:2px dashed var(--line);border-radius:calc(var(--r) - 4px);background:var(--surface-2);transition:.18s;cursor:pointer}
.rp .cv-drop.cv-over{border-color:var(--a);background:var(--a-soft)}
.rp .cv-drop-inner{display:flex;flex-direction:column;align-items:center;gap:2px}
.rp .cv-icon{display:grid;place-items:center;width:56px;height:56px;border-radius:calc(var(--r) - 2px);background:var(--a-soft);color:var(--a);font-size:24px}
.rp .cv-drop-title{font-family:var(--font-h);font-weight:700;font-size:18px;color:var(--ink);margin:12px 0 2px}
.rp .cv-drop-hint{font-size:14px;color:var(--mut);margin:0 0 14px}
.rp .cv-btn{font:700 16px/1 var(--font);padding:15px 32px;min-width:200px;border:0;border-radius:var(--r-btn);background:var(--btn-bg);color:var(--a-ink);cursor:pointer;transition:transform .12s,filter .15s}
.rp .cv-btn:hover{filter:brightness(1.08)}
.rp .cv-btn:active{transform:translateY(1px)}
.rp .cv-accept{font-size:12.5px;color:var(--mut);margin:12px 0 0}
.rp .cv-status{text-align:center;font-size:14px;font-weight:600;padding:8px}
.rp .cv-status:empty{display:none}
.rp .cv-status.cv-busy{color:var(--a)}
.rp .cv-status.cv-ok{color:var(--ok)}
.rp .cv-status.cv-error{color:#e5484d}
.rp .cv-result{text-align:center}
.rp .cv-result:empty{display:none}
.rp .cv-result>*{margin:4px 0 10px}
.rp .cv-download{display:inline-block;padding:13px 26px;border-radius:var(--r-btn);background:var(--ok);color:var(--ok-ink)!important;font-weight:700}
.rp .cv-loading .cv-drop{opacity:.55;pointer-events:none}

/* ---------- Sections ---------- */
.rp .section-h,.rp .faq-title{font-size:clamp(22px,5.6vw,28px);text-transform:var(--h-case);margin:0 0 18px}
.rp .toolgrid-wrap,.rp .other-tools,.rp .content-body,.rp .articles-strip,.rp .faq,.rp .cluster-block{margin:44px 0}
.rp .toolgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.rp .tool-card{display:flex;flex-direction:column;gap:4px;padding:18px;background:var(--surface);border:var(--bw) solid var(--card-line);border-radius:var(--r);box-shadow:var(--shadow);transition:.15s}
.rp .tool-card:hover{border-color:var(--a);transform:translateY(-2px)}
.rp .tool-card.is-main{box-shadow:inset 0 3px 0 var(--a),var(--shadow)}
.rp .tool-card-label{font-family:var(--font-h);font-weight:700;color:var(--ink)}
.rp .tool-card-short{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--a)}
.rp .tool-card-lead{font-size:13.5px;color:var(--mut)}

.rp .longform{max-width:760px;background:var(--surface);border:var(--bw) solid var(--card-line);border-radius:var(--r);padding:24px 20px;box-shadow:var(--shadow)}
.rp .longform .lead-copy,.rp .longform .lead-copy p{font-size:17px;color:var(--ink)}
.rp .longform h2{font-size:clamp(21px,5vw,25px);margin:28px 0 10px}
.rp .longform h3{font-size:18px;margin:22px 0 8px}
.rp .longform p,.rp .longform li{color:var(--mut)}
.rp .longform strong{color:var(--ink)}
.rp .longform a{font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--a) 35%,transparent);text-underline-offset:3px}
.rp .longform ul,.rp .longform ol{padding-left:22px;margin:0 0 14px}
.rp .longform table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;font-size:14px;margin:0 0 16px}
.rp .longform th,.rp .longform td{border:1px solid var(--line);padding:8px 10px;text-align:left}
.rp .longform pre,.rp .longform code{font-family:var(--font-mono);font-size:.9em}
.rp .longform pre{background:var(--surface-2);padding:14px;border-radius:calc(var(--r) - 4px);overflow-x:auto}
.rp .content-body>p{color:var(--mut)}

/* Articles */
.rp .articles-strip-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 16px;margin-bottom:18px}
.rp .articles-strip-head .section-h{margin:0}
.rp .more-link{font-weight:700;font-size:14.5px}
.rp .art-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.rp .art-card{display:flex;flex-direction:column;gap:6px;padding:20px;background:var(--surface);border:var(--bw) solid var(--card-line);border-radius:var(--r);box-shadow:var(--shadow);transition:.15s}
.rp .art-card:hover{border-color:var(--a);transform:translateY(-2px)}
.rp .art-cluster{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--a)}
.rp .art-title{font-family:var(--font-h);font-weight:700;font-size:17px;line-height:1.3;color:var(--ink)}
.rp .art-excerpt{font-size:14px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.rp .art-meta{margin-top:auto;padding-top:6px;font-size:12px;color:var(--mut)}

/* FAQ */
.rp .faq-list{max-width:760px;display:flex;flex-direction:column;gap:10px}
.rp .faq-item{background:var(--surface);border:var(--bw) solid var(--card-line);border-radius:var(--r)}
.rp .faq-q{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:14px;padding:16px 18px;font-weight:700;color:var(--ink)}
.rp .faq-q::-webkit-details-marker{display:none}
.rp .faq-q::after{content:"+";flex:none;color:var(--a);font-size:20px;line-height:1}
.rp .faq-item[open]{border-color:var(--a)}
.rp .faq-item[open] .faq-q::after{content:"−"}
.rp .faq-qh{margin:0;font:inherit;letter-spacing:inherit;text-transform:none;color:inherit}
.rp .faq-a{padding:0 18px 16px;color:var(--mut)}

/* Article page */
.rp .article{max-width:780px;background:var(--surface);border:var(--bw) solid var(--card-line);border-radius:var(--r);padding:24px 20px;box-shadow:var(--shadow)}
.rp .article-head h1{font-size:clamp(27px,7vw,38px);margin:8px 0 10px}
.rp .article-meta{font-size:13px;color:var(--mut)}
.rp .article .longform{border:0;padding:0;background:none;box-shadow:none;max-width:none}
.rp .article-body{font-size:16.5px}
.rp .article .faq{margin:36px 0 0}
.rp .tool-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:22px 0;padding:16px 18px;
  background:var(--a-soft);border-radius:var(--r);color:var(--ink);font-weight:600}
.rp .cta-btn{display:inline-block;padding:12px 20px;border-radius:var(--r-btn);background:var(--btn-bg);color:var(--a-ink)!important;font-weight:700}

/* Index / FAQ / help pages */
.rp .page-head{margin:18px 0 8px}
.rp .page-head h1{font-size:clamp(28px,7vw,40px)}
.rp .page-head-lead{font-size:17px;color:var(--mut);max-width:640px;margin-top:10px}
.rp .empty-note{padding:22px;text-align:center;color:var(--mut);border:1px dashed var(--line);border-radius:var(--r)}
.rp .error-page{text-align:center;padding:72px 0}
.rp .error-page h1{font-size:88px;color:var(--a)}
.rp .job-card{border-radius:var(--r)!important;border:var(--bw) solid var(--card-line)!important}

/* ---------- Network section ---------- */
.rp-net{background:var(--surface-2);border-top:var(--bw) solid var(--line);padding:44px 0}
.rp .rp-net-h{margin:0;font-family:var(--font-h);font-weight:var(--h-weight);letter-spacing:var(--h-track);line-height:1.18;color:var(--ink);font-size:clamp(22px,5.6vw,28px);text-transform:var(--h-case)}
.rp .rp-net-lead{color:var(--mut);margin:8px 0 20px;max-width:620px}
.rp-net-links{columns:2;column-gap:24px}
.rp-net-links a{display:block;padding:7px 0;font-weight:600;font-size:15.5px;color:var(--ink);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px;break-inside:avoid}
.rp-net-links a:hover{color:var(--a);text-decoration-color:var(--a)}

/* ---------- Footer ---------- */
.rp-footer{background:var(--foot-bg);color:var(--foot-mut);border-top:var(--bw) solid var(--foot-line);padding:40px 0 24px;font-size:14px}
.rp-foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px 20px}
.rp-foot-brand{grid-column:1/-1}
.rp-foot-brand .rp-brand{color:var(--foot-ink)!important}
.rp .rp-foot-brand p{margin:12px 0 0;max-width:340px}
.rp .rp-foot-h{font-family:var(--font);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--foot-ink);margin:0 0 10px}
.rp-foot-col a{display:block;padding:5px 0;color:var(--foot-mut)}
.rp-foot-col a:hover{color:var(--a)}
.rp-foot-net{display:none}
.rp .rp-copy{margin-top:28px!important;padding-top:18px!important;border-top:1px solid var(--foot-line);font-size:12.5px}

/* ---------- ≥600px ---------- */
@media (min-width:600px){
  .rp-net-links{columns:3}
  .rp .longform,.rp .article{padding:34px 36px}
}

/* ---------- Desktop ≥961px ---------- */
@media (min-width:961px){
  .rp-burger,.rp-drawer{display:none!important}
  .rp-nav{display:flex;align-items:center;gap:2px;margin-left:auto}
  .rp-nav>a,.rp-dd-btn{font:600 14.5px/1 var(--font);padding:10px 12px;border-radius:var(--r-btn);color:var(--hdr-ink);opacity:.8;background:none;border:0;cursor:pointer}
  .rp-nav>a:hover,.rp-dd-btn:hover,.rp-dd-btn[aria-expanded="true"]{opacity:1;background:var(--surface-2);color:var(--hdr-ink)}
  .rp-nav>a.is-main{opacity:1;color:var(--a)}
  .rp-dd{position:relative}
  .rp-dd-btn span{font-size:11px;margin-left:2px}
  .rp-dd-panel{position:absolute;right:-120px;top:calc(100% + 12px);width:500px;padding:18px 18px 12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
    box-shadow:0 24px 60px -20px rgba(0,0,0,.35)}
  .rp .rp-dd-title{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--mut)}
  .rp-dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 12px}
  .rp-dd-grid a{display:block;padding:8px 6px;font-size:14.5px;font-weight:600;color:var(--ink);border-radius:6px}
  .rp-dd-grid a:hover{color:var(--a);text-decoration:underline;text-underline-offset:3px}
  .rp-cta{display:inline-block;margin-left:10px;padding:11px 18px;border-radius:var(--r-btn);background:var(--btn-bg);color:var(--a-ink)!important;font-weight:700;font-size:14.5px;white-space:nowrap}
  .rp-cta:hover{filter:brightness(1.08)}

  .rp-main{padding-top:20px}
  .rp .hero{grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;padding:44px;margin:18px 0 20px;
    background:var(--hero-bg);border:var(--bw) solid var(--card-line);border-radius:calc(var(--r) + 4px);box-shadow:var(--shadow)}
  .rp .hero-lead{font-size:18px}
  .rp .cv-drop{padding:40px 24px}
  .rp .article{padding:44px 52px}
  .rp-foot-grid{grid-template-columns:1.3fr .8fr .8fr 1.5fr;gap:32px}
  .rp-foot-brand{grid-column:auto}
  .rp-net-links{columns:4}
  .rp-foot-net{display:grid;grid-template-columns:1fr 1fr;column-gap:16px;align-content:start}
  .rp-foot-net .rp-foot-h{grid-column:1/-1}
}
@media (max-width:380px){
  .rp-bar,.rp-main,.rp-wrap{padding-left:16px;padding-right:16px}
  .rp-word{font-size:17px}
  .rp .cv-btn{min-width:0;width:100%}
}
@media (prefers-reduced-motion:reduce){.rp *{transition:none!important}}

/* =====================================================================
   Site themes
   ===================================================================== */

/* zip.repair — workshop: cream paper, ink outlines, hard offset shadows */
.rp-ziprep{--bg:#fbf6ee;--surface:#fffdf9;--surface-2:#f4ecdf;--ink:#1c1917;--mut:#57524b;--line:#1c1917;--card-line:#1c1917;
  --a:#e8551d;--a-deep:#c2410c;--a-soft:#fde5d7;--font:"Space Grotesk",system-ui,sans-serif;--h-weight:700;--h-track:-.03em;
  --r:6px;--r-btn:6px;--bw:2px;--shadow:4px 4px 0 #1c1917;--hdr-bg:#fbf6ee;
  --foot-bg:#1c1917;--foot-ink:#fbf6ee;--foot-mut:#bdb4a6;--foot-line:#3a3531}
.rp-ziprep .cv-drop{border-color:#1c1917;border-width:2px}
.rp-ziprep .cv-btn,.rp-ziprep .rp-cta,.rp-ziprep .cta-btn,.rp-ziprep .rp-drawer-cta{border:2px solid #1c1917;box-shadow:3px 3px 0 #1c1917}
.rp-ziprep .hero-badges li{background:#fff;border:1.5px solid #1c1917;color:#1c1917}
.rp-ziprep .rp-alt,.rp-ziprep .rp-drawer-site a{border-color:#d8cdbd}
.rp-ziprep .rp-drawer-net a,.rp-ziprep .rp-net-links a{text-decoration-color:#cbbfae}
.rp-ziprep .tool-card:hover,.rp-ziprep .art-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 #1c1917;border-color:#1c1917}
.rp-ziprep .faq-item{box-shadow:3px 3px 0 #1c1917}
.rp-ziprep .rp-footer .rp-word b{color:#ff7a45}

/* jpeg.repair — darkroom print: warm paper, serif display, photo-frame cards */
.rp-jpegrep{--bg:#f7f3ee;--surface:#fff;--surface-2:#efe9e1;--ink:#231815;--mut:#6c5f58;--line:#e4dbd1;
  --a:#b83227;--a-deep:#962a21;--a-soft:#f8e3df;--font:"Inter",system-ui,sans-serif;--font-h:"Fraunces",Georgia,serif;--h-weight:700;--h-track:-.015em;
  --r:4px;--r-btn:999px;--shadow:0 2px 0 rgba(35,24,21,.04),0 18px 40px -26px rgba(35,24,21,.45);
  --hero-bg:linear-gradient(160deg,#fff 0%,#fbf5ef 100%);--hdr-bg:rgba(247,243,238,.92);
  --foot-bg:#231815;--foot-ink:#f7f3ee;--foot-mut:#b5a79e;--foot-line:#3b2d28}
.rp-jpegrep .cv-widget{padding:12px 12px 16px;border:0;box-shadow:0 1px 0 #e4dbd1,0 26px 50px -28px rgba(35,24,21,.55)}
.rp-jpegrep .art-card{padding:10px 10px 18px}
.rp-jpegrep .art-card>*{padding:0 10px}
.rp-jpegrep .art-card::before{content:"";display:block;height:6px;margin-bottom:8px;border-radius:2px;background:linear-gradient(90deg,#b83227,#e0a458,#5f7a61)}
.rp-jpegrep .hero-h1 {font-style:italic}
.rp-jpegrep .rp-footer .rp-word b{color:#f08a7e}

/* png.repair — transparency: checkerboard canvas, crisp blue */
.rp-pngrep{--bg:#fff;--surface:#fff;--surface-2:#f4f7fc;--ink:#0f1a2e;--mut:#56627a;--line:#e3e9f3;
  --a:#2d7ff9;--a-deep:#1765dc;--a-soft:#e6f0ff;--font:"Inter",system-ui,sans-serif;--font-h:"Sora",system-ui,sans-serif;--h-weight:700;
  --r:16px;--r-btn:12px;
  --hero-bg:conic-gradient(#f3f6fb 90deg,#fff 90deg 180deg,#f3f6fb 180deg 270deg,#fff 270deg) 0 0/24px 24px;
  --foot-bg:#0f1a2e;--foot-ink:#fff;--foot-mut:#9aa7bf;--foot-line:#24324d}
.rp-pngrep .cv-drop{background:conic-gradient(#eef3fa 90deg,#fff 90deg 180deg,#eef3fa 180deg 270deg,#fff 270deg) 0 0/18px 18px}
.rp-pngrep .hero-h1{background:linear-gradient(90deg,#0f1a2e 40%,#2d7ff9);-webkit-background-clip:text;background-clip:text;color:transparent}
.rp-pngrep .rp-footer .rp-word b{color:#7fb2ff}

/* gif.repair — playful: lilac, bubbly type, pill shapes, violet→pink */
.rp-gifrep{--bg:#faf6ff;--surface:#fff;--surface-2:#f3ebff;--ink:#2e1065;--mut:#6d5c96;--line:#ebe2fb;
  --a:#8b5cf6;--a-deep:#7c3aed;--a-soft:#efe7ff;--font:"Nunito",system-ui,sans-serif;--font-h:"Baloo 2",system-ui,sans-serif;--h-weight:800;--h-track:-.01em;
  --r:24px;--r-btn:999px;--btn-bg:linear-gradient(135deg,#8b5cf6,#ec4899);
  --shadow:0 12px 30px -18px rgba(124,58,237,.45);--hero-bg:radial-gradient(120% 90% at 100% 0%,#fde7f3 0%,transparent 55%),#fff;
  --foot-bg:#2e1065;--foot-ink:#fff;--foot-mut:#c4b5fd;--foot-line:#4c1d95}
.rp-gifrep .cv-drop{border-color:#d8c7fb}
.rp-gifrep .hero-badges li:nth-child(2n){background:#fde7f3;color:#be185d}
.rp-gifrep .rp-footer .rp-word b{color:#f9a8d4}

/* mov.repair — cinema: near-black, red, condensed uppercase headlines */
.rp-movrep{color-scheme:dark;--bg:#0b0c10;--surface:#15171e;--surface-2:#1c1f28;--ink:#f3f4f6;--mut:#9ca3af;--line:#2a2e39;
  --a:#ef4444;--a-deep:#f87171;--a-soft:rgba(239,68,68,.14);--font:"Archivo",system-ui,sans-serif;--h-weight:900;--h-track:-.01em;--h-case:uppercase;
  --r:10px;--r-btn:6px;--shadow:0 24px 50px -30px rgba(0,0,0,.9);
  --hdr-bg:rgba(5,6,8,.9);--hero-bg:radial-gradient(90% 120% at 100% 0%,rgba(239,68,68,.18),transparent 60%),#15171e;
  --foot-bg:#050608;--foot-mut:#8b919c;--foot-line:#1e2129}
.rp-movrep .hero-h1::after{content:"";display:block;width:64px;height:4px;margin-top:14px;background:var(--a)}
.rp-movrep .cv-drop{background:#0b0c10}
.rp-movrep .cv-btn,.rp-movrep .rp-cta{text-transform:uppercase;letter-spacing:.06em;font-size:14px}
.rp-movrep .hero-badges li{border-radius:4px;text-transform:uppercase;letter-spacing:.05em;font-size:11px;background:#1c1f28;color:#e5e7eb}
.rp-movrep .hero-badges li::before{content:"● ";color:var(--a)}
.rp-movrep .rp-header{border-bottom-color:#000;box-shadow:0 4px 0 #000}

/* mkv.repair — slate: dark teal-grey, technical mono accents */
.rp-mkvrep{color-scheme:dark;--bg:#0e1618;--surface:#152124;--surface-2:#1a2a2e;--ink:#e3efec;--mut:#91a7a3;--line:#243a3e;
  --a:#2dd4bf;--a-deep:#5eead4;--a-ink:#042f2a;--a-soft:rgba(45,212,191,.12);--font:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--h-weight:700;
  --r:8px;--r-btn:6px;--shadow:0 20px 40px -28px rgba(0,0,0,.8);--hdr-bg:rgba(14,22,24,.9);
  --hero-bg:linear-gradient(#152124,#152124) padding-box,linear-gradient(135deg,#2dd4bf,#243a3e 40%) border-box;
  --foot-bg:#0a1012;--foot-mut:#7f9692;--foot-line:#1b2b2e}
.rp-mkvrep .section-h::before,.rp-mkvrep .faq-title::before,.rp-mkvrep .rp-net-h::before{content:"// ";font-family:var(--font-mono);color:var(--a);font-weight:500}
.rp-mkvrep .art-cluster,.rp-mkvrep .hero-badges li{font-family:var(--font-mono)}
.rp-mkvrep .hero-badges li{border-radius:4px}
@media (min-width:961px){.rp-mkvrep .hero{border:1px solid transparent}}

/* avi.repair — VHS: tape-label cream, rainbow tracking stripes, black labels */
.rp-avirep{--bg:#f3eee4;--surface:#fffcf6;--surface-2:#ebe4d6;--ink:#211a12;--mut:#62574a;--line:#dcd2c1;
  --a:#c2410c;--a-deep:#9a3412;--a-soft:#fbe4d3;--font:"Chivo",system-ui,sans-serif;--font-mono:"Chivo Mono",ui-monospace,monospace;--h-weight:900;--h-track:-.02em;
  --r:4px;--r-btn:3px;--shadow:0 1px 0 #dcd2c1;
  --foot-bg:#211a12;--foot-ink:#f3eee4;--foot-mut:#b3a693;--foot-line:#3a3026}
.rp-avirep .rp-header{border-top:6px solid;border-image:linear-gradient(90deg,#c2410c 0 25%,#f59e0b 25% 50%,#0d9488 50% 75%,#1e40af 75%) 1}
.rp-avirep .hero-h1::before{content:"▶ REC";display:block;margin-bottom:10px;font:700 12px/1 var(--font-mono);letter-spacing:.14em;color:#dc2626}
.rp-avirep .hero-badges li{border-radius:2px;background:#211a12;color:#fbbf24;font-family:var(--font-mono);font-weight:500}
.rp-avirep .cv-widget{border-left:10px solid #211a12}
.rp-avirep .rp-footer .rp-word b{color:#fbbf24}

/* mp3.repair — wave: soft indigo, gradient buttons, rounded */
.rp-mp3rep{--bg:#f6f5ff;--surface:#fff;--surface-2:#efedff;--ink:#1e1b3a;--mut:#65627e;--line:#e7e4fb;
  --a:#6366f1;--a-deep:#4f46e5;--a-soft:#eceafe;--font:"Poppins",system-ui,sans-serif;--h-weight:700;--h-track:-.02em;
  --r:20px;--r-btn:14px;--btn-bg:linear-gradient(135deg,#6366f1,#ec4899);
  --shadow:0 14px 34px -22px rgba(79,70,229,.5);
  --hero-bg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='120' viewBox='0 0 600 120'%3E%3Cpath d='M0 60 Q 37 10 75 60 T 150 60 T 225 60 T 300 60 T 375 60 T 450 60 T 525 60 T 600 60' fill='none' stroke='%236366f1' stroke-opacity='.10' stroke-width='3'/%3E%3C/svg%3E") bottom/600px 120px repeat-x,#fff;
  --foot-bg:#1e1b3a;--foot-ink:#fff;--foot-mut:#a9a6c9;--foot-line:#322e5a}
.rp-mp3rep .rp-footer .rp-word b{color:#a5b4fc}

/* wav.repair — studio: charcoal, gold, editorial serif */
.rp-wavrep{color-scheme:dark;--bg:#111113;--surface:#19191c;--surface-2:#202024;--ink:#ece8e0;--mut:#a09b91;--line:#2c2b30;
  --a:#e2b659;--a-deep:#f0cd82;--a-ink:#1b1506;--a-soft:rgba(226,182,89,.12);--font:"DM Sans",system-ui,sans-serif;--font-h:"DM Serif Display",Georgia,serif;--h-weight:400;--h-track:0;
  --r:12px;--r-btn:999px;--shadow:0 24px 50px -30px rgba(0,0,0,.9);--hdr-bg:rgba(17,17,19,.9);
  --hero-bg:radial-gradient(80% 100% at 0% 100%,rgba(226,182,89,.10),transparent 60%),#19191c;
  --foot-bg:#0b0b0c;--foot-mut:#8e897f;--foot-line:#232226}
.rp-wavrep .hero-h1{font-size:clamp(34px,9vw,54px);line-height:1.05}
.rp-wavrep .cv-icon{border-radius:50%}

/* sqlite.repair — terminal: black, phosphor green, monospace throughout */
.rp-sqliterep{color-scheme:dark;--bg:#0c0e11;--surface:#14171c;--surface-2:#1a1e25;--ink:#dfe3e8;--mut:#8a919c;--line:#262b33;
  --a:#3ddc84;--a-deep:#6ee7a5;--a-ink:#052012;--a-soft:rgba(61,220,132,.1);--font:"Inter",system-ui,sans-serif;--font-h:"JetBrains Mono",ui-monospace,monospace;--font-mono:"JetBrains Mono",ui-monospace,monospace;
  --h-weight:800;--h-track:-.03em;--r:6px;--r-btn:4px;--shadow:none;--hdr-bg:rgba(12,14,17,.92);
  --foot-bg:#08090b;--foot-mut:#7c838e;--foot-line:#1c2027}
.rp-sqliterep .hero-h1::before{content:"$ ";color:var(--a)}
.rp-sqliterep .section-h::before,.rp-sqliterep .faq-title::before,.rp-sqliterep .rp-net-h::before{content:"# ";color:#ffb454}
.rp-sqliterep .hero-badges li,.rp-sqliterep .cv-btn,.rp-sqliterep .rp-cta,.rp-sqliterep .cta-btn{font-family:var(--font-mono)}
.rp-sqliterep .hero-badges li{border-radius:3px}
.rp-sqliterep .hero-badges li::before{content:"✔ "}
.rp-sqliterep .rp-word b{color:#ffb454}

/* xls.repair — spreadsheet: gridlines, Excel green, column-header chrome */
.rp-xlsrepair{--bg:#f4f7f5;--surface:#fff;--surface-2:#eef3f0;--ink:#15261c;--mut:#556a5e;--line:#d7e1db;
  --a:#217346;--a-deep:#185c37;--a-soft:#e3f1e8;--font:"Source Sans 3",system-ui,sans-serif;--font-mono:"Source Code Pro",ui-monospace,monospace;--h-weight:800;--h-track:-.015em;
  --r:4px;--r-btn:4px;--shadow:0 1px 2px rgba(21,38,28,.06);
  --hero-bg:linear-gradient(#e6ece8 1px,transparent 1px) 0 0/100% 28px,linear-gradient(90deg,#e6ece8 1px,transparent 1px) 0 0/96px 100%,#fff;
  --foot-bg:#15261c;--foot-ink:#fff;--foot-mut:#a5b8ad;--foot-line:#27402f}

.rp-xlsrepair .rp-header{box-shadow:0 3px 0 #217346}
.rp-xlsrepair .tool-card.is-main{box-shadow:inset 4px 0 0 var(--a)}
.rp-xlsrepair .cv-widget{border-top:28px solid #eef3f0;position:relative}
.rp-xlsrepair .cv-widget::before{content:"A    B    C    D    E";position:absolute;top:-22px;left:14px;font:600 11px/1 var(--font-mono);color:#8aa093;white-space:pre}
.rp-xlsrepair .rp-footer .rp-word b{color:#6fcf97}

/* repairpdffile.net — rescue: clinical white, teal, first-aid cross */
.rp-repairpdffile{--bg:#f5f9f9;--surface:#fff;--surface-2:#edf5f5;--ink:#0f2a2e;--mut:#4d6468;--line:#d9e7e7;
  --a:#0e9f9a;--a-deep:#0b7f7b;--a-soft:#e1f5f4;--font:"Manrope",system-ui,sans-serif;--h-weight:800;
  --r:14px;--r-btn:10px;--hero-bg:linear-gradient(180deg,#fff,#f4fbfb);
  --foot-bg:#0f2a2e;--foot-ink:#fff;--foot-mut:#9bb6b9;--foot-line:#1f4146}
.rp-repairpdffile .hero-badges li{background:#e8f8ee;color:#15803d}
.rp-repairpdffile .rp-footer .rp-word b{color:#5eead4}
.rp-sqliterep .hero-h1{font-size:clamp(26px,7vw,42px)}
