/* ============================================================
   partners.v2.css — /partners/ page-specific styles (2026-07-01)
   Source: founder-approved Claude Design export, uniformised:
   - NO token re-declarations: all var() resolve from
     design-system.final10.css (incl. the accessible --accent #A84A20;
     the export carried the stale pre-L4 #C45D2C — dropped with :root).
   - Design's own header/footer/nav rules stripped: the page keeps the
     site-wide chrome (site-header/site-footer from final10.css).
   - #FFB37A hardcodes -> var(--accent-on-dark).
   - CTA sized up per founder (13x22/14.5px -> 16x30/16px).
   - Reveal animation hides content ONLY under body.reveal-armed (set
     by JS) so no-JS/crawler rendering shows everything.
   ============================================================ */
/* ---- */




/* ---- */

/* Page-specific styles only — tokens come from the canonical sheet. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}

body{font-family:var(--font-body);background:var(--cream);color:var(--ink);font-size:16px;line-height:1.6;overflow-x:hidden}
/* final10 line ~342 forces body{background:var(--surface) !important} (#FAFAF8,
   near-white). This page is designed on cream — match the rest of the brand. */
body{background:var(--cream) !important}
/* founder 2026-07-01: visible break between the hero and the engine section
   (same hairline vocabulary as .pv-faq__item / .pv-trust__item dividers) */
#engine{border-top:1px solid rgba(12,46,43,.10)}

img,svg{display:block;max-width:100%}

a{color:inherit;text-decoration:none}

button{font-family:inherit;cursor:pointer}

.pv-container{max-width:1240px;margin:0 auto;padding:0 var(--sp-6)}

h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink);letter-spacing:-.02em;font-weight:500;line-height:1.1;font-variation-settings:"opsz" 96;text-wrap:balance}

h1 em,h2 em{font-style:italic;color:var(--accent)}

.pv-kicker{font:600 11.5px/1.6 var(--font-body);text-transform:uppercase;letter-spacing:.11em;color:var(--accent);display:inline-flex;align-items:center;gap:10px}

.pv-kicker::before{content:"";width:24px;height:1px;background:currentColor}

.pv-kicker--center{justify-content:center}

.pv-kicker--center::after{content:"";width:24px;height:1px;background:currentColor}


/* CTAs (mirror canonical .pv-cta / .pv-cta--secondary) */
.pv-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 30px;min-height:54px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font:600 16px/1 var(--font-body);transition:background .18s var(--ease)}

.pv-cta:hover{background:var(--accent-hover)}

/* pv-outline: final10's [class*="cta"]{color:#fff !important} sledgehammer matches
   pv-cta substrings; its designed escape hatch excludes [class*="outline"], so
   secondary CTAs carry pv-outline in the markup to keep ink text on light bg. */
.pv-cta--secondary{background:transparent;color:var(--ink) !important;border:1px solid var(--grey-300)}

.pv-cta--secondary:hover{background:var(--paper);border-color:var(--grey-500)}

.pv-cta:focus-visible,.pv-cta--secondary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}




/* ============================================================
   HERO — centered head, engine diagram + report compare below
   ============================================================ */
.pv-hero{padding:clamp(28px,3.5vw,48px) 0 var(--sp-16)}

.pv-hero__grid{display:grid;grid-template-columns:1fr .98fr;gap:clamp(28px,4vw,64px);align-items:center}
@media(max-width:820px){
.pv-hero__grid{grid-template-columns:1fr;gap:var(--sp-12)}
}

.pv-hero__copy .pv-kicker{margin-bottom:var(--sp-6)}

.pv-hero h1{font-size:clamp(34px,3.8vw,50px);line-height:1.05;margin-bottom:var(--sp-4);max-width:14ch}

.pv-hero__sub{font-size:16.5px;line-height:1.6;color:var(--grey-700);max-width:42ch;margin-bottom:var(--sp-6);text-wrap:pretty}

.pv-hero__sub b{font-weight:600;color:var(--ink)}

.pv-hero__ctas{display:flex;flex-wrap:wrap;gap:var(--sp-4);align-items:center}

.hero__meta{margin-top:var(--sp-6);font:500 11.5px/1.6 var(--font-data);letter-spacing:.04em;color:var(--grey-500)}


/* ---------- engine diagram (own section below hero) ---------- */
.pv-engine__grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:clamp(28px,3.5vw,64px);align-items:center}
@media(max-width:820px){
.pv-engine__grid{grid-template-columns:1fr;gap:var(--sp-12)}
}

