/* ===========================================================
   ABYARD — shared design system  (dark + cool-proptech light)
   =========================================================== */
:root{
  --accent:#FDB813; --accent-deep:#e0a200;
  --maxw:1320px; --pad:clamp(20px,5vw,80px);
  --hero-pad-y-top:150px; --hero-pad-y-bottom:clamp(76px,8vw,120px);
  --fd:var(--font-display),ui-sans-serif,system-ui,sans-serif;
  --fb:var(--font-body),system-ui,-apple-system,sans-serif;
  --fm:var(--font-mono),ui-monospace,"Cascadia Code",monospace;
  --ease:cubic-bezier(.16,1,.3,1);
  /* ── jednolita skala typografii (cała strona) ── */
  --fs-hero:clamp(44px,8.4vw,128px);
  --fs-display:clamp(38px,5.6vw,84px);
  --fs-h2:clamp(28px,3.8vw,50px);
  --fs-h3:clamp(20px,2.1vw,27px);
  --fs-stat:clamp(24px,3.4vw,44px);
  --fs-lead:clamp(17px,1.7vw,20px);
  --fs-body:15.5px;
  --fs-small:13.5px;
  --fs-label:14px;
  --fs-eyebrow:clamp(13px,1.55vw,21px);

  --ls-hero:-.05em;
  --ls-display:-.035em;
  --ls-heading:-.025em;
  --ls-body:0;
  --ls-label:.14em;

  --lh-hero:.94;
  --lh-display:1;
  --lh-heading:1.1;
  --lh-body:1.55;
  --lh-label:1;

  --type-gap-label-heading:clamp(15px,1.1vw,20px);
  --type-gap-heading-copy:clamp(20px,1.5vw,25px);
  --type-gap-copy-action:clamp(25px,2vw,30px);
  --type-gap-heading-block:clamp(40px,4vw,50px);
  --type-gap-compact-label-heading:clamp(10px,.9vw,15px);
}
/* palette values (single source) */
:root{
  /* złamana czerń — Apple style (lifted off-black + Apple grays) */
  --d-bg:#0e0e11; --d-bg2:#15151a; --d-panel:#1b1b20; --d-panel2:#222228; --d-line:#2a2a31; --d-line2:#3c3c45; --d-text:#f5f5f7; --d-muted:#8a8a91; --d-muted2:#b6b6bd; --d-accent-ink:#FDB813; --d-grid-op:.08; --d-screen-bg:#0a0a0c; --d-logo-filter:none; --d-shadow:0 34px 84px -42px rgba(0,0,0,.82); --d-shadow-sm:0 16px 44px -26px rgba(0,0,0,.7); --d-glass:rgba(14,14,17,.72);
  /* cool proptech off-white — NOT warm cream */
  --l-bg:#F7F8FA; --l-bg2:#F7F8FA; --l-panel:#FFFFFF; --l-panel2:#FFFFFF; --l-line:#E3E5EA; --l-line2:#CDD0D7; --l-text:#0C0D10; --l-muted:#6A6D75; --l-muted2:#42454D; --l-accent-ink:#000; --l-grid-op:.5; --l-screen-bg:#0c0c0e; --l-logo-filter:brightness(0); --l-shadow:0 30px 70px -34px rgba(18,22,30,.26); --l-shadow-sm:0 12px 34px -20px rgba(18,22,30,.18); --l-glass:rgba(247,248,250,.78);
}
/* DARK mapping — pure dark + mixed base + mixed dark-tone sections */
html[data-theme="dark"],
html[data-theme="mixed"],
html[data-theme="mixed"] .tone-dark{
  --bg:var(--d-bg);--bg2:var(--d-bg2);--panel:var(--d-panel);--panel2:var(--d-panel2);--line:var(--d-line);--line2:var(--d-line2);--text:var(--d-text);--muted:var(--d-muted);--muted2:var(--d-muted2);--accent-ink:var(--d-accent-ink);--grid-op:var(--d-grid-op);--screen-bg:var(--d-screen-bg);--logo-filter:var(--d-logo-filter);--shadow:var(--d-shadow);--shadow-sm:var(--d-shadow-sm);--glass:var(--d-glass);
}
/* LIGHT mapping — pure light + mixed light-tone sections */
html[data-theme="light"],
html[data-theme="mixed"] .tone-light{
  --bg:var(--l-bg);--bg2:var(--l-bg2);--panel:var(--l-panel);--panel2:var(--l-panel2);--line:var(--l-line);--line2:var(--l-line2);--text:var(--l-text);--muted:var(--l-muted);--muted2:var(--l-muted2);--accent-ink:var(--l-accent-ink);--grid-op:var(--l-grid-op);--screen-bg:var(--l-screen-bg);--logo-filter:var(--l-logo-filter);--shadow:var(--l-shadow);--shadow-sm:var(--l-shadow-sm);--glass:var(--l-glass);
}
/* in mixed mode, toned sections paint their own background */
html[data-theme="mixed"] .tone-dark,
html[data-theme="mixed"] .tone-light{background:var(--bg);color:var(--text)}

