/* Shared base for concept sites: fonts, reset, concept badge. */
@font-face{font-family:"Inter Tight";font-weight:100 900;font-display:swap;src:url(/assets/fonts/intertight-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Inter Tight";font-weight:100 900;font-display:swap;src:url(/assets/fonts/intertight-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-latin-i.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-latinext-i.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(/assets/fonts/jbmono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"JetBrains Mono";font-weight:500;font-display:swap;src:url(/assets/fonts/jbmono-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bebas Neue";font-weight:400;font-display:swap;src:url(/assets/fonts/bebas-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bebas Neue";font-weight:400;font-display:swap;src:url(/assets/fonts/bebas-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latin-i.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/fonts/fraunces-latinext-i.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Space Grotesk";font-weight:300 700;font-display:swap;src:url(/assets/fonts/spacegrotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Space Grotesk";font-weight:300 700;font-display:swap;src:url(/assets/fonts/spacegrotesk-latinext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

*,*::before,*::after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{list-style:none;padding:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
[hidden]{display:none!important}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.c-wrap{width:100%;max-width:1200px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}

/* Concept badge — links back to the portfolio */
.concept{position:fixed;left:16px;bottom:16px;z-index:999;display:flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border-radius:999px;background:#09090b;color:#f3f1ec;font:500 13px/1.2 "Inter Tight",system-ui,sans-serif;box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.12);transition:transform .3s cubic-bezier(.22,1,.36,1)}
.concept:hover{transform:translateY(-2px)}
.concept b{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#f3f1ec;color:#09090b;font-size:11px;font-weight:700}
.concept small{display:block;color:#a6a39b;font-size:11px}
@media (max-width:520px){.concept{left:10px;bottom:10px;padding:6px 12px 6px 6px;font-size:12px}.concept small{display:none}}

/* CSEL (19.10): wlasna lista rozwijana w formularzach podgladow (csel.js); kolory z danej strony przez --cs-* */
.csel{position:relative;display:block;width:100%;min-width:0}
.csel-native{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;opacity:0!important;pointer-events:none!important}
.csel-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:var(--cs-h,48px);padding:10px 10px 10px var(--cs-pl,14px);border-radius:var(--cs-rad,12px);border:var(--cs-bw,1px) solid var(--cs-bd,rgba(0,0,0,.2));background:var(--cs-bg,#fff);color:var(--cs-fg,#111);font:var(--cs-font,500 16px/1.3 system-ui,sans-serif);text-align:left;cursor:pointer;transition:border-color .25s,box-shadow .35s cubic-bezier(.22,1,.36,1),transform .5s cubic-bezier(.34,1.56,.64,1)}
.csel-btn:hover{border-color:color-mix(in srgb,var(--cs-acc) 55%,var(--cs-bd))}
.csel-btn:focus-visible,.csel.open .csel-btn{outline:none;border-color:var(--cs-acc);box-shadow:0 0 0 4px color-mix(in srgb,var(--cs-acc) 22%,transparent)}
.csel-btn.bad{border-color:#e5484d;box-shadow:0 0 0 3px rgba(229,72,77,.16)}
.csel-btn .csel-v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csel-btn.ph .csel-v{color:var(--cs-mut)}
.csel-chev{flex:none;display:grid;place-items:center;width:30px;height:30px;border-radius:calc(var(--cs-rad,12px) * .7);background:color-mix(in srgb,var(--cs-acc) 16%,transparent);color:var(--cs-acc);transition:transform .5s cubic-bezier(.34,1.56,.64,1),background .3s}
.csel.open .csel-chev{transform:rotate(180deg)}
.csel-list{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:80;margin:0;padding:6px;list-style:none;max-height:min(320px,60vh);overflow:auto;border-radius:calc(var(--cs-rad,12px) + 4px);border:1px solid color-mix(in srgb,var(--cs-acc) 35%,var(--cs-bd));background:var(--cs-menu,#fff);color:var(--cs-fg,#111);box-shadow:0 24px 60px -18px rgba(0,0,0,.45),0 0 0 1px rgba(0,0,0,.04);transform-origin:top center;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.97);transition:opacity .2s ease,transform .45s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .45s;overscroll-behavior:contain}
.csel.up .csel-list{top:auto;bottom:calc(100% + 8px);transform-origin:bottom center;transform:translateY(6px) scale(.97)}
.csel.open .csel-list{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .5s cubic-bezier(.34,1.56,.64,1),visibility 0s}
.csel-opt{position:relative;display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px 10px 14px;border-radius:calc(var(--cs-rad,12px) * .8);font:var(--cs-font,500 15px/1.3 system-ui,sans-serif);cursor:pointer;transition:background .2s,padding .35s cubic-bezier(.34,1.56,.64,1)}
.csel.open .csel-opt{animation:cselIn .45s cubic-bezier(.34,1.56,.64,1) both;animation-delay:calc(var(--i) * 28ms)}
@keyframes cselIn{from{opacity:0;transform:translateY(-6px)}}
.csel-opt::before{content:"";position:absolute;left:5px;top:50%;width:3px;height:0;border-radius:3px;background:var(--cs-acc);transform:translateY(-50%);transition:height .3s cubic-bezier(.34,1.56,.64,1)}
.csel-opt.act{background:color-mix(in srgb,var(--cs-acc) 14%,transparent);padding-left:18px}
.csel-opt.act::before{height:56%}
.csel-opt.ph{color:var(--cs-mut)}
.csel-opt.dis{opacity:.45;cursor:default}
.csel-opt .csel-ck{margin-left:auto;flex:none;width:18px;height:18px;color:var(--cs-acc);opacity:0;transform:scale(.4);transition:opacity .25s,transform .4s cubic-bezier(.34,1.56,.64,1)}
.csel-opt[aria-selected="true"]{font-weight:700}
.csel-opt[aria-selected="true"] .csel-ck{opacity:1;transform:none}
.csel-opt.ph[aria-selected="true"]{font-weight:inherit}
.csel-list:focus,.csel-list:focus-visible{outline:none!important}
.csel-list::-webkit-scrollbar{width:8px}.csel-list::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--cs-fg) 25%,transparent);border-radius:8px}
.csel.open{z-index:90}

/* WSPOLNE (24.10, wspolne.js): intro raz na sesje + animacje stoja poza ekranem i na dotyku po chwili bez ruchu */
.intro-seen .intro,.intro-seen #ignite{display:none!important}
.anim-off,.anim-off *,.anim-off *::before,.anim-off *::after,.anim-off::before,.anim-off::after,
.anim-idle *,.anim-idle *::before,.anim-idle *::after{animation-play-state:paused!important}