.pv-engine__copy .pv-kicker{margin-bottom:var(--sp-4)}

.pv-engine__copy h2{font-size:clamp(34px,4vw,54px);margin-bottom:var(--sp-6)}

.pv-engine__copy p{color:var(--grey-700);font-size:17px;max-width:46ch;text-wrap:pretty}

.pv-engine__copy .pv-engine__replaces{margin-top:var(--sp-4);padding-top:var(--sp-4);border-top:1px solid rgba(12,46,43,.12);font-size:15px;color:var(--grey-500)}

.engine-col{min-width:0}

.pv-engine__live{display:inline-flex;align-items:center;gap:10px;font:500 13px/1 var(--font-data);letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin-bottom:var(--sp-4)}

.pv-engine__live::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 4px var(--primary-30);animation:enginepulse 2s ease-in-out infinite}

@keyframes enginepulse{0%,100%{opacity:1}50%{opacity:.35}}
@media (prefers-reduced-motion: reduce){
.pv-engine__live::before{animation:none}
}


.pv-engine{position:relative;width:560px;height:540px;max-width:100%}
@media(max-width:1240px){
.pv-engine{zoom:.9}
}
@media(max-width:1100px){
.pv-engine{zoom:.8}
}
@media(max-width:940px){
.pv-engine{zoom:.72}
}
@media(max-width:820px){
.pv-engine{zoom:1;margin:0 auto}
}
@media(max-width:768px){
.pv-engine{zoom:.78}
}
@media(max-width:480px){
.pv-engine{zoom:.6}
}


.pv-engine__wires{position:absolute;inset:0;width:100%;height:100%}

.pv-engine__wires .pv-wire{stroke-dasharray:3 6;stroke-width:1.5;fill:none;stroke-linecap:round}

.pv-engine__wires .pv-stub{stroke-dasharray:2 5;stroke-width:1.2;fill:none;stroke:var(--grey-300)}


.pv-engine__orb{
  position:absolute;left:360px;top:290px;transform:translate(-50%,-50%);
  width:172px;height:172px;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  background:radial-gradient(circle at 34% 28%, #DA855A 0%, var(--accent) 55%, var(--accent-hover) 100%);
  box-shadow:0 18px 48px rgba(196,93,44,.35);
  color:#fff;text-align:center;
}

.pv-engine__orb b{font:700 14px/1.35 var(--font-data);letter-spacing:.16em}

.pv-engine__orb span{font:500 11px/1 var(--font-data);letter-spacing:.04em;color:rgba(255,255,255,.85)}

.pv-engine__ring{position:absolute;left:360px;top:290px;transform:translate(-50%,-50%);border:1px solid rgba(196,93,44,.22);border-radius:50%;pointer-events:none}

.pv-engine__ring--1{width:260px;height:260px}

.pv-engine__ripple{position:absolute;left:360px;top:290px;width:172px;height:172px;border-radius:50%;border:1.5px solid rgba(196,93,44,.35);transform:translate(-50%,-50%);opacity:0;pointer-events:none}


.pv-src{position:absolute;display:inline-flex;align-items:center;gap:9px;background:var(--paper);border:1px solid rgba(12,46,43,.1);border-radius:var(--radius-pill);padding:10px 16px;font:500 13px/1 var(--font-data);color:var(--ink);box-shadow:var(--shadow-sm);white-space:nowrap}

.pv-src::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--dot,var(--primary));flex:none}

.pv-src--gov{left:0;top:96px;--dot:var(--primary)}

.pv-src--gaz{left:0;top:216px;--dot:var(--accent)}

.pv-src--law{left:0;top:336px;--dot:var(--primary)}