/* ===== custom scrollbar — spójny z ciemną, industrialną paletą ===== */
html{scrollbar-width:thin;scrollbar-color:var(--d-line2) transparent}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-track{background:var(--d-bg)}
::-webkit-scrollbar-thumb{background:var(--d-line2);border:3px solid var(--d-bg);border-radius:0}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}
::-webkit-scrollbar-corner{background:var(--d-bg)}

/* ===== Seam "/" (mixed mode) - hard geometric cut ===== */
/* kąt załamania = nachylenie „/” w Space Grotesk (≈71° od poziomu, dx=0.342·cut) */
/* dotyczy WSZYSTKICH motywów (mixed, dark, light) */
html{--cut:clamp(24px,3vw,46px); --kink:calc(var(--cut) * 0.171)}
html section.tone-dark:not(.hero):not(.phero):not(.intro),
html section.tone-light:not(.hero):not(.phero):not(.intro),
html footer.tone-dark{
  position:relative;z-index:1;
  margin-top:0;
  clip-path:none;
}
html section.tone-dark:not(.hero):not(.phero):not(.intro)::before,
html section.tone-light:not(.hero):not(.phero):not(.intro)::before,
html footer.tone-dark::before{
  content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--cut));height:calc(var(--cut) + 2px);z-index:0;pointer-events:none;background:var(--bg);
  clip-path:polygon(0 0, calc(50% - var(--kink)) 0, calc(50% + var(--kink)) var(--cut), 100% var(--cut), 100% 100%, 0 100%);
}
html .hero,html .phero,html .intro{position:relative;z-index:0}

/* flip „/”→„\” w tytułach — wyzwalany w JS na przejściu między sekcjami */
.slash{display:inline-block;transform:perspective(380px) rotateY(var(--flip,0deg));transform-origin:50% 50%;transition:transform .5s var(--ease)}

/* pierwszy szew po hero — zbędny (wchodził w headline). JS nadaje .seam-off pierwszej sekcji */
html .seam-off::before{display:none!important}
@media(prefers-reduced-motion:reduce){
  html section,html footer{animation:none!important;transform:none!important;margin-top:0!important;clip-path:none!important}
  .slash{transform:none!important}
}

