/* ANIPARTNA design-CSS fixes — GENERATED by redesign/tools/ds/build-ap-fixes.mjs. Do not edit by hand.
   The ONLY sanctioned override of the design CSS (DECISIONS D-17, D-19, D-20, D-23, D-25). Load AFTER ap.css + app.css/site.css.
   ap.css / app.css / site.css stay byte-identical to the Claude Design canvas.

   D-17/D-19 — ap.css `.ap a{color:var(--link)}` (0,1,1) outranks the design's own class rules on links, so classed
   links (buttons, header links, cards, link-arrows, …) render link-blue on the canvas. Below, every `color` rule of the
   design CSS is replayed for links only, in source order and inside the same @media/@container, with specificity
   raised uniformly by (0,1,1): relative order between design rules is unchanged, only the generic reset stops winning.
   280 declarations replayed.
*/
/* — replay of ap.css colour rules — */
.ap :is(.ap):is(a){color:var(--text-body)}
.ap :is(.t-display):is(a){color:var(--text)}
.ap :is(.t-h1):is(a){color:var(--text)}
.ap :is(.t-h2):is(a){color:var(--text)}
.ap :is(.t-h3):is(a){color:var(--text)}
.ap :is(.t-h4):is(a){color:var(--text)}
.ap :is(.t-h5):is(a){color:var(--text)}
.ap :is(.t-h6):is(a){color:var(--text)}
.ap :is(.t-caption):is(a){color:var(--text-muted)}
.ap :is(.t-overline):is(a){color:var(--text-muted)}
.ap :is(.t-editorial):is(a){color:var(--text)}
.ap :is(.t-emph):is(a){color:var(--text)}
.ap :is(.t-money-xl):is(a){color:var(--text)}
.ap :is(.t-money-lg):is(a){color:var(--text)}
.ap :is(.t-mono):is(a){color:var(--text-muted)}
.ap :is(.sheet-kicker):is(a){color:var(--accent-text)}
.ap :is(.sec-title):is(a){color:var(--text)}
.ap :is(.sec-sub):is(a){color:var(--text-muted)}
.ap :is(.spec):is(a){color:var(--text-subtle)}
.ap :is(.lbl):is(a){color:var(--text-subtle)}
.ap :is(.btn-primary):is(a){color:var(--text-on-accent)}
.ap :is(.btn-secondary):is(a){color:var(--text)}
.ap :is(.btn-ghost):is(a){color:var(--accent-text)}
.ap :is(.btn-danger):is(a){color:rgb(255, 255, 255)}
.ap :is(.btn-dark):is(a){color:rgb(255, 255, 255)}
.ap :is(.btn[disabled]):is(a){color:var(--text-subtle)}
.ap :is(.btn.is-disabled):is(a){color:var(--text-subtle)}
.ap :is(.field > label):is(a){color:var(--text)}
.ap :is(.flabel):is(a){color:var(--text)}
.ap :is(.hint):is(a){color:var(--text-muted)}
.ap :is(.err):is(a){color:var(--danger)}
.ap :is(.ok):is(a){color:var(--positive)}
.ap :is(.control):is(a){color:var(--text)}
.ap :is(.control input):is(a){color:inherit}
.ap :is(.control select):is(a){color:inherit}
.ap :is(.control .affix):is(a){color:var(--text-muted)}
.ap :is(.control .affix-box):is(a){color:var(--text-muted)}
.ap :is(.control.is-disabled):is(a){color:var(--text-subtle)}
.ap :is(.control svg):is(a){color:var(--text-muted)}
.ap :is(.otp span):is(a){color:var(--text)}
.ap :is(.otp span.otp-sep):is(a){color:var(--text-subtle)}
.ap :is(.check):is(a){color:var(--text)}
.ap :is(.box):is(a){color:rgb(255, 255, 255)}
.ap :is(.seg button):is(a){color:var(--text-muted)}
.ap :is(.seg button.on):is(a){color:var(--text)}
.ap :is(.pill-neutral):is(a){color:var(--text-muted)}
.ap :is(.pill-success):is(a){color:var(--positive)}
.ap :is(.pill-info):is(a){color:var(--info)}
.ap :is(.pill-warning):is(a){color:var(--warning)}
.ap :is(.pill-danger):is(a){color:var(--danger)}
.ap :is(.pill-brand):is(a){color:var(--brand-green-700)}
.ap :is(.pill-dark):is(a){color:rgb(255, 255, 255)}
.ap :is([data-theme="dark"] .pill-brand):is(a){color:var(--opportunity-teal)}
.ap :is(.trust):is(a){color:var(--text)}
.ap :is(.trust svg):is(a){color:var(--accent-text)}
.ap :is(.trust .when):is(a){color:var(--text-muted)}
.ap :is(.chip):is(a){color:var(--text)}
.ap :is(.chip.on):is(a){color:var(--accent-text)}
.ap :is(.count):is(a){color:var(--text-on-accent)}
.ap :is(.av):is(a){color:rgb(255, 255, 255)}
.ap :is(.av-more):is(a){color:var(--text) !important}
.ap :is(.tabs a):is(a){color:var(--text-muted)}
.ap :is(.tabs a.on):is(a){color:var(--text)}
.ap :is(.step .leg):is(a){color:var(--text-muted)}
.ap :is(.step.done .leg):is(a){color:var(--brand-green-800)}
.ap :is(.step.cur .leg):is(a){color:rgb(255, 255, 255)}
.ap :is([data-theme="dark"] .step.cur .leg):is(a){color:var(--brand-charcoal)}
.ap :is([data-theme="dark"] .step.done .leg):is(a){color:var(--opportunity-teal)}
.ap :is(.step .sname):is(a){color:var(--text)}
.ap :is(.step .sstate):is(a){color:var(--text-muted)}
.ap :is(.crumbs):is(a){color:var(--text-muted)}
.ap :is(.crumbs a):is(a){color:var(--text-muted)}
.ap :is(.crumbs .here):is(a){color:var(--text)}
.ap :is(.pager a):is(a){color:var(--text-muted)}
.ap :is(.pager a.on):is(a){color:rgb(255, 255, 255)}
.ap :is([data-theme="dark"] .pager a.on):is(a){color:var(--brand-charcoal)}
.ap :is(.tbl):is(a){color:var(--text-body)}
.ap :is(.tbl th):is(a){color:var(--text-muted)}
.ap :is(.tbl .strong):is(a){color:var(--text)}
.ap :is(.delta.up):is(a){color:var(--positive)}
.ap :is(.delta.down):is(a){color:var(--danger)}
.ap :is(.banner):is(a){color:var(--text)}
.ap :is(.banner-info svg):is(a){color:var(--info)}
.ap :is(.banner-warning svg):is(a){color:var(--warning)}
.ap :is(.banner-danger svg):is(a){color:var(--danger)}
.ap :is(.banner-success svg):is(a){color:var(--positive)}
.ap :is(.disclaimer):is(a){color:var(--text-muted)}
.ap :is(.disclaimer svg):is(a){color:var(--text-muted)}
.ap :is(.toast):is(a){color:rgb(255, 255, 255)}
.ap :is(.toast a):is(a){color:var(--opportunity-teal)}
.ap :is([data-theme="dark"] .toast):is(a){color:var(--brand-charcoal)}
.ap :is([data-theme="dark"] .toast a):is(a){color:var(--brand-green-700)}
.ap :is(.menu a):is(a){color:var(--text)}
.ap :is(.menu a svg):is(a){color:var(--text-muted)}
.ap :is(.menu a.danger):is(a){color:var(--danger)}
.ap :is(.menu a.danger svg):is(a){color:var(--danger)}
.ap :is(kbd):is(a){color:var(--text-muted)}
.ap :is(.kbd):is(a){color:var(--text-muted)}
.ap :is(.tip):is(a){color:rgb(255, 255, 255)}
.ap :is([data-theme="dark"] .tip):is(a){color:var(--brand-charcoal)}
.ap :is(.ph):is(a){color:rgba(255, 255, 255, 0.7)}
.ap :is(.ph-light):is(a){color:var(--text-muted)}
/* — replay of app.css colour rules — */
.ap :is(.app-root):is(a){color:var(--text-body)}
.ap :is(.cmp):is(a){color:var(--text-body)}
.ap :is(.sb):is(a){color:rgb(213, 220, 221)}
.ap :is(.sb-grp):is(a){color:rgb(138, 149, 151)}
.ap :is(.sb a):is(a){color:rgb(213, 220, 221)}
.ap :is(.sb button.sb-item):is(a){color:rgb(213, 220, 221)}
.ap :is(.sb a svg):is(a){color:rgb(169, 180, 182)}
.ap :is(.sb button.sb-item svg):is(a){color:rgb(169, 180, 182)}
.ap :is(.sb a.on):is(a){color:rgb(255, 255, 255)}
.ap :is(.sb a.on svg):is(a){color:var(--opportunity-teal)}
.ap :is(.sb .sub):is(a){color:rgb(169, 180, 182)}
.ap :is(.tb .icon-btn):is(a){color:var(--text)}
.ap :is(.mode-btn):is(a){color:var(--text)}
.ap :is(.avatar-btn):is(a){color:var(--text)}
.ap :is(.tabbar a):is(a){color:var(--text-muted)}
.ap :is(.tabbar a.on):is(a){color:var(--accent-text)}
.ap :is(.tabbar .cnt):is(a){color:var(--text-on-accent)}
.ap :is(.kv-list > .v):is(a){color:var(--text)}
.ap :is(.auth-brand):is(a){color:rgb(213, 220, 221)}
.ap :is(.auth-foot):is(a){color:var(--text-muted)}
.ap :is(.divider-text):is(a){color:var(--text-muted)}
.ap :is(.path-card):is(a){color:unset}
.ap :is(.path-card .pi):is(a){color:var(--brand-green-700)}
.ap :is([data-theme="dark"] .path-card .pi):is(a){color:var(--opportunity-teal)}
.ap :is(.kyc-step .n):is(a){color:var(--text-muted)}
.ap :is(.method):is(a){color:unset}
.ap :is(.method .mi):is(a){color:var(--text)}
.ap :is(.utabs button):is(a){color:var(--text-muted)}
.ap :is(.utabs button.on):is(a){color:var(--text)}
.ap :is(.hub-tabs button):is(a){color:var(--text-muted)}
.ap :is(.hub-tabs button.on):is(a){color:var(--text)}
.ap :is(.hub-tabs button.on svg):is(a){color:var(--accent-text)}
.ap :is(.hero-banner):is(a){color:rgb(255, 255, 255)}
.ap :is(.hb-ctrl button):is(a){color:rgb(255, 255, 255)}
.ap :is(.qa):is(a){color:var(--text)}
.ap :is(.qa svg):is(a){color:var(--accent-text)}
.ap :is(.ticker .nm):is(a){color:var(--accent-text)}
.ap :is(.ticker .vl):is(a){color:var(--text)}
.ap :is(.promo):is(a){color:rgb(255, 255, 255)}
.ap :is(.feat-proj):is(a){color:rgb(213, 220, 221)}
.ap :is(.plan-chip):is(a){color:rgb(27, 28, 32)}
.ap :is(.plan-chip span):is(a){color:rgb(7, 117, 104)}
.ap :is(.photo):is(a){color:rgba(255, 255, 255, 0.78)}
.ap :is(.photo .ptag):is(a){color:rgba(255, 255, 255, 0.6)}
.ap :is(.logo-tile):is(a){color:rgb(255, 255, 255)}
.ap :is(.doc-ic):is(a){color:var(--text-muted)}
.ap :is(.opt-card):is(a){color:unset}
.ap :is(.agree-scroll):is(a){color:var(--text)}
.ap :is(.track .dot2):is(a){color:var(--text-muted)}
.ap :is(.track .done .dot2):is(a){color:rgb(255, 255, 255)}
.ap :is(.track .cur .dot2):is(a){color:rgb(255, 255, 255)}
.ap :is([data-theme="dark"] .track .cur .dot2):is(a){color:var(--brand-charcoal)}
.ap :is(.amt-in input):is(a){color:unset}
.ap :is(.card .plan-chip):is(a){color:var(--text)}
.ap :is(.mail-folders button):is(a){color:var(--text-muted)}
.ap :is(.mail-folders button.on):is(a){color:var(--text)}
.ap :is(.mail-item):is(a){color:unset}
.ap :is(.adm-env):is(a){color:rgb(255, 154, 154)}
.ap :is(.q-row.head):is(a){color:var(--text-muted)}
.ap :is(.sla.ok):is(a){color:var(--positive)}
.ap :is(.sla.warn):is(a){color:var(--warning)}
.ap :is(.sla.bad):is(a){color:var(--danger)}
.ap :is(.viewer .vbar):is(a){color:rgb(201, 208, 210)}
.ap :is(.viewer .vpage):is(a){color:rgb(27, 28, 32)}
.ap :is(.four-eyes):is(a){color:var(--text)}
/* — replay of site.css colour rules — */
.ap :is(.site):is(a){color:var(--text-body)}
.ap :is(.bg-night):is(a){color:rgb(213, 220, 221)}
.ap :is(.bg-charcoal):is(a){color:rgb(213, 220, 221)}
.ap :is(.bg-night .h-1):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-night .h-2):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-night .h-3):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-night .h-display):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-charcoal .h-2):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-charcoal .h-3):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-night .lead):is(a){color:rgb(201, 210, 212)}
.ap :is(.bg-charcoal .lead):is(a){color:rgb(201, 210, 212)}
.ap :is(.eyebrow):is(a){color:var(--brand-green-700)}
.ap :is(.bg-night .eyebrow):is(a){color:var(--opportunity-teal)}
.ap :is(.bg-charcoal .eyebrow):is(a){color:var(--opportunity-teal)}
.ap :is(.h-display):is(a){color:var(--text)}
.ap :is(.h-1):is(a){color:var(--text)}
.ap :is(.h-2):is(a){color:var(--text)}
.ap :is(.h-3):is(a){color:var(--text)}
.ap :is(.h-4):is(a){color:var(--text)}
.ap :is(.lead):is(a){color:var(--text-muted)}
.ap :is(.tagline):is(a){color:var(--text)}
.ap :is(.bg-night .tagline):is(a){color:var(--growth-mint)}
.ap :is(.link-arrow):is(a){color:var(--brand-green-700)}
.ap :is(.bg-night .link-arrow):is(a){color:var(--opportunity-teal)}
.ap :is(.bg-charcoal .link-arrow):is(a){color:var(--opportunity-teal)}
.ap :is(.sh-logo):is(a){color:var(--brand-charcoal)}
.ap :is(.sh-link):is(a){color:var(--text)}
.ap :is(.mega-item .mi):is(a){color:var(--brand-green-700)}
.ap :is(.mega-item b):is(a){color:var(--text)}
.ap :is(.mega-item span):is(a){color:var(--text-muted)}
.ap :is(.mega-feature):is(a){color:rgb(213, 220, 221)}
.ap :is(.mm-group summary):is(a){color:var(--text)}
.ap :is(.mm-row):is(a){color:var(--text)}
.ap :is(.mm-sub a):is(a){color:var(--text-body)}
.ap :is(.mm-sub a svg):is(a){color:var(--brand-green-700)}
.ap :is(.crumb):is(a){color:var(--text-muted)}
.ap :is(.crumb a):is(a){color:inherit}
.ap :is(.bg-night .crumb):is(a){color:rgb(169, 180, 182)}
.ap :is(.mcard):is(a){color:inherit}
.ap :is(.mcard .mi):is(a){color:var(--brand-green-700)}
.ap :is(.bg-night .mcard):is(a){color:rgb(201, 210, 212)}
.ap :is(.dark-card):is(a){color:rgb(201, 210, 212)}
.ap :is(.bg-night .mcard .h-4):is(a){color:rgb(255, 255, 255)}
.ap :is(.dark-card .h-4):is(a){color:rgb(255, 255, 255)}
.ap :is(.bg-night .mcard .mi):is(a){color:var(--opportunity-teal)}
.ap :is(.mchip):is(a){color:var(--text-body)}
.ap :is(.bg-night .mchip):is(a){color:rgb(213, 220, 221)}
.ap :is(.step-n):is(a){color:var(--growth-mint)}
.ap :is(.bg-night .step-n):is(a){color:var(--brand-green)}
.ap :is(.legchip):is(a){color:rgb(255, 255, 255)}
.ap :is(.legchip.mint):is(a){color:var(--brand-green-800)}
.ap :is(.atab):is(a){color:var(--text-muted)}
.ap :is(.atab.on):is(a){color:rgb(255, 255, 255)}
.ap :is(.photo):is(a){color:rgba(255, 255, 255, 0.78)}
.ap :is(.photo .ptag):is(a){color:rgba(255, 255, 255, 0.6)}
.ap :is(.sample-tag):is(a){color:var(--text-muted)}
.ap :is(.bg-night .sample-tag):is(a){color:rgb(169, 180, 182)}
.ap :is(.dv-k):is(a){color:var(--text-muted)}
.ap :is(.dv-v):is(a){color:var(--text)}
.ap :is(.trust-strip svg):is(a){color:var(--brand-green-700)}
.ap :is(.trust-strip b):is(a){color:var(--text)}
.ap :is(.trust-strip span):is(a){color:var(--text-muted)}
.ap :is(.stat .num-xl):is(a){color:var(--text)}
.ap :is(.bg-night .stat .num-xl):is(a){color:rgb(255, 255, 255)}
.ap :is(.cta-band):is(a){color:rgb(213, 220, 221)}
.ap :is(.cta-form .control):is(a){color:rgb(255, 255, 255)}
.ap :is(.faq summary):is(a){color:var(--text)}
.ap :is(.faq summary svg):is(a){color:var(--text-muted)}
.ap :is(.faq details p):is(a){color:var(--text-muted)}
.ap :is(.ctable thead th):is(a){color:var(--text-muted)}
.ap :is(.ctable tbody th):is(a){color:var(--text)}
.ap :is(.sf):is(a){color:rgb(169, 180, 182)}
.ap :is(.sf h3):is(a){color:rgb(138, 149, 151)}
.ap :is(.sf a):is(a){color:rgb(213, 220, 221)}
.ap :is(.sf a:hover):is(a){color:rgb(255, 255, 255)}
.ap :is(.sf-social svg):is(a){color:rgb(213, 220, 221)}
.ap :is(.sf-disc):is(a){color:rgb(169, 180, 182)}
.ap :is(.sf-bottom):is(a){color:rgb(138, 149, 151)}
.ap :is(.prose):is(a){color:var(--text-body)}
.ap :is(.prose h2):is(a){color:var(--text)}
.ap :is(.prose h3):is(a){color:var(--text)}
.ap :is(.prose blockquote):is(a){color:var(--text)}
.ap :is(.toc a):is(a){color:var(--text-muted)}
.ap :is(.toc a.on):is(a){color:var(--text)}
.ap :is(.wl-head):is(a){color:rgb(213, 220, 221)}
.ap :is(.h-hero):is(a){color:rgb(255, 255, 255)}
.ap :is(.store):is(a){color:rgb(255, 255, 255)}
.ap :is(.vband-head):is(a){color:rgb(255, 255, 255)}
.ap :is(.vcard):is(a){color:inherit}
.ap :is(.vcard .vthumb):is(a){color:rgba(255, 255, 255, 0.85)}
.ap :is(.vdur):is(a){color:rgb(255, 255, 255)}
.ap :is(.vtag):is(a){color:rgb(27, 28, 32)}
.ap :is(.vcard .vbody b):is(a){color:var(--text)}
.ap :is(.vcard .vbody span):is(a){color:var(--text-muted)}
.ap :is(.bx):is(a){color:inherit}
.ap :is(.bx.dark):is(a){color:rgb(213, 220, 221)}
.ap :is(.bx.teal):is(a){color:rgb(230, 251, 245)}
.ap :is(.mapdot span):is(a){color:rgb(255, 255, 255)}
.ap :is(.tk-item b):is(a){color:var(--text)}
.ap :is(.tk-item span):is(a){color:var(--text-muted)}
.ap :is(.avs span):is(a){color:rgb(255, 255, 255)}
.ap :is(:is(.g2, .g3, .g4, .g5) > :nth-child(4n+2) .mi):is(a){color:rgb(43, 120, 201)}
.ap :is(:is(.g2, .g3, .g4, .g5) > :nth-child(4n+3) .mi):is(a){color:rgb(178, 107, 0)}
.ap :is(:is(.g2, .g3, .g4, .g5) > :nth-child(4n+4) .mi):is(a){color:rgb(91, 58, 140)}
.ap :is(.step-n):is(a){color:transparent !important}
.ap :is(.stat .num-xl):is(a){color:transparent}
.ap :is(.faq summary:hover):is(a){color:var(--brand-green-700)}
.ap :is(.hero-art .fc):is(a){color:rgb(27, 28, 32)}
.ap :is(.hero-art .fc span):is(a){color:rgb(79, 91, 94)}
.ap :is(.hero-art .motif):is(a){color:rgb(1, 195, 142)}
.ap :is(.marquee .mq):is(a){color:var(--text)}
.ap :is(.bg-night .marquee .mq):is(a){color:rgb(213, 220, 221)}
.ap :is(.marquee .mq svg):is(a){color:var(--brand-green-700)}

/* D-19 — `.mx{margin-inline:auto}` (site.css) loses to `.ap h1…p` / `.site h1…` {margin:0} on headings and paragraphs */
.ap .mx{margin-inline:auto}

/* D-20 — the open mobile menu (below the 64px bar) may scroll when it is taller than the screen; no change when it fits */
.ap .mobile-menu{max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}

/* D-23 — on phones a card holding a data table (.tbl) scrolls sideways when the table is wider than the card (as the
   design's own .ctable does), instead of the whole page scrolling; nothing changes when the table fits */
@container (max-width: 700px){.site .card:has(>.tbl){overflow-x:auto}}

/* D-25 — SitePartners draws its message box as a .control (96px) holding grey .small text. It is built as a real
   <textarea> that looks exactly like that drawn text: 14/22 Roboto, placeholder in --text-subtle, no own chrome */
.ap .control textarea{all:unset;flex:1;align-self:stretch;min-width:0;font:400 14px/22px var(--font-sans);color:var(--text);white-space:pre-wrap;overflow-wrap:break-word;overflow:auto}
.ap .control textarea::placeholder{color:var(--text-subtle);opacity:1}