.pv-src--court{left:0;top:456px;--dot:#C99B2E}


.pv-stepchip{position:absolute;background:var(--paper);border:1px solid rgba(12,46,43,.08);border-radius:var(--radius-lg);padding:12px 18px;box-shadow:var(--shadow-md);text-align:center;white-space:nowrap}

.pv-stepchip b{display:block;font:600 14px/1.3 var(--font-body);color:var(--ink)}

.pv-stepchip span{display:block;font:500 11px/1.4 var(--font-data);color:var(--grey-500);margin-top:3px}

.pv-step--ingest{left:216px;top:58px}

.pv-step--rules{left:410px;top:158px}

.pv-step--report{left:300px;top:470px}

.pv-particle{position:absolute;left:0;top:0;width:7px;height:7px;border-radius:50%;opacity:0;pointer-events:none}


/* ---------- compare + report card ---------- */
.pv-report-col{position:relative}

.pv-report-col::before{content:"";position:absolute;inset:-48px -64px;background:radial-gradient(ellipse at 50% 42%, var(--primary-10) 0%, rgba(237,245,243,0) 68%);pointer-events:none}

.pv-report-col > *{position:relative}

.compare__lead{font-size:15px;color:var(--grey-700);margin-bottom:var(--sp-3)}

.compare__lead b{color:var(--ink);font-weight:600}

.pv-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);margin-bottom:var(--sp-4)}
@media(max-width:520px){
.pv-compare{grid-template-columns:1fr}
}

.pv-compare__opt{background:var(--paper);border:1px solid var(--grey-300);border-radius:var(--radius);padding:8px 14px;text-align:left;transition:border-color .18s var(--ease),background .18s var(--ease)}

.pv-compare__opt b{display:block;font:600 13px/1.3 var(--font-body);color:var(--ink);margin-bottom:1px}

.pv-compare__opt span{font:400 11.5px/1.35 var(--font-body);color:var(--grey-500)}

.pv-compare__opt[aria-pressed="true"]{background:var(--accent-light);border-color:var(--accent)}

.pv-compare__opt[aria-pressed="true"] b{color:var(--accent)}

.pv-compare__opt:focus-visible{outline:2px solid var(--primary);outline-offset:2px}


.pv-rcard{background:var(--paper);border:1px solid rgba(12,46,43,.08);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden}

.pv-rcard__head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:14px var(--sp-6);border-bottom:1px solid var(--grey-100)}

.pv-rcard__id{display:flex;align-items:center;gap:12px}

.pv-rcard__logo{width:32px;height:32px;flex:none;border-radius:50%;border:1.5px solid var(--primary);color:var(--primary);display:flex;align-items:center;justify-content:center}

.pv-rcard__logo svg{width:18px;height:18px}

.pv-rcard.is-yours .pv-rcard__logo{border-radius:8px;background:var(--grey-900);border-color:var(--grey-900);color:#fff;font:700 12px/1 var(--font-body)}

.pv-rcard.is-yours .pv-rcard__logo svg{display:none}

.pv-rcard__logo i{display:none;font-style:normal}

.pv-rcard.is-yours .pv-rcard__logo i{display:block}

.pv-rcard__name{font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:-.01em}

.pv-rcard__name .brand-to{font-style:italic}

.pv-rcard.is-yours .pv-rcard__name-ours{display:none}

.pv-rcard__name-yours{display:none;font:600 17px/1.2 var(--font-body)}

.pv-rcard.is-yours .pv-rcard__name-yours{display:block}

.pv-rcard__sub{font:500 10.5px/1 var(--font-data);color:var(--grey-500);margin-top:3px;white-space:nowrap}

.rcard__pill{font:700 9.5px/1 var(--font-data);letter-spacing:.1em;color:var(--move);background:var(--move-bg);border:1px solid var(--move-border);border-radius:var(--radius-pill);padding:6px 10px;white-space:nowrap;flex:none}


/* report card internals — mirrors the real Eligibility Screening Report */
.rcard__date{font:500 10.5px/1 var(--font-data);color:var(--grey-500);white-space:nowrap;flex:none}

.pv-rcard__prepared{padding:10px var(--sp-6) 0;font:500 10.5px/1.6 var(--font-data);color:var(--grey-500)}

.pv-rcard__verdict{padding:var(--sp-4) var(--sp-6) var(--sp-2)}

.pv-rcard__verdict-kicker{font:700 9.5px/1 var(--font-data);letter-spacing:.14em;text-transform:uppercase;color:var(--grey-500);margin-bottom:8px}

.pv-rcard__verdict h3{font-size:clamp(20px,1.9vw,24px);line-height:1.15}

.pv-rcard__verdict h3 em{font-style:italic;color:var(--accent)}

.rcard__verify{font:400 12.5px/1.5 var(--font-body);color:var(--grey-700);margin-top:6px}

.rcard__verify b{font-weight:600;color:var(--ink)}

.pv-rcard__ladder{padding:var(--sp-2) var(--sp-6) 0;display:flex;flex-direction:column}

.pv-rcard__lrow{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:9px 0;border-top:1px solid var(--grey-100)}

.pv-rcard__lrow > span:last-child{font:600 13px/1.4 var(--font-body);color:var(--ink);text-align:right}

.pv-rcard__lrow.pv-is-low > span:last-child{font-weight:400;color:var(--grey-500)}

.pv-lpill{font:700 9px/1 var(--font-data);letter-spacing:.08em;border-radius:var(--radius-pill);padding:5px 9px;white-space:nowrap;flex:none}

.pv-lpill--move{color:var(--move);background:var(--move-bg);border:1px solid var(--move-border)}

.pv-lpill--delay{color:var(--delay);background:var(--delay-bg);border:1px solid var(--delay-border)}

.pv-lpill--grey{color:var(--grey-500);background:var(--grey-100);border:1px solid var(--grey-300)}

.pv-rcard__scan{margin:var(--sp-3) var(--sp-6) 0;padding-top:10px;border-top:1px solid var(--grey-100);font:500 10.5px/1.7 var(--font-data);color:var(--grey-500)}

.pv-rcard__scan b{color:var(--ink);font-weight:700}


.rcard__rows{padding:0 var(--sp-6) var(--sp-2)}

.rcard__row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-6);padding:11px 16px;border-radius:var(--radius)}