/* ===== sharp cards — zero zaokrągleń (ostre cięcia), site-wide ===== */
.btn,.card,.tile,.gate,.fc,.fc-vis,.sx,.scard,.ec,.reco,.screen,.stage,.choice,.tlwrap,.tl,.bx,.scope,.person,.tperson,.pphoto,.tphoto,.dgrid,.mapbox,.mtags,.pw,.pjx,.pjx-vis,.pw-nums,.pw-film,.mlitem,.ucuber .vis,.tcard,.pcol,.v,.feat-slide,.feat-vis,.lvl,.fr,.merge,.track,.statusbadge,.flagtag,.tg,.chip,.tline span,.viewtg,.clearbtn,.tg-skip{border-radius:0!important}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--fb);background:var(--bg);color:var(--text);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  transition:background .5s var(--ease),color .5s var(--ease)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.slash{color:var(--accent)}
h1,h2,h3,h4{font-family:var(--fd);font-weight:600;letter-spacing:var(--ls-heading);line-height:1.04}
.eyebrow{font-family:var(--fm);font-size:var(--fs-eyebrow);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent-ink);display:inline-flex;align-items:center;gap:clamp(8px,.85vw,12px)}
.eyebrow::before{content:"/";font-family:var(--fd);font-weight:600;font-size:calc(var(--fs-eyebrow) * 1.14);line-height:1;color:var(--accent);transform:translateY(-1px)}
/* „/" jako prefiks wszystkich eyebrow — znak rozpoznawczy marki (część logo) */
.klabel::before,.snum::before,.subhead::before,.sys-k::before,.rdim::before{content:"/";color:var(--accent);font-family:var(--fd);font-weight:600;margin-right:.42em;display:inline-block}
/* eyebrow — jednolite na całej stronie: mono, CAPS, żółty (jak na proces), spójny rozmiar */
.eyebrow,.klabel,.snum,.subhead,.sys-k,.rdim{font-family:var(--fm)!important;font-size:var(--fs-eyebrow)!important;letter-spacing:var(--ls-label)!important;text-transform:uppercase!important;color:var(--accent-ink)!important}
.tnum{font-variant-numeric:tabular-nums}

.type-stack{
  --type-stack-label-heading:var(--type-gap-label-heading);
  --type-stack-heading-copy:var(--type-gap-heading-copy);
}
.type-stack--compact{--type-stack-label-heading:var(--type-gap-compact-label-heading);--type-stack-heading-copy:15px}
.type-stack--editorial{--type-stack-label-heading:15px;--type-stack-heading-copy:15px}
.type-stack :where(h1,h2,h3,h4,.claim,.lead-h,.big,.cat-h){text-wrap:balance}
.type-stack :where(p,.lead,.psub,.cat-lead,.sub p){text-wrap:pretty}
.type-stack > :where(.eyebrow,.klabel,.snum,.subhead,.sys-k,.rdim,.ci-eyebrow,.cat-ix){margin-bottom:0!important}
.type-stack > :where(.eyebrow,.klabel,.snum,.subhead,.sys-k,.rdim,.ci-eyebrow,.cat-ix) + :where(h1,h2,h3,h4,.claim,.lead-h,.big,.cat-h),
.type-stack > :where(.eyebrow,.klabel,.snum,.subhead,.sys-k,.rdim,.ci-eyebrow,.cat-ix) + :where(.lead2,.exp,.off){
  margin-top:var(--type-stack-label-heading)!important;
}
.type-stack > :where(h1,h2,h3,h4,.claim,.lead-h,.big,.cat-h) + :where(p,.lead,.psub,.cat-lead,.sub,.hcta,.ci-meta),
.type-stack > :where(.lead2,.exp,.off) :where(h2) + :where(p,.expnote){
  margin-top:var(--type-stack-heading-copy)!important;
}
.type-stack > :where(p,.lead,.psub,.cat-lead) + :where(.hcta,.cta-row,.cta-btns,.ci-meta,.ucapp){
  margin-top:var(--type-gap-copy-action)!important;
}
.type-stack > :where(h1,h2,h3,h4,.lead-h,.big,.cat-h) + :where(.steps6,.tech3,.succ,.rsliderwrap,.pickgrid,.intg,.scope-strip),
.type-stack > :where(p,.lead,.psub,.cat-lead) + :where(.steps6,.tech3,.succ,.rsliderwrap,.pickgrid,.intg,.scope-strip){
  margin-top:var(--type-gap-heading-block)!important;
}
.sec-head.type-stack{margin-bottom:var(--type-gap-heading-block)}
#komponenty .sec-head.type-stack{margin-bottom:var(--type-gap-heading-block)}

