/* Ohme Partner — commercial tool page. Credit: AffixIO */
.page-ohme-partner {
  --ink:#0d1322; --ink-2:#111a2e; --bone:#f6f4ef; --surface:#ffffff;
  --line:rgba(13,19,34,0.09); --line-strong:rgba(13,19,34,0.18);
  --text:#161b26; --text-soft:#596172; --text-faint:#8a90a0;
  --navy:#1f4b7a; --navy-deep:#16385c; --navy-tint:rgba(31,75,122,0.07);
  --volt:#2f6d54; --volt-ink:#7a5e30; --volt-tint:rgba(179,137,74,0.12);
  --ev:#1f9d6b; --ev-deep:#0f7a50; --ev-tint:rgba(31,157,107,0.1);
  --brand-volvo:#235b9e; --brand-polestar:#8a7a2c; --brand-vw:#0b3d91; --brand-other:#8a90a0;
  --alert:#8a2b2b; --alert-tint:#fbeaea;
  --on-ink:#f4f1e8; --on-ink-soft:#b9bece; --on-ink-faint:#838ba0; --on-ink-line:rgba(244,241,232,0.14);
  --ease:cubic-bezier(0.22,1,0.36,1);
  --shadow-sm:0 1px 2px rgba(13,19,34,0.05); --shadow-md:0 10px 30px rgba(13,19,34,0.08); --shadow-lg:0 24px 60px rgba(13,19,34,0.14);
  overflow-x:clip; background:var(--bone); color:var(--text);
}
.page-ohme-partner main{background:var(--bone)}