.rcard__row:nth-child(odd){background:var(--grey-100)}

.rcard__row dt{font:400 14px/1.4 var(--font-body);color:var(--grey-700)}

.rcard__row dd{font:600 14px/1.4 var(--font-body);color:var(--ink);text-align:right}

.pv-rcard__foot{padding:var(--sp-4) var(--sp-6) var(--sp-6);display:flex;flex-direction:column;gap:var(--sp-3)}

.pv-rcard__btn{display:flex;align-items:center;justify-content:center;width:100%;padding:12px;border:none;border-radius:var(--radius);background:var(--primary);color:#fff;font:600 14px/1 var(--font-body);transition:background .18s var(--ease)}

.pv-rcard__btn:hover{background:var(--primary-60)}

.pv-rcard.is-yours .pv-rcard__btn{background:var(--grey-900)}

.pv-rcard__note{font:400 11px/1.5 var(--font-data);color:var(--grey-500);text-align:center}


/* ============================================================
   SECTIONS BELOW
   ============================================================ */
.pv-section{padding:var(--sp-16) 0}

.pv-section-head{max-width:620px;margin:0 auto var(--sp-12);text-align:center}

.pv-section-head .pv-kicker{margin-bottom:var(--sp-4)}

.pv-section-head h2{font-size:clamp(30px,3.4vw,42px);margin-bottom:var(--sp-4)}

.pv-section-head p{color:var(--grey-700);font-size:17px;text-wrap:pretty}


.pv-ways{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-6);max-width:1020px;margin:0 auto}
@media(max-width:840px){
.pv-ways{grid-template-columns:1fr}
}

.pv-way{background:var(--paper);border:1px solid rgba(12,46,43,.07);border-radius:var(--radius-xl);padding:var(--sp-12) var(--sp-8);box-shadow:var(--shadow-sm)}

.pv-way__tag{font:500 11px/1 var(--font-data);text-transform:uppercase;letter-spacing:.1em;color:var(--primary);background:var(--primary-10);border-radius:var(--radius-pill);padding:7px 14px;display:inline-block;margin-bottom:var(--sp-6)}

.pv-way h3{font-size:26px;margin-bottom:var(--sp-4)}

.pv-way p{color:var(--grey-700);font-size:15.5px;text-wrap:pretty;margin-bottom:var(--sp-6)}

.pv-way ul{list-style:none;display:flex;flex-direction:column;gap:var(--sp-3)}

.pv-way li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--grey-700)}

.pv-tick{width:18px;height:18px;flex:none;border-radius:50%;background:var(--primary-10);color:var(--primary);display:inline-flex;align-items:center;justify-content:center;margin-top:2px}

.pv-tick svg{width:10px;height:10px}


.pv-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-6);max-width:1020px;margin:0 auto}
@media(max-width:840px){
.pv-trust{grid-template-columns:1fr}
}

.pv-trust__item{padding:var(--sp-8);border-top:1px solid rgba(12,46,43,.14)}

.pv-trust__num{font:500 13px/1 var(--font-data);color:var(--accent);margin-bottom:var(--sp-4);display:block}

.pv-trust__item h3{font-size:20px;margin-bottom:var(--sp-3)}