/* ---- progress ---- */
#prog{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-deep));z-index:120;transition:width .1s linear}

/* ---- header / nav ---- */
header{position:fixed;top:0;left:0;right:0;z-index:90;transition:background .4s,border-color .4s;border-bottom:1px solid transparent}
header.stuck{background:var(--glass);backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--line)}
.nav{display:flex;align-items:center;justify-content:flex-end;height:72px;gap:20px}
.nav .brand{margin-right:auto}
.nav-links{margin-right:8px}
.brand{font-family:var(--fd);font-weight:700;font-size:23px;color:var(--text);display:inline-flex;align-items:center;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}
.logo-img{height:24px;width:auto;display:block;filter:none;transition:opacity .25s;image-rendering:-webkit-optimize-contrast;transform:translateZ(0);backface-visibility:hidden}
/* logo: biała wersja na ciemnych nagłówkach/stopce (domyślnie); ciemna gdy motyw jasny włączony w nagłówku */
html[data-theme="light"] header .logo-img{content:url("img/abyard-logo.svg")}
html[data-theme="mixed"] header .logo-img{content:url("/assets/img/abyard-logo-white.svg");filter:none}
.brand:hover .logo-fallback,.brand:hover .logo-img{opacity:.78}
.logo-fallback{font-family:var(--fd);font-weight:700;font-size:23px;line-height:1;color:var(--text);letter-spacing:-.022em;-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision;transition:opacity .25s;display:inline-flex;align-items:baseline}
/* logo „/" = pogrubiony, pochylony pasek (jak w znaku marki), nie cienki glif fontu */
.logo-fallback .slash,.brand .slash{display:inline-block;width:.26em;height:1.04em;background:var(--accent);transform:skewX(-13deg);color:transparent;overflow:hidden;margin-right:.34em;border-radius:0;flex:0 0 auto}
.nav-links{display:flex;gap:28px}
.nav-links a{font-size:14.5px;color:var(--muted2);position:relative;padding:4px 0;transition:color .25s}
.nav-links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .3s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-right{display:flex;align-items:center;gap:14px}
.nav-right .langtg{order:1}.nav-right [data-toggle-theme]{order:2}.nav-right .burger{order:3}
/* theme toggle — celowo po atrybucie, bo .tg jest zajęte przez tagi projektów */
[data-toggle-theme]{display:none!important;width:54px;height:28px;border:1px solid var(--line2);border-radius:20px!important;background:var(--panel);position:relative;cursor:pointer;flex:0 0 auto;transition:background .4s}
[data-toggle-theme] i{position:absolute;top:2px;left:2px;width:22px;height:22px;border-radius:50%;background:var(--accent);transition:transform .4s var(--ease);display:grid;place-items:center;color:#1a1305}
[data-toggle-theme] i svg{width:13px;height:13px}
html[data-theme="light"] [data-toggle-theme] i{transform:translateX(26px)}
html[data-theme="mixed"] [data-toggle-theme] i{transform:translateX(13px)}
[data-toggle-theme] .moon,[data-toggle-theme] .sun,[data-toggle-theme] .contrast{display:none}
html[data-theme="dark"] [data-toggle-theme] .moon{display:block}
html[data-theme="light"] [data-toggle-theme] .sun{display:block}
html[data-theme="mixed"] [data-toggle-theme] .contrast{display:block}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:14px;padding:11px 20px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;will-change:auto}
.btn-accent{position:relative;color:var(--bg);border-color:color-mix(in srgb,var(--text) 88%,var(--bg));background:color-mix(in srgb,var(--text) 92%,var(--bg));box-shadow:none;overflow:hidden}
.btn-accent::before,.btn-accent::after{display:none!important}
.btn-accent:hover{background:var(--accent);border-color:var(--accent);color:#1a1305;box-shadow:none;transform:none}
.btn-ghost{border-color:var(--line2);color:var(--text)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-ink);transform:none}
.burger{display:none;flex-direction:column;gap:5px;width:30px;height:22px;justify-content:center;cursor:pointer;background:none;border:0}
.burger span{height:2px;background:var(--text);transition:.3s var(--ease)}
@media(max-width:980px){.nav-links{display:none}.burger{display:flex}}