/* ---------- splash hero ---------- */
.page-ohme-partner .op-splash{
  position:relative; overflow:hidden;
  background:
    radial-gradient(1100px 520px at 84% -12%, rgba(31,157,107,0.34), transparent 62%),
    radial-gradient(900px 480px at 6% 118%, rgba(31,75,122,0.45), transparent 60%),
    linear-gradient(160deg, var(--ink) 0%, var(--ink-2) 55%, #0a0f1c 100%);
  color:var(--on-ink);
  border-bottom:1px solid rgba(179,137,74,0.28);
}
.page-ohme-partner .op-splash::before{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:0.5;
  background-image:
    linear-gradient(rgba(244,241,232,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(244,241,232,0.05) 1px, transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(1200px 640px at 70% 0%, #000 30%, transparent 78%);
}
.page-ohme-partner .op-splash::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; pointer-events:none;
  background:linear-gradient(90deg, transparent, rgba(31,157,107,0.85) 30%, rgba(216,181,124,0.85) 70%, transparent);
  background-size:220% 100%;
  animation:op-current 6.5s linear infinite;
}
@keyframes op-current{ 0%{background-position:120% 0} 100%{background-position:-120% 0} }
.page-ohme-partner .op-splash .container{position:relative; z-index:2; padding-top:26px; padding-bottom:56px}
.page-ohme-partner .op-crumb{padding-top:0; padding-bottom:0; margin-bottom:6px}
.page-ohme-partner .op-crumb .breadcrumbs a{color:var(--on-ink-faint); text-decoration:none}
.page-ohme-partner .op-crumb .breadcrumbs a:hover{color:var(--on-ink)}
.page-ohme-partner .op-crumb .breadcrumbs li:not(:last-child)::after{color:var(--on-ink-faint)}
.page-ohme-partner .op-crumb .breadcrumbs [aria-current="page"]{color:var(--on-ink-soft)}
.page-ohme-partner .op-eyebrow{
  display:inline-flex; align-items:center; gap:10px; margin:14px 0 18px; padding:7px 14px;
  border:1px solid rgba(31,157,107,0.4); border-radius:999px;
  background:rgba(31,157,107,0.12); color:#8fe3c2;
  font-size:0.72rem; font-weight:600; letter-spacing:0.17em; text-transform:uppercase;
}
.page-ohme-partner .op-eyebrow .op-eyebrow-dot{
  width:6px; height:6px; border-radius:50%; background:#41e0a5;
  box-shadow:0 0 0 3px rgba(65,224,165,0.22);
  animation:op-pulse 2.4s ease-in-out infinite;
}
@keyframes op-pulse{ 0%,100%{transform:scale(1); opacity:1} 50%{transform:scale(1.35); opacity:0.65} }
.page-ohme-partner .op-splash h1{
  margin:0 0 16px; max-width:20ch; color:var(--on-ink);
  font-size:clamp(2.1rem,4.6vw,3.3rem); font-weight:750; line-height:1.05; letter-spacing:-0.03em;
}
.page-ohme-partner .op-splash h1 .op-h1-accent{
  background:linear-gradient(100deg, #67e8b8 10%, #d8b57c 90%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.page-ohme-partner .op-lead{margin:0 0 22px; max-width:44rem; color:var(--on-ink-soft); font-size:1.0625rem; line-height:1.65}
.page-ohme-partner .op-chips{display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none}
.page-ohme-partner .op-chips li{
  display:inline-flex; align-items:center; gap:7px; padding:6px 13px;
  border:1px solid var(--on-ink-line); border-radius:999px;
  background:rgba(244,241,232,0.05); color:var(--on-ink-soft);
  font-size:0.8125rem; font-weight:500;
}
.page-ohme-partner .op-chips li svg{flex:0 0 auto; color:#67e8b8}

/* ---------- sections ---------- */
.page-ohme-partner .op-section{padding:64px 0}
.page-ohme-partner .op-section.muted{background:linear-gradient(180deg,#efede7,#f6f4ef)}
.page-ohme-partner .op-section-head{max-width:46rem; margin-bottom:30px}
.page-ohme-partner .op-section-head h2{
  margin:0 0 10px; color:var(--text);
  font-size:clamp(1.5rem,3vw,1.9rem); font-weight:680; letter-spacing:-0.02em; line-height:1.16;
}
.page-ohme-partner .op-section-head p{margin:0; color:var(--text-soft); font-size:1rem; line-height:1.62}
.page-ohme-partner .op-kicker{
  display:inline-flex; align-items:center; gap:8px; margin:0 0 12px;
  color:var(--ev-deep); font-size:0.72rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase;
}
.page-ohme-partner .op-kicker::before{content:""; width:18px; height:2px; background:var(--ev); border-radius:2px}

/* ---------- partnership cards ---------- */
.page-ohme-partner .op-partners{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.page-ohme-partner .op-partner-card{
  position:relative; overflow:hidden; padding:24px 22px;
  border:1px solid var(--line); border-radius:16px;
  background:var(--surface); box-shadow:var(--shadow-sm);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease);
}
.page-ohme-partner .op-partner-card::after{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--op-brand,var(--navy)), transparent 80%);
}
.page-ohme-partner .op-partner-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--line-strong)}
.page-ohme-partner .op-partner-card .op-partner-tag{
  display:inline-block; margin:0 0 12px; padding:4px 10px;
  border:1px solid var(--line); border-radius:999px;
  background:var(--bone); color:var(--text-soft);
  font-size:0.68rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
}
.page-ohme-partner .op-partner-card h3{margin:0 0 8px; font-size:1.18rem; letter-spacing:-0.015em}
.page-ohme-partner .op-partner-card p{margin:0; color:var(--text-soft); font-size:0.9375rem; line-height:1.6}
.page-ohme-partner .op-partner-card .op-partner-meta{display:flex; flex-wrap:wrap; gap:6px; margin-top:14px}
.page-ohme-partner .op-partner-card .op-partner-meta span{
  padding:4px 9px; border-radius:7px; background:var(--ev-tint);
  color:var(--ev-deep); font-size:0.75rem; font-weight:600;
}
.page-ohme-partner .op-partner-card[data-brand="volvo"]{--op-brand:var(--brand-volvo)}
.page-ohme-partner .op-partner-card[data-brand="polestar"]{--op-brand:var(--brand-polestar)}
.page-ohme-partner .op-partner-card[data-brand="vw"]{--op-brand:var(--brand-vw)}

/* ---------- problem / PII contrast strip ---------- */
.page-ohme-partner .op-contrast{display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:26px}
.page-ohme-partner .op-contrast-pane{padding:24px; border-radius:16px; border:1px solid var(--line)}
.page-ohme-partner .op-contrast-pane.bad{background:var(--alert-tint); border-color:#e9c5c5}
.page-ohme-partner .op-contrast-pane.good{background:#eef6f1; border-color:#cfe5d8}
.page-ohme-partner .op-contrast-pane h3{margin:0 0 12px; font-size:1.02rem; display:flex; align-items:center; gap:9px}
.page-ohme-partner .op-contrast-pane.bad h3{color:var(--alert)}
.page-ohme-partner .op-contrast-pane.good h3{color:var(--ev-deep)}
.page-ohme-partner .op-contrast-pane ul{margin:0; padding:0; list-style:none; display:grid; gap:8px}
.page-ohme-partner .op-contrast-pane li{
  display:flex; gap:9px; align-items:flex-start;
  color:var(--text-soft); font-size:0.9rem; line-height:1.5;
}
.page-ohme-partner .op-contrast-pane li::before{
  content:"\2715"; flex:0 0 auto; margin-top:2px;
  color:var(--alert); font-size:0.8rem; font-weight:700;
}
.page-ohme-partner .op-contrast-pane.good li::before{content:"\2713"; color:var(--ev-deep)}

/* ---------- console ---------- */
.page-ohme-partner .op-console{
  padding:30px; border:1px solid var(--line); border-radius:20px;
  background:var(--surface); box-shadow:var(--shadow-md);
}
.page-ohme-partner .op-console-head{margin-bottom:22px}
.page-ohme-partner .op-console-head h2{margin:0 0 8px; font-size:clamp(1.3rem,2.6vw,1.6rem); letter-spacing:-0.02em}
.page-ohme-partner .op-console-head p{margin:0; color:var(--text-soft); font-size:0.96rem; line-height:1.6}
.page-ohme-partner .op-step{display:grid; gap:26px}
.page-ohme-partner .op-step-label{
  display:flex; align-items:center; gap:10px; margin:0 0 12px;
  color:var(--text-faint); font-size:0.72rem; font-weight:700; letter-spacing:0.12em; text-transform:uppercase;
}
.page-ohme-partner .op-step-label .op-step-num{
  display:grid; place-items:center; width:22px; height:22px; border-radius:50%;
  background:var(--ink); color:var(--on-ink); font-size:0.7rem; font-weight:700;
}
.page-ohme-partner fieldset{margin:0; padding:0; border:0; min-width:0}
.page-ohme-partner legend{padding:0}

/* brand picker — radio cards with :has() state */
.page-ohme-partner .op-brands{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.page-ohme-partner .op-brand{
  position:relative; display:block; cursor:pointer;
  padding:16px 14px 14px; border:1.5px solid var(--line-strong); border-radius:14px;
  background:var(--surface); transition:border-color .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease);
}
.page-ohme-partner .op-brand input{position:absolute; opacity:0; pointer-events:none}
.page-ohme-partner .op-brand .op-brand-name{display:block; font-weight:680; font-size:0.98rem; letter-spacing:-0.01em}
.page-ohme-partner .op-brand .op-brand-sub{display:block; margin-top:3px; color:var(--text-faint); font-size:0.78rem; line-height:1.4}
.page-ohme-partner .op-brand .op-brand-dot{
  position:absolute; top:14px; right:13px; width:11px; height:11px; border-radius:50%;
  border:2px solid var(--line-strong); background:transparent;
  transition:border-color .22s var(--ease), background .22s var(--ease), box-shadow .22s var(--ease);
}
.page-ohme-partner .op-brand:hover{border-color:rgba(13,19,34,0.34); transform:translateY(-2px)}
.page-ohme-partner .op-brand:has(input:checked){
  border-color:var(--ev);
  box-shadow:0 0 0 4px rgba(31,157,107,0.14), var(--shadow-sm);
}
.page-ohme-partner .op-brand:has(input:checked) .op-brand-dot{
  border-color:var(--ev); background:var(--ev); box-shadow:0 0 0 3px rgba(31,157,107,0.18);
}
.page-ohme-partner .op-brand:has(input:focus-visible){outline:2px solid var(--navy); outline-offset:2px}
.page-ohme-partner .op-brand:has(input[value="other"]:checked){
  border-color:var(--text-faint); box-shadow:0 0 0 4px rgba(138,144,160,0.16);
}
.page-ohme-partner .op-brand:has(input[value="other"]:checked) .op-brand-dot{
  border-color:var(--text-faint); background:var(--text-faint);
}

/* reference field + actions */
.page-ohme-partner .op-ref-row{display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end}
.page-ohme-partner .op-field{display:flex; flex-direction:column; gap:7px; flex:1 1 260px; min-width:0}
.page-ohme-partner .op-field label{
  color:var(--text-faint); font-size:0.72rem; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
}
.page-ohme-partner .op-field input{
  width:100%; min-height:50px; padding:12px 16px;
  border:1px solid var(--line-strong); border-radius:11px;
  background:var(--surface); color:var(--text);
  font-family:var(--font); font-size:0.9375rem;
  transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.page-ohme-partner .op-field input::placeholder{color:var(--text-faint)}
.page-ohme-partner .op-field input:hover{border-color:rgba(13,19,34,0.3)}
.page-ohme-partner .op-field input:focus-visible{outline:2px solid var(--navy); outline-offset:1px; border-color:var(--navy); box-shadow:0 0 0 4px var(--navy-tint)}
.page-ohme-partner .op-field .op-field-hint{margin:0; color:var(--text-faint); font-size:0.8rem; line-height:1.45}
.page-ohme-partner .op-actions{display:flex; flex-wrap:wrap; gap:10px}
.page-ohme-partner .op-actions .btn{min-height:50px; padding:12px 26px; border-radius:10px}
.page-ohme-partner .op-privacy-note{
  display:flex; gap:10px; align-items:flex-start; margin:0;
  padding:12px 15px; border-radius:11px;
  background:var(--ev-tint); border:1px solid #cfe5d8;
  color:var(--ev-deep); font-size:0.875rem; line-height:1.55;
}
.page-ohme-partner .op-privacy-note svg{flex:0 0 auto; margin-top:2px}

/* payload inspector */
.page-ohme-partner .op-payload{
  border:1px solid var(--line); border-radius:14px; overflow:hidden; background:#0d1322;
}
.page-ohme-partner .op-payload-bar{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;
  padding:10px 16px; border-bottom:1px solid rgba(244,241,232,0.12);
  color:var(--on-ink-faint); font-size:0.72rem; font-weight:650; letter-spacing:0.1em; text-transform:uppercase;
}
.page-ohme-partner .op-payload-bar .op-live{
  display:inline-flex; align-items:center; gap:7px; color:#67e8b8; letter-spacing:0.08em;
}
.page-ohme-partner .op-payload-bar .op-live::before{
  content:""; width:7px; height:7px; border-radius:50%; background:#41e0a5;
  animation:op-pulse 2.4s ease-in-out infinite;
}
.page-ohme-partner .op-payload pre{
  margin:0; padding:16px 18px; overflow-x:auto;
  color:#c9e8db; font-family:var(--mono); font-size:0.8125rem; line-height:1.65;
  white-space:pre; tab-size:2;
}

/* ---------- status / verdict / checks ---------- */
.page-ohme-partner .gt-status{margin:16px 0 0; padding:12px 16px; border-radius:10px; background:var(--bone); color:var(--text-soft); font-size:0.9375rem}
.page-ohme-partner .gt-status[hidden]{display:none}
.page-ohme-partner .gt-status.is-error{background:var(--alert-tint); color:var(--alert); border:1px solid #e9c5c5}
.page-ohme-partner .gt-result{margin-top:24px; display:grid; gap:18px}
.page-ohme-partner .gt-result[hidden]{display:none}
.page-ohme-partner .gt-verdict{
  position:relative; overflow:hidden; padding:26px 28px;
  border-radius:16px; border:1px solid var(--line-strong); background:var(--surface);
}
.page-ohme-partner .gt-verdict::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:5px; background:var(--text-faint);
  transition:background .3s var(--ease);
}
.page-ohme-partner .gt-verdict.yes::before{background:linear-gradient(180deg,var(--ev),var(--ev-deep))}
.page-ohme-partner .gt-verdict.no::before{background:linear-gradient(180deg,#c4574f,var(--alert))}
.page-ohme-partner .gt-verdict-word{
  margin:0 0 8px; font-size:2.3rem; font-weight:800; line-height:1; letter-spacing:-0.03em;
  font-variant-numeric:tabular-nums;
  animation:op-stamp .5s var(--ease) both;
}
@keyframes op-stamp{ 0%{opacity:0; transform:scale(1.14) translateY(6px)} 100%{opacity:1; transform:none} }
.page-ohme-partner .gt-verdict.yes .gt-verdict-word{color:var(--ev-deep)}
.page-ohme-partner .gt-verdict.no .gt-verdict-word{color:var(--alert)}
.page-ohme-partner .gt-verdict-line{margin:0; color:var(--text-soft); font-size:1.02rem; line-height:1.55}
.page-ohme-partner .op-checks{
  margin-top:18px; padding-top:16px; border-top:1px dashed var(--line);
  display:grid; gap:9px;
}
.page-ohme-partner .op-check{display:flex; gap:10px; align-items:flex-start; color:var(--text-soft); font-size:0.9rem; line-height:1.5}
.page-ohme-partner .op-check b{color:var(--text)}
.page-ohme-partner .op-check-icon{
  flex:0 0 auto; display:grid; place-items:center; width:19px; height:19px; margin-top:1px;
  border-radius:50%; font-size:0.7rem; font-weight:800;
}
.page-ohme-partner .op-check.pass .op-check-icon{background:#e2f1e9; color:var(--ev-deep)}
.page-ohme-partner .op-check.fail .op-check-icon{background:var(--alert-tint); color:var(--alert)}
.page-ohme-partner .op-note{margin:14px 0 0; color:var(--text-faint); font-size:0.8rem; font-style:italic; line-height:1.5}
.page-ohme-partner .op-grind{margin:6px 0 0; color:var(--text-faint); font-size:0.78rem; line-height:1.5}

/* ---------- proof card (AffixGate.renderProof contract) ---------- */
.page-ohme-partner .gt-proof{
  padding:22px 24px; border:1px solid rgba(179,137,74,0.35); border-radius:14px;
  background:linear-gradient(160deg,#fffdf9,var(--surface));
}
.page-ohme-partner .gt-proof[hidden]{display:none}
.page-ohme-partner .gt-proof-head{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px}
.page-ohme-partner .gt-proof-kicker{margin:0; color:var(--volt-ink); font-size:0.72rem; font-weight:650; letter-spacing:0.12em; text-transform:uppercase}
.page-ohme-partner .gt-proof-stamp{
  margin:0; padding:5px 12px; border-radius:999px;
  font-size:0.8125rem; font-weight:650;
  animation:op-stamp .5s .12s var(--ease) both;
}
.page-ohme-partner .gt-proof-stamp.yes{background:#e7f0e8; color:var(--ev-deep)}
.page-ohme-partner .gt-proof-stamp.no{background:var(--alert-tint); color:var(--alert)}
.page-ohme-partner .gt-proof-rows{display:grid; gap:10px; margin:0 0 14px}
.page-ohme-partner .gt-proof-rows > div{display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; align-items:baseline}
.page-ohme-partner .gt-proof-rows dt{
  margin:0; color:var(--text-faint); font-size:0.6875rem; font-weight:650; letter-spacing:0.1em; text-transform:uppercase;
}
.page-ohme-partner .gt-proof-rows dd{
  margin:0; color:var(--text); font-family:var(--mono); font-size:0.8125rem;
  overflow-wrap:anywhere; font-variant-numeric:tabular-nums;
}
.page-ohme-partner .gt-proof-note{margin:0; color:var(--text-faint); font-size:0.8125rem; line-height:1.55}

/* ---------- claim card ---------- */
.page-ohme-partner .op-claim{
  position:relative; overflow:hidden;
  padding:26px 28px; border-radius:16px;
  border:1px solid #bfe0cf;
  background:
    radial-gradient(520px 180px at 100% 0%, rgba(31,157,107,0.14), transparent 65%),
    linear-gradient(150deg,#f3faf6,#ffffff 60%);
}
.page-ohme-partner .op-claim[hidden]{display:none}
.page-ohme-partner .op-claim.is-in{animation:op-claim-in .55s var(--ease) both}
@keyframes op-claim-in{ 0%{opacity:0; transform:translateY(14px)} 100%{opacity:1; transform:none} }
.page-ohme-partner .op-claim-kicker{
  display:inline-flex; align-items:center; gap:8px; margin:0 0 10px;
  color:var(--ev-deep); font-size:0.72rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
}
.page-ohme-partner .op-claim h3{margin:0 0 16px; font-size:1.3rem; letter-spacing:-0.02em}
.page-ohme-partner .op-claim-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; margin-bottom:16px;
}
.page-ohme-partner .op-claim-cell{
  padding:14px 16px; border:1px solid #d9ece2; border-radius:12px; background:rgba(255,255,255,0.8);
}
.page-ohme-partner .op-claim-cell dt{
  margin:0 0 5px; color:var(--text-faint); font-size:0.66rem; font-weight:700; letter-spacing:0.11em; text-transform:uppercase;
}
.page-ohme-partner .op-claim-cell dd{margin:0; color:var(--text); font-size:0.95rem; font-weight:620; line-height:1.45; overflow-wrap:anywhere}
.page-ohme-partner .op-claim-cell dd.op-price{color:var(--ev-deep); font-size:1.3rem; font-weight:800; font-variant-numeric:tabular-nums}
.page-ohme-partner .op-claim-foot{display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between}
.page-ohme-partner .op-claim-offer{margin:0; color:var(--text-soft); font-size:0.875rem; line-height:1.55; flex:1 1 320px}
.page-ohme-partner .op-copy-btn{
  padding:9px 16px; border:1px solid var(--ev); border-radius:9px;
  background:transparent; color:var(--ev-deep); font-family:var(--font);
  font-size:0.8125rem; font-weight:650; cursor:pointer;
  transition:background .2s var(--ease), color .2s var(--ease);
}
.page-ohme-partner .op-copy-btn:hover{background:var(--ev); color:#fff}

/* ---------- PII ledger ---------- */
.page-ohme-partner .op-ledger{
  border:1px solid var(--line); border-radius:14px; overflow:hidden; background:var(--surface);
}
.page-ohme-partner .op-ledger-bar{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;
  padding:12px 18px; background:var(--ink); color:var(--on-ink);
  font-size:0.74rem; font-weight:650; letter-spacing:0.1em; text-transform:uppercase;
}
.page-ohme-partner .op-ledger-bar .op-zero{
  padding:3px 10px; border-radius:999px;
  background:rgba(65,224,165,0.16); color:#67e8b8; letter-spacing:0.08em;
}
.page-ohme-partner .op-ledger dl{margin:0; padding:6px 0}
.page-ohme-partner .op-ledger-row{
  display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px; align-items:center;
  padding:10px 18px; border-bottom:1px solid var(--line);
  animation:op-row-in .4s calc(var(--op-row) * 55ms) var(--ease) both;
}
@keyframes op-row-in{ 0%{opacity:0; transform:translateX(-8px)} 100%{opacity:1; transform:none} }
.page-ohme-partner .op-ledger-row:last-child{border-bottom:0; background:var(--bone)}
.page-ohme-partner .op-ledger-row dt{color:var(--text-soft); font-size:0.9rem}
.page-ohme-partner .op-ledger-row dd{
  margin:0; padding:4px 11px; border-radius:999px;
  font-size:0.78rem; font-weight:650; white-space:nowrap;
}
.page-ohme-partner .op-ledger-row.no dd{background:var(--alert-tint); color:var(--alert)}
.page-ohme-partner .op-ledger-row.hash dd{background:#fff4e0; color:var(--volt-ink)}
.page-ohme-partner .op-ledger-row.sent dd{background:#e2f1e9; color:var(--ev-deep)}

/* ---------- flow steps + prose + cta ---------- */
.page-ohme-partner .op-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:18px}
.page-ohme-partner .op-step-card{
  padding:24px; border:1px solid var(--line); border-radius:16px; background:var(--surface);
  box-shadow:var(--shadow-sm);
}
.page-ohme-partner .op-step-card .op-step-big{
  display:grid; place-items:center; width:44px; height:44px; margin-bottom:14px;
  border-radius:13px; background:var(--ink); color:#67e8b8;
  font-family:var(--mono); font-size:1rem; font-weight:700;
}
.page-ohme-partner .op-step-card h3{margin:0 0 8px; font-size:1.05rem; letter-spacing:-0.015em}
.page-ohme-partner .op-step-card p{margin:0; color:var(--text-soft); font-size:0.9rem; line-height:1.6}
.page-ohme-partner .op-prose{max-width:46rem; display:grid; gap:14px}
.page-ohme-partner .op-prose p{margin:0; color:var(--text-soft); font-size:1rem; line-height:1.7}
.page-ohme-partner .op-prose p strong{color:var(--text)}
.page-ohme-partner .op-cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:24px}
.page-ohme-partner .op-inline-code{
  padding:2px 7px; border-radius:6px; background:#eceae3;
  color:var(--navy-deep); font-family:var(--mono); font-size:0.86em;
}

/* ---------- responsive ---------- */
@media (max-width: 960px) {
  .page-ohme-partner .op-partners{grid-template-columns:1fr}
  .page-ohme-partner .op-brands{grid-template-columns:repeat(2,1fr)}
  .page-ohme-partner .op-steps{grid-template-columns:1fr}
  .page-ohme-partner .op-contrast{grid-template-columns:1fr}
}
@media (max-width: 640px) {
  .page-ohme-partner .op-section{padding:48px 0}
  .page-ohme-partner .op-console{padding:20px 16px}
  .page-ohme-partner .op-brands{grid-template-columns:1fr}
  .page-ohme-partner .gt-verdict-word{font-size:1.8rem}
  .page-ohme-partner .gt-proof-rows > div{grid-template-columns:1fr; gap:2px}
  .page-ohme-partner .op-splash .container{padding-bottom:42px}
}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion: reduce) {
  .page-ohme-partner .op-splash::after,
  .page-ohme-partner .op-eyebrow .op-eyebrow-dot,
  .page-ohme-partner .op-payload-bar .op-live::before{animation:none}
  .page-ohme-partner .gt-verdict-word,
  .page-ohme-partner .gt-proof-stamp,
  .page-ohme-partner .op-claim.is-in,
  .page-ohme-partner .op-ledger-row{animation:none}
  .page-ohme-partner .op-partner-card,
  .page-ohme-partner .op-brand{transition:none}
  .page-ohme-partner .op-partner-card:hover,
  .page-ohme-partner .op-brand:hover{transform:none}
}