.pv-trust__item p{font-size:14.5px;color:var(--grey-700);text-wrap:pretty}


.pv-faq__list{max-width:720px;margin:0 auto;display:flex;flex-direction:column}

.pv-faq__item{border-top:1px solid rgba(12,46,43,.12)}

.pv-faq__item:last-child{border-bottom:1px solid rgba(12,46,43,.12)}

.pv-faq__item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-6);padding:var(--sp-6) var(--sp-2);font:500 17px/1.4 var(--font-body);color:var(--ink);cursor:pointer}

.pv-faq__item summary::-webkit-details-marker{display:none}

.pv-faq__icon{flex:none;width:22px;height:22px;position:relative}

.pv-faq__icon::before,.pv-faq__icon::after{content:"";position:absolute;background:var(--grey-500);top:50%;left:50%;transition:transform .2s var(--ease)}

.pv-faq__icon::before{width:14px;height:1.5px;transform:translate(-50%,-50%)}

.pv-faq__icon::after{width:1.5px;height:14px;transform:translate(-50%,-50%)}

.pv-faq__item[open] .pv-faq__icon::after{transform:translate(-50%,-50%) scaleY(0)}

.pv-faq__answer{padding:0 var(--sp-2) var(--sp-6);max-width:60ch;color:var(--grey-700);font-size:15px;text-wrap:pretty}


.pv-final{background:var(--ink);color:#fff;padding:var(--sp-24) 0;margin-top:var(--sp-16)}

.pv-final__inner{max-width:640px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--sp-6)}

.pv-final .pv-kicker{color:var(--accent-on-dark)}

.pv-final .pv-kicker::after{content:"";width:24px;height:1px;background:currentColor}

.pv-final h2{color:#fff;font-size:clamp(32px,4vw,48px)}

.pv-final h2 em{color:var(--accent-on-dark)}

.pv-final p{color:rgba(255,255,255,.75);font-size:17px;max-width:46ch;text-wrap:pretty}

.pv-final__ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-4)}

.pv-final .pv-cta--secondary{color:#fff !important;border-color:rgba(255,255,255,.3)}

.pv-final .pv-cta--secondary:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.5)}


@media (prefers-reduced-motion: reduce){

  html{scroll-behavior:auto}

  *,*::before,*::after{transition:none !important;animation:none !important}
}


/* ---------- fluid motion ---------- */
@media (prefers-reduced-motion: no-preference){
  body.js [data-reveal]{transition:opacity .8s var(--ease),transform .8s var(--ease)}
  body.reveal-armed [data-reveal]:not(.is-in){opacity:0;transform:translateY(26px)}
  .pv-rcard{animation:cardfloat 7s ease-in-out 1.6s infinite}
  @keyframes cardfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
  .pv-engine__wires .pv-wire{animation:wireflow 1.4s linear infinite}
  @keyframes wireflow{to{stroke-dashoffset:-9}}
  .pv-engine__orb{animation:orbbreathe 5s ease-in-out infinite}
  @keyframes orbbreathe{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.045)}}
  .pv-engine__ripple{animation:ripple 4.4s cubic-bezier(.2,.55,.35,1) infinite}
  .pv-engine__ripple--2{animation-delay:2.2s}
  @keyframes ripple{0%{transform:translate(-50%,-50%) scale(.95);opacity:.6}100%{transform:translate(-50%,-50%) scale(2.05);opacity:0}}
  .pv-particle{animation:ptravel var(--pd,4s) linear var(--pdel,0s) infinite}
  @keyframes ptravel{0%{offset-distance:0%;opacity:0}10%{opacity:1}82%{opacity:1}96%,100%{offset-distance:100%;opacity:0}}
  .pv-engine .pv-src{animation:chipfloat 7s ease-in-out infinite}
  .pv-src--gaz{animation-delay:1.2s}
  .pv-src--law{animation-delay:2.4s}
  .pv-src--court{animation-delay:3.4s}
  .pv-step--ingest{animation:chipfloat 8s ease-in-out .8s infinite}
  .pv-step--rules{animation:chipfloat 8s ease-in-out 2s infinite}
  @keyframes chipfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
  .pv-step--report{animation:reportpulse 2.8s ease-in-out 1.4s infinite}
  @keyframes reportpulse{0%,60%,100%{transform:scale(1);box-shadow:var(--shadow-md)}78%{transform:scale(1.04);box-shadow:0 12px 32px rgba(196,93,44,.28)}}
}