/* ---- mobile menu ---- */
.mnav{position:fixed;inset:0;z-index:100;background:var(--bg);transform:translateY(-100%);transition:transform .6s var(--ease),visibility 0s linear .6s;display:flex;flex-direction:column;padding:90px var(--pad) 40px;pointer-events:none;visibility:hidden}
.mnav.open{transform:none;pointer-events:auto;visibility:visible;transition:transform .6s var(--ease),visibility 0s}
.mnav a{font-family:var(--fd);font-size:32px;font-weight:600;padding:15px 0;border-bottom:1px solid var(--line);letter-spacing:-.02em}
.mnav .mnav-head{position:absolute;top:0;left:0;right:0;width:100%;max-width:var(--maxw);height:72px;margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between}
.mnav .mbrand{padding:0;border-bottom:0;display:inline-flex;align-items:center}
.mnav .mbrand .logo-img{height:24px}
html[data-theme="light"] .mnav .mbrand .logo-img{content:url("img/abyard-logo.svg")}
html[data-theme="mixed"] .mnav .mbrand .logo-img{content:url("/assets/img/abyard-logo-white.svg");filter:none}
.mnav .mclose{font-size:30px;background:none;border:0;color:var(--text);cursor:pointer}
.mnav .mfoot{margin-top:auto;font-family:var(--fm);font-size:13px;color:var(--muted)}

/* ---- reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
.reveal.in{opacity:1;transform:none}
.lm{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}.lm>*{display:block;transform:translateY(108%);transition:transform 1s var(--ease)}
.in .lm>*{transform:none}

/* ---- footer ---- */
footer{background:var(--bg2);border-top:1px solid var(--line);padding:60px 0 30px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:34px;margin-bottom:46px}
.fgrid h4{font-family:var(--fm);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-weight:500}
.fgrid a,.fgrid p{display:block;color:var(--muted2);font-size:14px;margin-bottom:9px}
.fgrid a:hover{color:var(--accent-ink)}
.fclaim{font-family:var(--fd);font-weight:500;font-size:clamp(18px,2.3vw,26px);letter-spacing:-.02em;max-width:30ch;margin-bottom:30px}
.fbot{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;font-family:var(--fm);font-size:12.5px;color:var(--muted);flex-wrap:wrap;gap:10px}
.fbot .flegal{display:inline-flex;gap:20px;flex-wrap:wrap}
.fbot .flegal a{color:var(--muted);transition:color .25s}
.fbot .flegal a:hover{color:var(--accent-ink)}
@media(max-width:760px){.fgrid{grid-template-columns:1fr 1fr}}

/* ---- misc ---- */
.mocktag{position:fixed;left:14px;bottom:14px;z-index:70;font-family:var(--fm);font-size:10.5px;color:var(--muted);background:var(--glass);border:1px solid var(--line);padding:6px 11px;border-radius:2px;backdrop-filter:blur(6px)}
@media(max-width:560px){.mocktag{display:none}}
/* ===== world-class polish (shared) ===== */
::selection{background:var(--accent);color:#1a1305}
a,button{outline:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}
/* film grain for depth */
.grain{position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:130px}
html[data-theme="light"] .grain{opacity:.035;mix-blend-mode:multiply}
/* kursor: systemowy wszędzie (wg ustaleń) — magnetyczne CTA + grab na sliderze w JS */
/* page body soft-in */
body{opacity:0;animation:bodyin .7s var(--ease) forwards}
@keyframes bodyin{to{opacity:1}}

@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}body{opacity:1;animation:none}.cur,.curd{display:none}}

