/* Explicit component sizes replace intrinsic Wix export sizing. */
/* Use the subtitle's exported responsive type scale for the Contact pill. */
#comp-lwx9bf602 { --subtitle-size:max(0.5px,calc(0.0163834 * (var(--scaling-factor) - var(--scrollbar-width)))); }
@media(min-width:751px) and (max-width:1000px) { #comp-lwx9bf602 { --subtitle-size:max(0.5px,calc(0.0187334 * (var(--scaling-factor) - var(--scrollbar-width)))); } }
.hero-contact { position:relative; z-index:3; display:inline-flex; align-items:center; justify-content:center; min-height:max(44px,2.7em); margin-top:2em; padding:0 1.6em; border-radius:999px; background:var(--portrait-accent,#a0ff00); color:#000; font:400 max(16px,calc(var(--subtitle-size) * .7))/1.2 madefor-display,Arial,sans-serif; text-decoration:none; }
.hero-contact:hover { background:#8ee600; }
.hero-contact:focus-visible { outline:2px solid #111; outline-offset:4px; }
@media(min-width:751px) and (max-width:1000px) { .hero-contact { margin-top:.75em; } }
#comp-lrz0n4bq>.inner-box { background:#d6d6d4!important; }
#comp-lrz0n4bw h2 { color:#000!important; }
.expertise-marquee { display:block; width:100%; padding:18px 0; border:0; background:#1b1b1b; color:white; overflow:hidden; font:400 clamp(18px,1.82vw,36px)/1.3 madefor-display,Arial,sans-serif; text-align:left; cursor:default; }
.expertise-track { display:flex; width:max-content; animation:expertise-left linear infinite; }
.expertise-group { display:flex; flex:none; white-space:pre; }
.expertise-group>span { flex:none; }
#comp-lrz0sngq { display:none!important; }
#comp-lw976a8a { align-self:stretch!important; }
.expertise-marquee { box-sizing:border-box; height:100%; display:flex; align-items:center; }
@keyframes expertise-left { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.project-caption { position:fixed; z-index:10001; pointer-events:none; box-sizing:border-box; max-width:min(360px,calc(100vw - 24px)); padding:14px 20px; border:1px solid #ffffffb3; border-radius:18px; background:linear-gradient(125deg,#ffffffad,#edf2e980); backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3); box-shadow:inset 0 1px 1px #fff,0 8px 28px #0002; color:#20231d; font:400 clamp(16px,1.4vw,24px)/1.25 madefor-display,Arial,sans-serif; }
.project-caption[hidden] { display:none; }
@media(prefers-reduced-motion:reduce) { .expertise-track { animation:none; } .expertise-marquee { overflow-x:auto; } }
#comp-mbo472qt { display:block!important; width:100%!important; min-width:0!important; height:auto!important; margin:0!important; padding:0!important; justify-self:stretch!important; }
#comp-mbo472qa { height:auto!important; min-height:0!important; grid-template-rows:auto!important; z-index:4; overflow:visible!important; }
#comp-mbo472qa>.inner-box { background:transparent!important; border:0!important; box-shadow:none!important; }
.role-title { position:relative; margin:0; padding:clamp(24px,2.7vw,48px) 1.6vw; box-sizing:border-box; overflow:hidden; background:linear-gradient(120deg,#ffffffad,#edf0eb99); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2); border-top:1px solid #ffffffbf; border-bottom:0; box-shadow:inset 0 1px 0 #fff9,inset 0 -1px 0 #ffffff80; }
.role-banner { display:block; width:100%; padding:0; margin:0; border:0; background:transparent; color:#1b1b1b; font:400 2.6vw/1.15 madefor-display,Arial,sans-serif; text-align:left; opacity:1; }
.role-track { display:flex; width:max-content; white-space:nowrap; }
.role-track>span { display:block; flex:none; }
.role-track>span+span { display:none; }
@media(max-width:750px) {
  #comp-lwx9bf602 { transform:translateY(-80px); }
  .hero-contact { display:none; }
  #comp-mbo472qa { margin-top:calc(max(0.5px,1.0020827 * (var(--scaling-factor) - var(--scrollbar-width))) + 64px)!important; }
  #comp-lwx9bf5s { height:auto!important; min-height:0!important; }
  #comp-lwx9bf5s .comp-lwx9bf5s-container { grid-template-rows:auto!important; }
  .role-title { padding:20px 0; }
  .role-banner { font-size:31.5px; overflow:hidden; cursor:default; }
  .role-track { animation:roles-right 35s linear infinite; }
  .role-track>span+span { display:block; }
  .role-track>span::after { content:' / '; white-space:pre; }
}
@keyframes roles-right { from { transform:translateX(-50%); } to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) {
  .role-track { animation:none; }
  .role-banner { overflow-x:auto; }
}
#comp-mbozhjm5 { display:none!important; } /* The shared footer now contains contact links on every screen. */
button[aria-label="Menu"] { width:48px!important; height:48px!important; min-width:48px; min-height:48px; padding:10px!important; box-sizing:border-box; display:grid!important; place-items:center; }
button[aria-label="Menu"] .StylableButton2545352419__container { display:contents!important; }
button[aria-label="Menu"] .wixui-hamburger-open-button__label { display:none!important; }
button[aria-label="Menu"] .wixui-hamburger-open-button__icon,
button[aria-label="Menu"] .wixui-hamburger-open-button__icon>span { display:block!important; width:28px!important; height:24px!important; margin:0!important; }
button[aria-label="Menu"] svg { display:block; width:28px!important; height:24px!important; }
.site-navigation { box-sizing:border-box; position:fixed; inset:16px 16px auto auto; margin:0; width:min(480px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:74px 32px 28px; border:1px solid #ffffffbf; border-radius:22px; background:linear-gradient(120deg,#ffffffad,#edf0eb99); backdrop-filter:blur(14px) saturate(1.2); -webkit-backdrop-filter:blur(14px) saturate(1.2); color:#111; overflow:auto; font-family:madefor-display,Arial,sans-serif; box-shadow:inset 0 1px 1px #fff,0 20px 80px #0003; }
.site-navigation::backdrop { background:#0002; }
.site-navigation:not([open]) { display:none; }
.site-navigation nav { display:flex; flex-direction:column; gap:8px; }
.site-navigation nav a { display:block; padding:8px 0; font-size:clamp(28px,4vw,42px); line-height:1.2; color:inherit; text-decoration:none; }
.site-navigation nav a:hover { color:#4f7100; }
.nav-close { position:absolute; top:12px; right:12px; width:48px; height:48px; padding:0; border:0; background:transparent; color:#111; font:36px/1 Arial,sans-serif; cursor:pointer; }
.nav-social { display:flex; flex-wrap:nowrap; align-items:center; gap:8px; margin-top:28px; padding-top:16px; border-top:1px solid #ddd; }
.nav-social a { display:flex; align-items:center; justify-content:center; flex:none; width:44px; min-height:44px; color:#333; font-size:15px; text-decoration:none; }
.nav-social img { width:22px; height:22px; object-fit:contain; filter:brightness(0); }
[data-theme="dark"] .nav-social img { filter:brightness(0) invert(1); }
.site-navigation :focus-visible { outline:2px solid #567900; outline-offset:3px; }
#comp-ma78z2pi_r_comp-lwdhcswr {
  display:grid!important; grid-template-columns:minmax(0,1fr) auto!important; grid-template-rows:auto!important;
  gap:0!important; width:100%!important; min-width:0!important; height:auto!important; min-height:120px!important;
  padding:0!important; margin:0!important; background:#1b1b1b!important; color:#fff; overflow:hidden;
  font-family:madefor-display,Arial,sans-serif; border:0!important; box-sizing:border-box;
}
.footer-ticker { display:flex; align-items:center; align-self:stretch; min-width:0; width:100%; padding:26px 0; margin:0; border:0; border-right:1px solid #ffffff66; border-radius:0; background:transparent; color:inherit; overflow:hidden; cursor:default; font:inherit; text-align:left; }
.footer-ticker-track { display:flex; flex:none; width:max-content; white-space:nowrap; animation:footer-scroll 45s linear infinite; }
.footer-ticker-track>span { flex:none; font-size:var(--role-font-size,31.5px); line-height:1.2; white-space:nowrap; }
@keyframes footer-scroll { to { transform:translateX(-50%); } }
.footer-contact { display:flex; align-items:center; justify-content:center; gap:20px; padding:24px 28px; min-width:0; box-sizing:border-box; background:#d6d6d4; color:#000; }
.footer-email { color:inherit; font-size:clamp(17px,1.7vw,28px); line-height:1.35; text-decoration:none; white-space:nowrap; }
.footer-email:hover { text-decoration:underline; text-underline-offset:4px; }
.footer-social { display:flex; align-items:center; flex:none; gap:4px; }
.footer-social a { width:44px; height:44px; display:grid; place-items:center; }
.footer-social img { display:block; width:24px; height:24px; max-width:24px; object-fit:contain; filter:brightness(0); }
#comp-ma79064f { height:auto!important; min-height:44px!important; }
#comp-ma79064f_r_comp-ma79063p { display:block!important; height:auto!important; min-height:44px!important; padding:12px 24px!important; margin:0!important; background:var(--portrait-accent,#a0ff00)!important; border-top:1px solid #ffffff66!important; color:#000; box-sizing:border-box; overflow:visible!important; }
.footer-copyright { margin:0; font:13px/20px madefor-display,Arial,sans-serif; }
@media(max-width:900px) {
  #comp-ma78z2pi_r_comp-lwdhcswr { grid-template-columns:minmax(0,1fr)!important; }
  .footer-ticker { border-right:0; border-bottom:1px solid #ffffff66; padding:24px 0; }
  .footer-contact { justify-content:space-between; gap:12px; padding:20px 24px; }
}
@media(max-width:750px) {
  #comp-kbgakxea_r_comp-kbgajy18 { height:24px!important; min-height:24px!important; }
  #comp-kbgakxea_r_comp-ma300nuy { position:absolute!important; inset:calc(14px + max(0.5px,0.04828 * (var(--scaling-factor) - var(--scrollbar-width)))) 16px auto auto!important; width:48px!important; height:48px!important; margin:0!important; }
  #comp-kbgakxea_r_comp-ma300nv51 { width:48px!important; height:48px!important; margin:0!important; }
  .footer-contact { flex-wrap:nowrap; gap:8px; padding:20px 16px; }
  .footer-email { font-size:min(23px,4vw); }
  .footer-social { gap:0; }
  .site-navigation { padding:70px 26px 20px; }
}
@media(prefers-reduced-motion:reduce) { .footer-ticker-track { animation:none; } }
.site-navigation,.project-caption,.role-title { border:0; box-shadow:inset 3px 4px 9px #ffffff80,inset -3px -4px 9px #89918024,0 8px 28px #0000000d; }
.client-marquee { display:none; }
#comp-mbfjoxfw img { filter:grayscale(1); transition:filter 300ms ease; }
#comp-mbfjoxfw a:hover img,#comp-mbfjoxfw a:focus-visible img,#comp-mbfjoxfw .client-group img:hover { filter:grayscale(0); }
@media(prefers-reduced-motion:reduce) { #comp-mbfjoxfw img { transition:none; } }
@media(max-width:750px) {
  #comp-mbfjoxfw { display:block!important; height:auto!important; min-height:0!important; overflow:hidden; }
  #comp-mbfjoxfw>.comp-mbfjoxfw-container { display:none!important; }
  .client-marquee { display:block; position:relative; width:100%; padding:24px 0; border:0; background:#fff; overflow:hidden; cursor:default; }
  .client-track { display:flex; width:max-content; animation:roles-right 55s linear infinite; }
  .client-group { display:flex; flex:none; align-items:center; gap:32px; padding-right:32px; }
  .client-group img { display:block; width:96px; height:64px; object-fit:contain; flex:none; }
}
@media(prefers-reduced-motion:reduce) {
  .client-track { animation:none; }
  .client-marquee { overflow-x:auto; }
  .client-group[aria-hidden="true"] { display:none; }
}
/* Theme only the page surfaces. Photos, video, the bust and post covers retain their colors. */
html[data-theme="dark"] { color-scheme:dark; background:#201e1f; }
[data-theme="dark"] body { background:#201e1f; color:#f3f3f3; }
[data-theme="dark"] [data-testid="colorUnderlay"] { background-color:#201e1f!important; }
[data-theme="dark"] #comp-lwx9bf602 p { color:#f3f3f3!important; }
[data-theme="dark"] #comp-mbfjcq3s h2 { color:#1b1b1b!important; }
[data-theme="dark"] #comp-mbfjcq3s [data-testid="colorUnderlay"],
[data-theme="dark"] #comp-mbfjoxfw [data-testid="colorUnderlay"] { background-color:#fff!important; }
[data-theme="dark"] button[aria-label="Menu"] svg { filter:invert(1); }
[data-theme="dark"] .role-title { background:linear-gradient(120deg,#201e1fbf,#2d2f2aa6); box-shadow:inset 3px 4px 9px #ffffff12,inset -3px -4px 9px #0003; }
[data-theme="dark"] .role-banner { color:#f3f3f3; }
[data-theme="dark"] .expertise-marquee { background:#eee; color:#111; }
[data-theme="dark"] #comp-lrz0n4bq>.inner-box { background:#303030!important; }
[data-theme="dark"] #comp-lrz0n4bw h2 { color:#fff!important; }
[data-theme="dark"] .client-marquee { background:#fff; }
[data-theme="dark"] #instagram { background:#201e1f; color:#f3f3f3; }
[data-theme="dark"] #comp-lwx9bf6g2::before { content:""; position:absolute; inset:5% -4% 0; z-index:-1; pointer-events:none; background:radial-gradient(ellipse at 50% 48%,#ffffff1a 0%,#ffffff0d 38%,#fff0 70%); filter:blur(18px); }
[data-theme="dark"] #comp-ma78z2pi_r_comp-lwdhcswr { background:#eee!important; color:#111; }
[data-theme="dark"] .footer-contact { background:#303030; color:#fff; }
[data-theme="dark"] .footer-social img { filter:brightness(0) invert(1); }
[data-theme="dark"] .site-navigation,
[data-theme="dark"] #portrait-bio { background:linear-gradient(125deg,#201e1fe0,#2d2f2ac9); color:#f3f3f3; box-shadow:inset 3px 4px 9px #ffffff12,inset -3px -4px 9px #0003,0 14px 50px #0003; }
[data-theme="dark"] .nav-close,
[data-theme="dark"] .nav-social a,
[data-theme="dark"] #portrait-bio .bio-close { color:#fff; }
[data-theme="dark"] .bio-grip span { background:#ffffff66; }
[data-theme="dark"] .site-navigation nav a:hover { color:var(--portrait-accent,#a0ff00); }
#comp-lwx9bf602 .hero-contact,
.meet-kuba,
#portrait-bio .bio-contact { color:#000!important; -webkit-text-fill-color:#000; }

/* Native technical cursor is desktop-only; touch keeps its normal behavior. */
@media (hover:hover) and (pointer:fine) and (min-width:701px) {
  html[data-technical-cursor],html[data-technical-cursor] * { cursor:var(--technical-cursor)!important; }
}
button[aria-label="Menu"] { border:0!important; outline:none!important; box-shadow:none!important; background:transparent!important; }
button[aria-label="Menu"]:focus-visible { outline:2px solid #777!important; outline-offset:2px; }
#portrait-bio.is-sheet .bio-contact { background:#000; color:#fff!important; -webkit-text-fill-color:#fff; }

@media(max-width:750px) { #comp-kbgakxea { z-index:5; } }


/* Compact desktop header; menu alignment follows the logo's measured position. */
@media(min-width:751px) {
  #comp-kbgakxea { z-index:5; }
  #comp-kbgakxea_r_comp-kbgajy18 { height:24px!important; min-height:24px!important; }
}

.theme-switch { margin-left:auto; align-self:center; flex:none; width:52px; height:44px; padding:7px 0; border:0; background:transparent; cursor:pointer; }
.theme-switch span { display:block; position:relative; width:52px; height:30px; border-radius:999px; background:#b7b9bc; transition:background .2s; }
.theme-switch span::after { content:""; position:absolute; top:3px; left:3px; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 1px 4px #0003; transition:transform .2s; }
.theme-switch[aria-checked="true"] span { background:var(--portrait-accent,#a0ff00); }
.theme-switch[aria-checked="true"] span::after { transform:translateX(22px); }
@media(prefers-reduced-motion:reduce) { .theme-switch span,.theme-switch span::after { transition:none; } }

.theme-switch { display:flex; align-items:center; gap:10px; width:auto; color:inherit; }
.theme-switch small { font:15px madefor-display,Arial,sans-serif; white-space:nowrap; }
.theme-switch span { flex:none; }

html[data-input="touch"] :is(button,a,[role="button"]):focus { outline:none!important; }
html[data-input="touch"] :is(button,a,[role="button"]) { -webkit-tap-highlight-color:transparent; }
