/* jinkō-mage × i-mage · shared theme (redesign v7 → full site) */
:root{
  --ink:#0A0A0A;--red:#E8301F;--red-dim:#B8240F;--paper:#F4F3F0;--dim:#5E5E5A;--text:#2E2E2B;--hair:#E6E6E3;
  /* aliases for the tokens the live pages' inline styles still reference */
  --rose:#E8301F;--rose-dim:#B8240F;--accent:#E8301F;--text-dim:#2E2E2B;--text-muted:#5E5E5A;--text:#0A0A0A;
  --glass:#F4F3F0;--glass-border:#0A0A0A;--divider:#E6E6E3;--bg:#FFFFFF;--bg-2:#F4F3F0;--line:#0A0A0A;
  --ink-2:#2E2E2B;--ink-3:#5E5E5A;--green:#0A0A0A;--max:1376px;--gutter:32px;color-scheme:light}
html{scroll-behavior:smooth}
body{margin:0;background:#FFFFFF;color:#0A0A0A;font-family:Archivo,Inter,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:#0A0A0A;text-decoration:none}a:hover{color:#E8301F}
img{display:block;max-width:100%}
.wrap{max-width:1376px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.mono{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#0A0A0A;font-weight:500}
.mono.dim{color:#5E5E5A}
.cond{font-stretch:62%;font-weight:900;letter-spacing:-.005em;line-height:.86;text-transform:uppercase;margin:0}
.wide{font-stretch:125%;font-weight:800;letter-spacing:-.02em;text-transform:uppercase}
.bw{filter:grayscale(1) contrast(1.08)}.bw:hover{filter:none}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 28px;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;background:#E8301F;color:#fff;font-family:Archivo,sans-serif;border:1.5px solid #E8301F;cursor:pointer;text-decoration:none;box-sizing:border-box}
.btn:hover{background:#0A0A0A;border-color:#0A0A0A;color:#fff}
.btn-ink{background:#0A0A0A;border-color:#0A0A0A;color:#fff}.btn-ink:hover{background:#E8301F;border-color:#E8301F}
.btn-line{background:transparent;color:#0A0A0A;border-color:#0A0A0A}.btn-line:hover{background:#0A0A0A;color:#fff}
.arrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.band{background:#0A0A0A;color:#fff}.band a{color:#fff}.band a:hover{color:#E8301F}.band .mono{color:#fff}.band .mono.dim{color:#8F8F8A}
.red{background:#E8301F;color:#fff}.red .mono{color:#fff}
.step{padding:32px 24px 32px 0;border-right:1px solid #333;display:flex;flex-direction:column;gap:12px}
.cell{padding:0 24px;border-left:1.5px solid #0A0A0A;display:flex;flex-direction:column;gap:10px;min-width:0}.cell:first-child{border-left:0;padding-left:0}
[hidden]{display:none!important}

/* ---------- shared header ---------- */
.jm-strip{border-bottom:1px solid #0A0A0A}
.jm-strip .wrap{display:flex;justify-content:space-between;gap:24px;height:34px;align-items:center;flex-wrap:wrap;overflow:hidden}
.jm-head{border-bottom:1.5px solid #0A0A0A;position:relative;z-index:50;background:#fff}
.jm-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:76px;flex-wrap:wrap;padding-right:0}
.jm-head nav{display:flex;gap:36px;flex-wrap:wrap;align-items:center}
.jm-head .jm-cta{height:76px;padding:0 36px;border:0}
.dd{position:relative;display:inline-flex;align-items:center}
.dd>a{display:inline-flex;align-items:center;gap:6px}
.dd>a svg{transition:transform .2s}
.dd:hover>a svg,.dd.on>a svg{transform:rotate(180deg)}
.dd-menu{position:absolute;top:100%;left:-18px;padding-top:16px;display:none;z-index:60}
.dd:hover .dd-menu,.dd.on .dd-menu{display:block}
.dd-box{background:#fff;border:1.5px solid #0A0A0A;min-width:320px;display:flex;flex-direction:column}
.dd-box a{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border-top:1.5px solid #0A0A0A;color:#0A0A0A}
.dd-box a:first-child{border-top:0}
.dd-box a b{font-stretch:75%;font-weight:900;font-size:22px;line-height:1;text-transform:uppercase;letter-spacing:-.01em}
.dd-box a small{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#5E5E5A}
.dd-box a:hover{background:#0A0A0A;color:#fff}.dd-box a:hover small{color:#8F8F8A}.dd-box a:hover b{color:#E8301F}
@media (max-width:900px){
  .jm-strip{display:none}
  .jm-head .wrap{padding-right:32px;min-height:0;padding-top:14px;padding-bottom:14px;gap:16px}
  .jm-head nav{gap:18px 22px;width:100%;order:3}
  .jm-head .jm-cta{height:48px;padding:0 20px;border:1.5px solid #E8301F}
}

/* ---------- shared footer ---------- */
.jm-foot{margin-top:auto;border-top:1.5px solid #0A0A0A}
.jm-foot .wrap{display:flex;flex-direction:column;gap:28px;padding-top:40px;padding-bottom:28px}
.jm-foot .cols{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:32px}
.jm-foot .col{display:flex;flex-direction:column;gap:12px;min-width:0}
.jm-foot .col img{align-self:flex-start;width:auto;height:36px;max-width:100%;object-fit:contain} /* a flex column stretches an img to its width: pin it */
.jm-foot .col a{font-size:14px;font-weight:600}
.jm-foot .bar{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:center;border-top:1px solid #E6E6E3;padding-top:22px}
.jm-recog{border-top:1.5px solid #0A0A0A;background:#fff}
.jm-recog .wrap{display:flex;align-items:center;gap:32px;flex-wrap:wrap;padding-top:30px;padding-bottom:30px}
.jm-recog .nv-badge{display:block;flex:none;line-height:0;padding:0;border:0;background:#fff}
.jm-recog img{height:60px;width:auto;display:block;filter:none!important;opacity:1!important;transform:none!important} /* stock badge, 139x60 px, clear space = the 32 px gaps */
.jm-recog small{font-size:11px;color:#6B6B66;max-width:52em;line-height:1.55}
@media (max-width:900px){.jm-foot .cols{grid-template-columns:1fr 1fr}.jm-foot .col{grid-column:auto!important}}

/* ---------- gallery lightbox (shared with the home page) ---------- */
.gal{position:fixed;inset:0;background:#0A0A0A;color:#fff;z-index:200;display:flex;flex-direction:column}
.gal[hidden]{display:none}
.gal-top{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:18px 32px;border-bottom:1px solid #333}
.gal-top .mono{color:#fff}
.gal-x{background:transparent;border:1.5px solid #fff;color:#fff;width:44px;height:44px;cursor:pointer;font-size:20px;display:flex;align-items:center;justify-content:center}
.gal-x:hover{background:#E8301F;border-color:#E8301F}
.gal-main{flex:1;display:grid;grid-template-columns:72px minmax(0,1fr) 72px;grid-template-rows:minmax(0,1fr);align-items:center;min-height:0;overflow:hidden;padding:16px 32px}
.gal-main img{max-height:100%;max-width:100%;width:auto;height:100%;min-height:0;object-fit:contain;margin:0 auto;display:block}
.gal-nav{background:transparent;border:1.5px solid #333;color:#fff;width:56px;height:56px;cursor:pointer;font-size:22px;display:flex;align-items:center;justify-content:center;justify-self:center}
.gal-nav:hover{border-color:#E8301F;background:#E8301F}
.gal-cap{display:flex;justify-content:space-between;gap:24px;padding:0 32px 14px}
.gal-cap .mono{color:#fff}
.gal-strip{display:flex;gap:6px;padding:14px 32px 22px;overflow-x:auto;border-top:1px solid #333}
.gal-strip img{height:84px;width:63px;object-fit:cover;cursor:pointer;opacity:.45;border:1.5px solid transparent;flex:none}
.gal-strip img.act,.gal-strip img:hover{opacity:1;border-color:#E8301F}
@media (max-width:640px){.gal-top{padding:14px 16px;gap:12px}.gal-top .mono{font-size:10px;letter-spacing:.08em}.gal-main{grid-template-columns:minmax(0,1fr);padding:12px 16px;position:relative}.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;background:rgba(10,10,10,.65);z-index:2}#gal-prev{left:16px}#gal-next{right:16px}.gal-cap{flex-direction:column;gap:6px;padding:0 16px 10px}.gal-strip{padding:10px 16px 16px}.gal-top #gal-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gal-top>div{flex:none}.gal-cap .mono{white-space:normal;line-height:1.7}}

/* ---------- before / after slider (home) ---------- */
.ba{position:relative;aspect-ratio:3/4;overflow:hidden;background:#F4F3F0;border:1.5px solid #0A0A0A;--p:50%;user-select:none;-webkit-user-select:none}
.ba-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ba-after{clip-path:polygon(var(--p) 0,100% 0,100% 100%,var(--p) 100%)}
.ba-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:5;-webkit-appearance:none;appearance:none}
.ba-line{position:absolute;top:0;bottom:0;left:var(--p);width:2px;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(10,10,10,.35);pointer-events:none;z-index:3}
.ba-knob{position:absolute;top:50%;left:var(--p);width:60px;height:60px;transform:translate(-50%,-50%);background:#E8301F;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:4;border:1.5px solid #fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.ba-tag{position:absolute;bottom:16px;background:#0A0A0A;color:#fff;padding:8px 12px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;z-index:3}
.ba-tag-l{left:16px}.ba-tag-r{right:16px;background:#E8301F}
.ba-hint{position:absolute;top:16px;left:50%;transform:translateX(-50%);background:#fff;color:#0A0A0A;border:1.5px solid #0A0A0A;padding:8px 12px;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;pointer-events:none;z-index:3;transition:opacity .4s}
.ba.touched .ba-hint{opacity:0}

/* ---------- contact form (home) ---------- */
.cform{display:grid;grid-template-columns:1fr 1fr;gap:18px;min-width:0}
.cform .f{display:flex;flex-direction:column;gap:8px;min-width:0}
.cform .f.full{grid-column:1 / -1}
.cform label{font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#0A0A0A}
.cform input,.cform select,.cform textarea{width:100%;box-sizing:border-box;border:1.5px solid #0A0A0A;background:#fff;color:#0A0A0A;font:inherit;font-size:15px;padding:0 14px;height:52px;border-radius:0;-webkit-appearance:none;appearance:none}
.cform textarea{height:132px;padding:14px;resize:vertical}
.cform :is(input,select,textarea):focus{outline:2px solid #E8301F;outline-offset:-2px}
.cform .ok{grid-column:1 / -1;border-left:4px solid #E8301F;background:#F4F3F0;padding:18px 20px;font-size:15px}
.jm-cells{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1.5px solid #0A0A0A}
.jm-cells>div{padding:18px 20px 18px 0;border-bottom:1.5px solid #0A0A0A;display:flex;flex-direction:column;gap:8px;min-width:0}
.jm-cells>div:nth-child(even){border-left:1.5px solid #0A0A0A;padding-left:20px}
.jm-cells a{font-size:16px;font-weight:700;overflow-wrap:anywhere}

/* ---------- blog index rows ---------- */
.jrow{display:grid;grid-template-columns:64px minmax(0,1fr) 200px 120px 40px;gap:24px;align-items:center;padding:22px 0;border-top:1.5px solid #0A0A0A;color:#0A0A0A}
.jrow:hover .t{color:#E8301F}
.jrow .t{font-stretch:75%;font-weight:900;font-size:26px;line-height:1;letter-spacing:-.01em;text-transform:uppercase;display:block}
.jrow .x{font-size:14px;color:#5E5E5A;line-height:1.5;margin-top:8px;max-width:60em}
.jrow .n{font-stretch:62%;font-weight:900;font-size:26px;line-height:1;color:#E8301F}
@media (max-width:900px){.jrow{grid-template-columns:48px minmax(0,1fr) 32px}.jrow .tag,.jrow .date{display:none}.jrow .t{font-size:22px}}

/* ======================================================================
   PORTED LIVE PAGES · everything inside .ported keeps the live site's
   class names (their layout rules are carried per page) and takes the
   new look from here.
   ====================================================================== */
.ported{display:block}
.ported .container{width:100%;max-width:1376px;margin:0 auto;padding:0 32px;box-sizing:border-box}
.ported .section{padding:88px 0}
.ported .rule{height:1.5px;background:#0A0A0A;margin:0}
.ported .breadcrumb{padding:28px 0 0;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#5E5E5A}
.ported .breadcrumb a{color:#5E5E5A}.ported .breadcrumb a:hover{color:#0A0A0A}
.ported .breadcrumb span{margin:0 8px;opacity:.5}
.ported .hero{padding:48px 0 80px}
.ported .look .hero{padding:0}
.ported .hero:has(.article-meta) .hero-h1{font-size:clamp(44px,6.2vw,92px)}

/* labels */
.ported :is(.hero-eyebrow,.slabel,.cs-label,.section-eyebrow,.eyebrow,.toc-label,.tool-spec-label,.related-tag,.rc-tag,.price-k,.stat-l,.stat-label,.qa-label,.qa-box-label,.look-n,.cs-ctx-label,.res-l,.ov-num,.ov-tag,.ov-metric-l,.proof-metric-l,.guard-k,.card-tag,.cs-img-cap,.article-meta,.updated,.roles-h,.plan-name,.spec-key,.check-group-label,.stats-card-title,.tool-price-label,.pros-label,.cons-label,.office-lbl,.c-lbl,.platform-name,.limit-label,.spec-label,.verdict-label,.svc-row-num,.method-number){font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:#5E5E5A;line-height:1.6}
.ported :is(.hero-eyebrow,.cs-label,.section-eyebrow,.eyebrow,.related-tag,.rc-tag,.ov-num,.guard-k,.card-tag,.look-n,.qa-box-label,.pros-label,.svc-row-num,.method-number,.p-step-n,.sol-num,.step-num){color:#E8301F}
.ported :is(.slabel,.cs-label){display:flex;align-items:center;gap:10px;margin-bottom:20px}
.ported :is(.slabel,.cs-label)::before{content:'';display:block;width:20px;height:1.5px;background:#E8301F}
.ported :is(.p-step-n,.sol-num,.step-num,.method-number){font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;opacity:1;margin-bottom:14px;color:#E8301F}

/* display headings */
.ported :is(.hero-h1,.cs-title,.h1,.legal h1,.page h1,.done h1){font-stretch:62%;font-weight:900;letter-spacing:-.005em;line-height:.86;text-transform:uppercase;margin:0 0 28px;font-size:clamp(52px,8vw,124px);max-width:none;color:#0A0A0A;text-wrap:balance}
.ported :is(.hero-h1,.cs-title,.h1,.legal h1,.page h1) em{color:#E8301F;font-style:normal}
.ported :is(.sec-head h2,.cta-wrap h2,.form-wrap h2,.section-title,.display,.contact-h,.cs-header h2){font-stretch:62%;font-weight:900;line-height:.9;text-transform:uppercase;letter-spacing:-.005em;font-size:clamp(40px,5.6vw,88px);margin:0 0 20px;color:#0A0A0A}
.ported :is(.sec-head h2,.section-title,.display) em{color:#E8301F;font-style:normal}
.ported .sec-head{margin-bottom:44px}
.ported .sec-head p{font-size:18px;line-height:1.5;color:#2E2E2B;max-width:36em;margin:0}

/* running heads */
.ported :is(.article-body h2,.body-text h2,.legal h2,.page h2,.cs-challenge h3,.cs-solution h3,.cs-results h3,.cs-img-area h3,.what-body h2,.check-section h2){font-stretch:75%;font-weight:900;font-size:34px;line-height:1;letter-spacing:-.01em;text-transform:uppercase;margin:52px 0 18px;color:#0A0A0A}
.ported :is(.article-body h2:first-child,.body-text h2:first-child){margin-top:0}
.ported :is(.article-body h3,.body-text h3,.legal h3,.page h3,.what-body h3,.col-card h3,.sol-title,.feat-card h3,.who-card h3,.why-card h3,.guard h3,.cap-card h3,.tool-name,.related-title,.person-name,.check-item-title,.p-step-t,.svc-row-title,.ov-client,.look h3,.platform-verdict,.verdict-card h3,.limit-card h3,.tool-card h3,.sidebar-card h3,.step-content h3,.fsb-step-body h3,.stat-card h3,.pricing-card h3,.price-card h3,.faq-q){font-family:Archivo,sans-serif;font-stretch:75%;font-weight:900;font-size:22px;line-height:1.02;letter-spacing:-.01em;text-transform:uppercase;margin:0 0 10px;color:#0A0A0A}
.ported :is(.article-body h3,.body-text h3,.legal h3,.page h3,.what-body h3){margin:34px 0 12px}
.ported .ov-client{font-size:30px}

/* copy */
.ported :is(p,li,td,dd){color:#2E2E2B}
.ported :is(.hero-sub,.lead,.lede,.cs-sub,.section-sub){font-size:18px;line-height:1.5;max-width:36em;color:#2E2E2B;margin:0 0 32px}
.ported :is(.article-body p,.body-text p,.legal p,.legal li,.page p,.what-body p,.challenge-item p,.page li){font-size:17px;line-height:1.65}
.ported :is(.article-body p,.body-text p,.legal p,.page p){margin:0 0 18px}
.ported :is(.feat-card p,.who-card p,.why-card p,.guard p,.cap-card p,.p-step-b,.sol-body,.related-desc,.person-bio,.check-item-desc,.svc-row-body,.tool-card p,.callout p,.faq-a p,.step-content p,.fsb-step-body p,.platform-block p,.verdict-card p,.limit-card p,.sidebar-card p,.col-card p,.stats-card p,.pricing-card p,.price-card p,.what-list li,.list li,.tool-features li,.pros-list li,.cons-list li,.spec-item){font-size:15px;line-height:1.6;color:#2E2E2B}
.ported :is(.article-body,.body-text,.legal,.page,.what-body,.faq-a,.callout,.challenge-item,.cs-challenge,.cs-solution,.disclaimer,.note) a{color:#0A0A0A;text-decoration:underline;text-decoration-color:#E8301F;text-decoration-thickness:1.5px;text-underline-offset:3px;border:0}
.ported :is(.article-body,.body-text,.legal,.page,.what-body,.faq-a,.callout) a:hover{color:#E8301F}
.ported strong{color:#0A0A0A;font-weight:700}
.ported em{color:inherit}
.ported .article-body>p:first-of-type{font-size:19px}

/* lists */
.ported :is(.article-body ul,.article-body ol,.what-list,.list,.tool-features,.pros-list,.cons-list,.sol-list,.page ul){list-style:none;padding:0;margin:16px 0 26px;display:flex;flex-direction:column;gap:10px}
.ported :is(.article-body ul,.article-body ol,.what-list,.list,.tool-features,.pros-list,.cons-list,.sol-list,.page ul)>li{display:flex;gap:12px;align-items:flex-start;line-height:1.6}
.ported :is(.article-body ul,.article-body ol,.what-list,.list,.tool-features,.pros-list,.cons-list,.sol-list,.page ul)>li::before{content:'';width:14px;height:1.5px;background:#E8301F;flex:none;margin-top:12px}
.ported .toc-list li::before,.ported .legal li::before,.ported .cons-list li::before{display:none}
.ported .cons-list>li::before{display:block;background:#9A9A95}
.ported .legal ul{list-style:disc;margin:0 0 18px 20px;padding:0;display:block}
.ported .legal li{display:list-item;margin-bottom:9px}

/* cards + grids */
.ported :is(.feat-card,.p-step,.who-card,.why-card,.guard,.sol-card,.tool-card,.related-card,.overview-card,.stats-card,.price-card,.pricing-card,.stat-card,.person-card,.col-card,.cap-card,.platform-block,.verdict-card,.limit-card,.svc-row,.sidebar-card,.sidebar-cta,.check-item,.fsb-step,.step,.spec-grid>div,.office,.what-card,.tool,.pillar){background:#fff;border:1.5px solid #0A0A0A;border-radius:0;padding:28px 24px;box-sizing:border-box;color:#0A0A0A}
.ported :is(.related-card,.overview-card):hover{background:#0A0A0A;color:#fff;border-color:#0A0A0A}
.ported :is(.related-card,.overview-card):hover :is(h3,.related-title,.ov-client,.ov-metric-n,p,.related-desc,.ov-tag,.ov-metric-l){color:#fff}
.ported :is(.related-card,.overview-card):hover :is(.related-tag,.ov-num,.related-arrow,.ov-arrow){color:#E8301F}
.ported :is(.tool-card.featured,.price-card.featured,.pricing-card.featured,.sol-card.featured){border-top:6px solid #E8301F;background:#F4F3F0}
.ported :is(.features-grid,.process-steps,.solution-grid,.related-grid,.stats-grid,.person-grid,.overview-grid,.cap-grid,.who-grid,.why-grid,.guards,.guard-grid,.tools-grid,.pricing-grid,.price-grid,.team-grid,.what-cards){gap:1.5px!important;background:#fff;border:1.5px solid #0A0A0A;border-radius:0}
.ported :is(.features-grid,.process-steps,.solution-grid,.related-grid,.stats-grid,.person-grid,.overview-grid,.cap-grid,.who-grid,.why-grid,.guards,.guard-grid,.tools-grid,.pricing-grid,.price-grid,.team-grid,.what-cards)>*{border:0!important;margin:0!important;background:#fff;box-shadow:0 0 0 1.5px #0A0A0A}
.ported .overview-grid>:last-child:nth-child(odd){grid-column:1/-1}
.ported :is(.related-arrow,.ov-arrow){font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#E8301F;margin-top:16px;font-weight:500}
.ported :is(.feat-icon,.why-icon,.tool-icon){width:40px;height:40px;border-radius:0;background:#E8301F;display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.ported :is(.feat-icon,.why-icon,.tool-icon) svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ported :is(.who-icon,.cap-icon){font-size:22px;margin-bottom:14px;filter:grayscale(1)}
.ported .challenge-dot{width:14px;height:1.5px;border-radius:0;background:#E8301F;margin-top:13px;flex:none}
.ported .check-dot{width:12px;height:12px;border-radius:0;background:#E8301F;flex:none;margin-top:6px}
.ported .svc-row{border-radius:0}
.ported :is(.svc-row-num,.svc-row-badge){display:block}

/* big numbers */
.ported :is(.stat-n,.stat-num,.res-n,.proof-metric-n,.ov-metric-n,.qa-price,.price-n,.tool-price,.plan-price,.amount){font-stretch:62%;font-weight:900;line-height:.9;letter-spacing:-.005em;color:#0A0A0A;font-size:clamp(40px,4.5vw,64px)}
.ported :is(.stat-n,.res-n,.ov-metric-n) em{font-style:normal;color:#E8301F;font-size:1em}
.ported .res-n{color:#E8301F}
.ported .res-n em{color:#C9C9C4;font-size:.5em;font-weight:400;letter-spacing:0}
.ported .ov-metric-n{font-size:34px}
.ported .proof-metric-n{font-size:44px}
.ported :is(.cs-context,.results-row,.stat-row-grid,.stats-row){gap:1.5px;background:#0A0A0A;border:1.5px solid #0A0A0A;border-radius:0}
.ported :is(.cs-ctx-cell,.res-cell,.stat-cell){background:#fff;padding:22px 24px;border:0!important}
.ported .results-row{background:#0A0A0A}
.ported .res-cell{background:#0A0A0A;color:#fff}
.ported .res-l{color:#C9C9C4;margin-top:10px}
.ported .cs-ctx-value{font-size:17px;font-weight:700;color:#0A0A0A}
.ported .stats-card{padding:28px}
.ported .stat-row{padding:18px 0;border-bottom:1.5px solid #0A0A0A}
.ported .stat-row:last-child{border-bottom:0;padding-bottom:0}
.ported .stat-cell{border-right:1.5px solid #0A0A0A!important}
.ported .stat-cell:last-child{border-right:0!important}

/* tables */
.ported :is(.cost-table-wrap,.compare-wrap,.comp-table-wrap,.compare-table-wrap,.spec-table-wrap){overflow-x:auto;margin:28px 0;border:0;border-radius:0;background:transparent}
.ported table{width:100%;border-collapse:collapse;font-size:15px;border:1.5px solid #0A0A0A;border-radius:0;overflow:visible;background:#fff}
.ported th{background:#0A0A0A;color:#fff;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;padding:14px 18px;text-align:left;border:0}
.ported th.col-ai,.ported th .rose{color:#E8301F}
.ported td{padding:14px 18px;border-bottom:1px solid #E6E6E3;vertical-align:top;color:#2E2E2B;line-height:1.5;font-size:15px}
.ported tr:last-child td{border-bottom:0}
.ported td:first-child{font-weight:600;color:#0A0A0A}
.ported :is(.row-best,.row-jm) td{background:#FBEAE8}
.ported .hi{color:#0A0A0A;font-weight:700}
.ported .rose{color:#E8301F;font-weight:700}
.ported :is(td.good,td.yes,.good,.yes){color:#0A0A0A;font-weight:700}
.ported :is(td.bad,td.no,.bad,.no){color:#9A9A95}
.ported .amber{color:#B8240F}

/* tags + chips */
.ported :is(.tag,.winner-chip,.tool-badge,.hero-pill,.proof-chip,.svc-row-badge,.badge-popular,.tool-tag){display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1.5px solid #0A0A0A;border-radius:0;font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:#0A0A0A;background:#fff;line-height:1.4}
.ported :is(.tag.win,.winner-chip){background:#E8301F;border-color:#E8301F;color:#fff}
.ported .tag.jm{background:#0A0A0A;border-color:#0A0A0A;color:#fff}
.ported .tag.tie{color:#5E5E5A;border-color:#5E5E5A}
.ported .hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:36px}
.ported .hero-btns,.ported .hero-ctas,.ported .cta-row{display:flex;gap:14px;flex-wrap:wrap}

/* callouts */
.ported :is(.callout,.disclaimer,.note,.legal .box,.spec-note,.form-note,.warning,.info){background:#F4F3F0;border:0;border-left:4px solid #E8301F;border-radius:0;padding:20px 24px;margin:28px 0;font-size:15px;line-height:1.6;color:#2E2E2B}
.ported .callout p{margin:0}
.ported .legal .key{border-left-color:#0A0A0A}
.ported .disclaimer{font-size:13px;color:#5E5E5A}
.ported .warning{border-left-color:#B8240F}
.ported .qa-box{background:#0A0A0A;color:#fff;border:0;border-radius:0;padding:32px 36px;margin:40px 0}
.ported .qa-box .qa-price{color:#fff}
.ported .qa-box .qa-label{color:#C9C9C4}
.ported .qa-box .qa-divider{background:#333}

/* CTA + forms */
.ported :is(.cta-wrap){background:#E8301F;color:#fff;border:0;border-radius:0;padding:72px 48px;text-align:center}
.ported .cta-wrap :is(h2,p){color:#fff}
.ported .cta-wrap :is(h2,p) :is(em,span,strong,b){color:#0A0A0A!important;font-style:normal}
.ported .cta-wrap p{font-size:17px;max-width:32em;margin:0 auto 36px;line-height:1.55}
.ported .form-wrap{background:#F4F3F0;color:#0A0A0A;border:1.5px solid #0A0A0A;border-radius:0;padding:56px 48px}
.ported :is(.btn-primary,.btn,.f-btn,button.btn,a.btn){display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 28px;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;background:#E8301F;color:#fff;border:1.5px solid #E8301F;border-radius:0;cursor:pointer;font-family:Archivo,sans-serif;text-decoration:none;line-height:1;box-sizing:border-box}
.ported :is(.btn-primary,.btn,.f-btn,button.btn,a.btn):hover{background:#0A0A0A;border-color:#0A0A0A;color:#fff}
.ported :is(.btn-ghost,.btn-outline){display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 28px;font-weight:700;font-size:13px;letter-spacing:.16em;text-transform:uppercase;background:transparent;color:#0A0A0A;border:1.5px solid #0A0A0A;border-radius:0;cursor:pointer;font-family:Archivo,sans-serif;text-decoration:none;line-height:1;box-sizing:border-box}
.ported :is(.btn-ghost,.btn-outline):hover{background:#0A0A0A;color:#fff}
.ported .cta-wrap .btn-primary{background:#0A0A0A;border-color:#0A0A0A}
.ported .cta-wrap .btn-primary:hover{background:#fff;border-color:#fff;color:#0A0A0A}
.ported .cta-wrap :is(.btn-ghost,.btn-outline){border-color:#fff;color:#fff}
.ported .cta-wrap :is(.btn-ghost,.btn-outline):hover{background:#fff;color:#E8301F}
.ported :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]){font-family:Archivo,sans-serif;font-size:15px;color:#0A0A0A;background:#fff;border:1.5px solid #0A0A0A;border-radius:0;padding:14px 16px;width:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none}
.ported :is(input,select,textarea):focus{outline:2px solid #E8301F;outline-offset:-2px}
.ported label:not(:has(input)){font-family:"JetBrains Mono",monospace;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#0A0A0A;display:block;margin-bottom:8px}
.ported :is(.form-ok,.form-err){padding:16px 20px;border-left:4px solid #E8301F;background:#F4F3F0;font-size:15px}

/* FAQ */
.ported .faq-list{display:flex;flex-direction:column;gap:0;border-top:1.5px solid #0A0A0A}
.ported .faq-item{border:0;border-bottom:1.5px solid #0A0A0A;border-radius:0;background:transparent;overflow:visible}
.ported .faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;background:none;border:0;text-align:left;cursor:pointer;margin:0}
.ported .faq-q:hover{color:#E8301F;background:none}
.ported .faq-icon{width:18px;height:18px;stroke:#E8301F;flex:none;transition:transform .25s;fill:none;stroke-width:2}
.ported .faq-item.open .faq-icon{transform:rotate(45deg)}
.ported .faq-item .faq-a{display:block;max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0}
.ported .faq-item.open .faq-a{max-height:2000px}
.ported .faq-a p{padding:0 0 22px;max-width:44em;margin:0}

/* article shell */
.ported .article-wrap{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:64px;align-items:start}
.ported .article-body{min-width:0}
.ported aside .toc{position:sticky;top:24px;border:1.5px solid #0A0A0A;border-radius:0;background:#fff;padding:22px}
.ported .toc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:0}
.ported .toc-list li{display:block}
.ported .toc-list a{display:block;font-size:13px;font-weight:600;color:#0A0A0A;padding:8px 0;border-bottom:1px solid #E6E6E3;text-decoration:none;line-height:1.4}
.ported .toc-list li:last-child a{border-bottom:0}
.ported .toc-list a:hover{color:#E8301F}
.ported .legal .toc{border-left:1.5px solid #0A0A0A;padding:4px 0 4px 18px;margin:0 0 48px}
.ported .legal .toc a{display:block;font-size:14px;font-weight:600;padding:4px 0;color:#0A0A0A;text-decoration:none}
.ported .legal .toc a:hover{color:#E8301F}
.ported .article-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#5E5E5E}
.ported .article-meta strong{color:#0A0A0A;font-weight:500}
.ported .article-meta .dot{width:4px;height:4px;border-radius:0;background:#E8301F;flex:none}
.ported .sidebar{display:flex;flex-direction:column;gap:16px}
.ported .sidebar-links a{display:block;padding:8px 0;border-bottom:1px solid #E6E6E3;font-size:14px;font-weight:600}
.ported .legal{padding:56px 0 40px}
.ported .legal .tbc{color:#E8301F;border-bottom:1px dashed #E8301F}
.ported .page{max-width:880px;margin:0 auto;padding:56px 32px 80px}
.ported .page .verdicts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5px;background:#0A0A0A;border:1.5px solid #0A0A0A;margin:32px 0 48px}
.ported .page .v{background:#fff;padding:22px 20px;display:flex;flex-direction:column;gap:8px;font-size:14px;line-height:1.5;color:#2E2E2B}
.ported .page .v b{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;color:#0A0A0A}
.ported .page .v.go b{color:#0A0A0A}.ported .page .v.ck b{color:#B8240F}.ported .page .v.no b{color:#E8301F}
.ported .page .rules{display:flex;flex-direction:column;border-top:1.5px solid #0A0A0A;counter-reset:rule}
.ported .page .prule{padding:22px 0;border-bottom:1.5px solid #0A0A0A;display:grid;grid-template-columns:56px minmax(0,1fr);column-gap:16px;row-gap:8px;counter-increment:rule}
.ported .page .prule>*{grid-column:2;min-width:0}
.ported .page .prule::before{grid-column:1;grid-row:1/span 9;content:counter(rule,decimal-leading-zero);font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.16em;color:#E8301F;padding-top:6px}
.ported .page .prule h3{margin:0}
.ported .page .prule h3::before{content:none}
.ported .page .prule p{margin:0;font-size:15px}
.ported .page .prule .ask{display:block;font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;line-height:1.6;color:#5E5E5A;text-transform:uppercase}
.ported .empty{padding:28px 24px;border:1.5px dashed #0A0A0A;font-size:16px;line-height:1.6;color:#2E2E2B}
.ported .empty a{display:inline;padding:0;border:0;font-weight:600;color:#0A0A0A;text-decoration:underline;text-decoration-color:#E8301F;text-decoration-thickness:1.5px;text-underline-offset:3px}
.ported .page .eyebrow{margin-bottom:18px;display:block}

/* gallery */
.ported .grid{gap:1.5px;background:#0A0A0A;border:1.5px solid #0A0A0A}
.ported .look{border:0;border-radius:0;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.ported .look .hero{display:block;background:#F4F3F0;cursor:zoom-in}
.ported .look .hero img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto;filter:grayscale(1) contrast(1.08);transition:filter .3s}
.ported .look:hover .hero img{filter:none}
.ported .look .meta{padding:18px 20px 12px;border-top:1.5px solid #0A0A0A}
.ported .look .meta p{font-size:12px;color:#5E5E5A;margin:0;font-family:"JetBrains Mono",monospace;letter-spacing:.08em;text-transform:uppercase;line-height:1.7}
.ported .strip{display:flex;gap:6px;padding:0 20px 20px;overflow-x:auto;scrollbar-width:none}
.ported .strip .v{flex:0 0 auto;width:64px;border:1.5px solid transparent;border-radius:0;background:#F4F3F0;overflow:hidden;cursor:zoom-in}
.ported .strip .v:hover{border-color:#E8301F}
.ported .strip .v img{aspect-ratio:3/4;object-fit:cover;width:100%;height:auto}

/* images */
.ported .cs-img{border-radius:0;border:1.5px solid #0A0A0A;background:#F4F3F0}
.ported .cs-img-cap{margin-top:10px}
.ported .img-grid-2,.ported .img-grid{gap:16px}

/* careers */
.ported .done-mark{border-radius:0;background:#E8301F;border:0;color:#fff}
.ported .roles>a{display:block;padding:18px 0;border-top:1.5px solid #0A0A0A;font-weight:700}

/* ink band sections (added by the build) */
.ported .band{background:#0A0A0A;color:#fff}
.ported .band :is(h2,h3,.p-step-t,.sec-head h2,.step-title){color:#fff}
.ported .band :is(p,.p-step-b,.sec-head p,li){color:#C9C9C4}
.ported .band .slabel{color:#8F8F8A}
.ported .band :is(.process-steps,.features-grid,.solution-grid){background:#333;border-color:#333}
.ported .band :is(.p-step,.feat-card,.sol-card){background:#0A0A0A!important;color:#fff}
.ported .band :is(.p-step-n,.sol-num){color:#E8301F}
.ported .band .btn-ghost{border-color:#fff;color:#fff}

/* responsive */
@media (max-width:980px){
  .ported .article-wrap{grid-template-columns:1fr;gap:32px}
  .ported aside .toc{position:static}
  .ported :is(.features-grid,.process-steps,.solution-grid,.cap-grid,.stats-grid){grid-template-columns:1fr 1fr}
  .ported :is(.cs-context,.results-row){grid-template-columns:1fr 1fr}
  .ported .what-grid,.ported .related-grid,.ported .person-grid,.ported .overview-grid,.ported .grid{grid-template-columns:1fr}
  .ported .page .verdicts{grid-template-columns:1fr}
}
@media (max-width:640px){
  .ported .container,.wrap{padding-left:16px;padding-right:16px}
  .ported .section{padding:56px 0}
  .ported .hero{padding:32px 0 56px}
  .ported :is(.hero-h1,.cs-title,.h1,.legal h1,.page h1){font-size:clamp(44px,14vw,64px)}
  .ported :is(.sec-head h2,.cta-wrap h2,.form-wrap h2,.display){font-size:clamp(34px,10vw,52px)}
  .ported .cta-wrap{padding:48px 20px}
  .ported :is(.features-grid,.process-steps,.solution-grid,.cap-grid,.stats-grid,.cs-context,.results-row){grid-template-columns:1fr}
  .ported .svc-row{grid-template-columns:1fr!important}
  .ported .qa-grid{grid-template-columns:1fr!important}
  .ported .qa-divider{display:none}
  .ported :is(.cost-table-wrap,.compare-wrap,.comp-table-wrap,.compare-table-wrap) table{font-size:13px}
  .ported td,.ported th{padding:10px 12px}
  .cform{grid-template-columns:1fr}
  .jm-cells{grid-template-columns:1fr}.jm-cells>div:nth-child(even){border-left:0;padding-left:0}
  .ported .page{padding:40px 16px 64px}
  .ported .page .prule{grid-template-columns:40px minmax(0,1fr)}
}
