*{box-sizing:border-box}
[hidden]{display:none!important}
img,video{max-width:100%}
:focus-visible{outline:2px solid #E8442E;outline-offset:3px}

/* Glow ramki */
.lg-glow{transition:box-shadow .5s ease}
.lg-glow::after{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;pointer-events:none;z-index:1;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,115%),#FF8A6E 0%,rgba(232,68,46,.85) 25%,rgba(232,68,46,.18) 60%,rgba(242,240,234,.10) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);opacity:.85;transition:opacity .4s ease}
.lg-glow:hover,.lg-case:hover .lg-glow{box-shadow:0 0 0 1px rgba(232,68,46,.35),0 0 40px -6px rgba(232,68,46,.55),0 30px 80px -20px rgba(232,68,46,.6)}
.lg-glow:hover::after,.lg-case:hover .lg-glow::after{opacity:1}

/* Przejście między stronami */
html.lg-arriving body::after{content:"";position:fixed;inset:0;z-index:299;background:#E8442E}
.lg-trans{position:fixed;inset:0;z-index:300;pointer-events:none;background:#E8442E;clip-path:circle(0 at var(--tx,50%) var(--ty,50%))}
.lg-trans.is-in{transition:clip-path .52s cubic-bezier(.7,0,.25,1);clip-path:circle(150% at var(--tx,50%) var(--ty,50%))}
.lg-trans.is-full{clip-path:circle(150% at var(--tx,50%) var(--ty,50%))}
.lg-trans.is-out{transition:clip-path .7s cubic-bezier(.65,0,.2,1) .05s;clip-path:circle(0 at var(--tx,50%) var(--ty,50%))}

/* Karty realizacji jako przyciski */
.lg-case{appearance:none;border:0;padding:0;margin:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;width:100%}

/* Pigułki (filtr portfolio, formularz) */
.lg-pill{min-height:44px;padding:0 18px;border-radius:999px;border:1px solid #3A3936;background:transparent;color:#F2F0EA;font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.lg-pill:hover{border-color:#8C8980}
.lg-pill[aria-pressed="true"]{background:#F2F0EA;color:#0E0E0D;border-color:#F2F0EA}

/* Okno z odtwarzaczem */
.lg-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;font-family:'Archivo',system-ui,sans-serif;color:#F2F0EA}
.lg-modal-backdrop{position:absolute;inset:0;border:0;padding:0;background:rgba(8,8,8,.88);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:zoom-out}
.lg-modal-panel{position:relative;width:100%;max-width:1120px;animation:lgmodal .45s cubic-bezier(.2,.8,.2,1) both}
.lg-modal-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.lg-modal-meta{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.08em;color:#B9B6AE}
.lg-modal-title{margin:6px 0 0;font-size:clamp(30px,4vw,56px);font-weight:900;font-stretch:108%;letter-spacing:-.02em;line-height:.95}
.lg-modal-close{width:52px;height:52px;flex:none;border-radius:50%;border:1px solid #4A4844;background:#161615;color:#F2F0EA;display:flex;align-items:center;justify-content:center;cursor:pointer}
.lg-modal-close:hover{background:#2A2927}
.lg-modal-frame{position:relative;margin:0 auto;overflow:hidden;border-radius:20px;background:#000;box-shadow:0 40px 120px rgba(232,68,46,.28)}
.lg-modal-frame.wide{aspect-ratio:16/9;width:100%}
.lg-modal-frame.tall{width:min(100%,460px);height:min(78vh,820px)}
.lg-modal-frame iframe,.lg-modal-frame img{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover;background:#000}
.lg-modal-desc{margin-top:18px;font-size:18px;line-height:1.45;color:#D9D6CE}
@keyframes lgmodal{from{opacity:0;transform:translateY(24px) scale(.97)}}
@media (prefers-reduced-motion:reduce){.lg-modal-panel{animation:none}}

/* Formularz */
.lg-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lg-submit{display:inline-flex;align-items:center;justify-content:center;min-height:56px;border:0;border-radius:999px;background:#E8442E;color:#0E0E0D;font-family:inherit;font-weight:800;font-size:16px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.lg-submit:disabled{opacity:.6;cursor:wait}
.lg-status{min-height:1.5em;margin:0;font-size:15px;color:#D9D6CE}

/* Menu na telefonie */
.lg-burger{display:none}
#lg-nav a.lg-nav-cta{display:none}
@media (max-width:760px){
  header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0E0E0D!important}
  header > div{flex-wrap:nowrap!important;padding:12px 16px!important}
  header > div > a:first-child{font-size:15px!important}
  .lg-cta-btn{display:none!important}
  .lg-burger{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border:1px solid #3A3936;border-radius:999px;background:transparent;color:#F2F0EA;font:600 14px/1 'Archivo',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
  .lg-burger-ico{width:14px;height:10px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;position:relative}
  .lg-burger-ico::after{content:"";position:absolute;left:0;right:0;top:2px;border-top:2px solid currentColor}
  .lg-burger[aria-expanded="true"] .lg-burger-ico{border-color:transparent}
  .lg-burger[aria-expanded="true"] .lg-burger-ico::after{top:2px;transform:rotate(45deg)}
  .lg-burger[aria-expanded="true"] .lg-burger-ico::before{content:"";position:absolute;left:0;right:0;top:4px;border-top:2px solid currentColor;transform:rotate(-45deg)}
  #lg-nav{display:none!important;position:fixed;left:0;right:0;top:68px;bottom:0;z-index:50;background:#0E0E0D;flex-direction:column;flex-wrap:nowrap!important;gap:0!important;padding:8px 16px 32px;font-size:28px!important;font-weight:800!important;letter-spacing:-.01em!important;text-transform:none!important;overflow-y:auto}
  #lg-nav.open{display:flex!important}
  #lg-nav a{padding:18px 0;border-bottom:1px solid #2A2927}
  #lg-nav a.lg-nav-cta{display:block;text-decoration:none;margin-top:24px;border:0;border-radius:999px;background:#E8442E;color:#0E0E0D!important;text-align:center;font-size:18px;text-transform:uppercase;letter-spacing:.06em}
}

/* Pasek cookies */
.lg-cookie{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;padding:18px 20px;border:1px solid #3A3936;border-radius:18px;background:rgba(22,22,21,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 20px 60px rgba(0,0,0,.5);font:400 14px/1.5 'Archivo',system-ui,sans-serif;color:#D9D6CE;animation:lgcookie .5s cubic-bezier(.2,.8,.2,1) both}
.lg-cookie p{margin:0;flex:1 1 320px}
.lg-cookie a{color:#F2F0EA}
.lg-cookie-btns{display:flex;gap:10px;flex-wrap:wrap}
.lg-cookie button{min-height:44px;padding:0 16px;white-space:nowrap;border-radius:999px;font:700 13px/1 'Archivo',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.lg-cookie-min{border:1px solid #4A4844;background:transparent;color:#F2F0EA}
.lg-cookie-min:hover{border-color:#8C8980}
.lg-cookie-ok{border:0;background:#E8442E;color:#0E0E0D}
@keyframes lgcookie{from{opacity:0;transform:translateY(20px)}}
@media (max-width:520px){.lg-cookie{left:8px;right:8px;bottom:8px}.lg-cookie-btns{width:100%}.lg-cookie button{flex:1}}

/* Glow: przy najechaniu poświata podąża za kursorem */
.lg-glow:hover::after,.lg-case:hover .lg-glow::after{background:radial-gradient(320px circle at var(--mx,50%) var(--my,115%),#FFB29E 0%,#FF8A6E 15%,rgba(232,68,46,.9) 35%,rgba(232,68,46,.15) 70%,rgba(242,240,234,.08) 100%)!important;animation:none!important}
/* Światło za kursorem */
.lg-spot{position:fixed;left:0;top:0;width:620px;height:620px;margin:-310px 0 0 -310px;border-radius:50%;pointer-events:none;z-index:5;background:radial-gradient(circle,rgba(232,68,46,.16) 0%,rgba(232,68,46,.06) 35%,rgba(232,68,46,0) 70%);mix-blend-mode:screen;opacity:0;transition:opacity .4s;will-change:transform}
.lg-spot.on{opacity:1}
@media (hover:none),(prefers-reduced-motion:reduce){.lg-spot{display:none}}