/* ===== PDF review fixes: single mixed mode, stable surfaces ===== */
html[data-theme="mixed"] .tone-light,
html[data-theme="mixed"] .tone-light.band{
  background:var(--l-bg)!important;
  color:var(--l-text)!important;
}
html[data-theme="mixed"] .tone-light :where(h1,h2,h3,h4,p,span,a,button,small,strong,em,label,li){
  text-shadow:none!important;
}
html[data-theme="mixed"] :where(.btn,.btn-accent,.btn-ghost,.fbtn,.fullbtn,.reabtn,.chaplink,.pjx-link,.morebtn,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta,.sp-book,.sp-call,.clearbtn){
  transform:none!important;
  animation:none!important;
  box-shadow:none!important;
  filter:none!important;
}
html[data-theme="mixed"] :where(.chaplink,.pjx-link,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta,.morebtn){
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:var(--btn-h)!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:650!important;
  letter-spacing:0!important;
  color:var(--text)!important;
  background:transparent!important;
  border:1px solid var(--line2)!important;
  padding:0 14px!important;
  line-height:1!important;
  text-decoration:none!important;
}
html[data-theme="mixed"] :where(.chaplink,.pjx-link,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta,.morebtn):hover{
  color:#1a1305!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
}
html[data-theme="mixed"] :where(.fbtn,.reabtn,.sp-book){
  font-family:var(--fb)!important;
  font-weight:650!important;
  letter-spacing:0!important;
  border-radius:2px!important;
  background:color-mix(in srgb,var(--text) 92%,var(--bg))!important;
  border:1px solid color-mix(in srgb,var(--text) 88%,var(--bg))!important;
  color:var(--bg)!important;
}
html[data-theme="mixed"] :where(.fbtn,.reabtn,.sp-book):hover{
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#1a1305!important;
}
html[data-theme="mixed"] footer,
html[data-theme="mixed"] footer.tone-dark{
  --bg:var(--d-bg2)!important;
  --bg2:var(--d-bg2)!important;
  --panel:var(--d-panel)!important;
  --panel2:var(--d-panel2)!important;
  --line:var(--d-line)!important;
  --line2:var(--d-line2)!important;
  --text:var(--d-text)!important;
  --muted:var(--d-muted)!important;
  --muted2:var(--d-muted2)!important;
  --accent-ink:var(--d-accent-ink)!important;
  background:var(--d-bg2)!important;
  color:var(--d-text)!important;
}
html[data-theme="mixed"] footer .logo-img{
  content:url("img/abyard-logo-white.svg")!important;
  filter:none!important;
}
html[data-theme="mixed"] footer :where(a,p,h4,.fbot){
  color:var(--muted2)!important;
}
html[data-theme="mixed"] footer .fclaim{
  color:var(--text)!important;
}
html[data-theme="mixed"] #komponenty{
  --bg:#FBFCFD!important;
  --bg2:#FBFCFD!important;
  --panel:#FFFFFF!important;
  --panel2:#FFFFFF!important;
  --line:#E3E5EA!important;
  --line2:#CDD0D7!important;
  --text:#0C0D10!important;
  --muted:#6A6D75!important;
  --muted2:#42454D!important;
  --accent-ink:#000!important;
  background:#FBFCFD!important;
  color:#0C0D10!important;
}
html[data-theme="mixed"] #komponenty .wallcard .wc-txt,
html[data-theme="mixed"] #komponenty .lead{
  color:var(--text)!important;
  text-shadow:none!important;
}
html[data-theme="mixed"] #komponenty .screen{
  background:#0c0c0e!important;
}
html[data-theme="mixed"] #problem .beat .ac{
  color:var(--accent)!important;
}

/* ===== button system unification pass ===== */
:root{
  --btn-h:44px;
  --btn-compact-h:44px;
  --btn-pad-primary:18px;
  --btn-pad-secondary:16px;
  --btn-pad-tertiary:14px;
  --btn-pad-control:16px;
  --btn-pad-x:var(--btn-pad-primary);
  --btn-gap:9px;
}
html[data-theme="mixed"] :where(.btn,.fbtn,.fullbtn,.reabtn,.sp-book,.sp-call,.clearbtn,.chaplink,.pjx-link,.morebtn,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta){
  min-height:var(--btn-h)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:var(--btn-gap)!important;
  line-height:1!important;
  font-family:var(--fb)!important;
  font-size:14px!important;
  font-weight:650!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
html[data-theme="mixed"] :where(.btn-accent,.fbtn,.reabtn,.sp-book,.pjx-casestudy){
  padding:0 var(--btn-pad-primary)!important;
  color:var(--bg)!important;
  background:color-mix(in srgb,var(--text) 92%,var(--bg))!important;
  border:1px solid color-mix(in srgb,var(--text) 88%,var(--bg))!important;
}
html[data-theme="mixed"] :where(.btn-accent,.fbtn,.reabtn,.sp-book,.pjx-casestudy):hover,
html[data-theme="mixed"] :where(.btn-accent,.fbtn,.reabtn,.sp-book,.pjx-casestudy):focus-visible{
  color:#1a1305!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  filter:none!important;
}
html[data-theme="mixed"] :where(.btn-ghost,.fullbtn,.sp-call,.clearbtn){
  min-height:var(--btn-compact-h)!important;
  padding:0 var(--btn-pad-secondary)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  color:var(--text)!important;
  background:transparent!important;
  border:1px solid var(--line2)!important;
  text-decoration:none!important;
}
html[data-theme="mixed"] :where(.btn-ghost,.fullbtn,.sp-call,.clearbtn):hover,
html[data-theme="mixed"] :where(.btn-ghost,.fullbtn,.sp-call,.clearbtn):focus-visible{
  color:var(--text)!important;
  background:color-mix(in srgb,var(--accent) 10%,transparent)!important;
  border-color:var(--accent)!important;
}
html[data-theme="mixed"] :where(.chaplink,.pjx-link,.morebtn,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta){
  min-height:var(--btn-h)!important;
  padding:0 var(--btn-pad-tertiary)!important;
  color:var(--text)!important;
  background:transparent!important;
  border:1px solid var(--line2)!important;
  border-bottom:1px solid var(--line2)!important;
  text-decoration:none!important;
  transition:background .2s,color .2s,border-color .2s!important;
}
html[data-theme="mixed"] :where(.chaplink,.pjx-link,.morebtn,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta):hover,
html[data-theme="mixed"] :where(.chaplink,.pjx-link,.morebtn,.doc-ix .ext,a.firm .fl,.wallcard .wt-cta,#ucuber .ucta):focus-visible{
  color:#1a1305!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  text-decoration:none!important;
}
html[data-theme="mixed"] :where(.tabs,.viewtg){
  border-radius:0!important;
  background:var(--panel)!important;
  border-color:var(--line2)!important;
}
html[data-theme="mixed"] :where(.tab,.viewtg button){
  min-height:var(--btn-compact-h)!important;
  padding:0 var(--btn-pad-control)!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  color:var(--muted2)!important;
}
html[data-theme="mixed"] :where(.tab:hover,.viewtg button:hover){
  color:var(--text)!important;
  background:color-mix(in srgb,var(--accent) 8%,transparent)!important;
}
html[data-theme="mixed"] :where(.tab.on,.viewtg button.on){
  background:var(--accent)!important;
  border-color:var(--accent)!important;
  color:#1a1305!important;
}
html[data-theme="mixed"] #cform .chip{
  min-height:var(--btn-h)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 var(--btn-pad-control)!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
  color:var(--muted2)!important;
  background:var(--panel)!important;
  border:1px solid var(--line2)!important;
  border-radius:0!important;
  text-decoration:none!important;
}
html[data-theme="mixed"] #cform .chip:hover{
  color:var(--text)!important;
  border-color:var(--accent)!important;
  background:color-mix(in srgb,var(--accent) 8%,transparent)!important;
}
html[data-theme="mixed"] #cform .chip.on{
  color:#1a1305!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
}
html[data-theme="mixed"] .mabudo-open-materials .wo-pill{
  min-height:var(--btn-compact-h)!important;
  padding:0 16px!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:650!important;
  letter-spacing:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
html[data-theme="mixed"] :where(.rnav button,.sp-li,.mnav .mclose){
  width:var(--btn-h)!important;
  height:var(--btn-h)!important;
  min-width:var(--btn-h)!important;
  display:inline-grid!important;
  place-items:center!important;
  border-radius:0!important;
  border:1px solid var(--line2)!important;
  background:transparent!important;
  color:var(--text)!important;
  box-shadow:none!important;
}
html[data-theme="mixed"] :where(.rnav button,.sp-li,.mnav .mclose):hover{
  color:#1a1305!important;
  background:var(--accent)!important;
  border-color:var(--accent)!important;
}
html[data-theme="mixed"] .burger{
  width:var(--btn-h)!important;
  height:var(--btn-h)!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  border:1px solid var(--line2)!important;
}
html[data-theme="mixed"] .burger span{
  width:18px!important;
}
html[data-theme="mixed"] .mnav .mclose{
  position:relative!important;
  padding:0!important;
  font-size:0!important;
  line-height:1!important;
}
html[data-theme="mixed"] .mnav .mclose::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  background:currentColor;
  transform:translate(-50%,-50%) rotate(45deg);
  transform-origin:center;
}
html[data-theme="mixed"] .mnav .mclose::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:18px;
  height:2px;
  background:currentColor;
  transform:translate(-50%,-50%) rotate(-45deg);
  transform-origin:center;
}
html[data-theme="mixed"] :where(.sp-book,.sp-call){
  white-space:nowrap!important;
}
html[data-theme="mixed"] .sp-li svg{
  width:16px!important;
  height:16px!important;
}
html[data-theme="mixed"] .choice{
  transition:border-color .25s var(--ease),background .25s var(--ease),box-shadow .25s var(--ease)!important;
}
html[data-theme="mixed"] .choice:hover{
  transform:none!important;
  border-color:var(--accent)!important;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)!important;
}
html[data-theme="mixed"] .choice .opt{
  border-radius:0!important;
  font-family:var(--fb)!important;
  font-weight:650!important;
  letter-spacing:0!important;
}
html[data-theme="mixed"] .choice .pick{
  min-height:var(--btn-compact-h)!important;
  align-items:center!important;
  padding:0 14px!important;
  border:1px solid var(--line2)!important;
  color:var(--text)!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
html[data-theme="mixed"] .choice.on .pick{
  border-color:var(--accent)!important;
  background:color-mix(in srgb,var(--accent) 10%,transparent)!important;
  color:var(--text)!important;
}
html[data-theme="mixed"] .choice.on .pick::before{
  content:none!important;
  display:none!important;
}
html[data-theme="mixed"] .ctl3d button{
  min-height:var(--btn-h)!important;
  padding:0 var(--btn-pad-control)!important;
  border-radius:0!important;
  font-family:var(--fb)!important;
  font-size:13px!important;
  font-weight:600!important;
  letter-spacing:0!important;
}
html[data-theme="mixed"] .step.hot{
  box-shadow:inset 4px 0 0 var(--accent)!important;
}
html[data-theme="mixed"] .grp.hot{
  color:#1a1305!important;
  background:var(--accent)!important;
}
