/* Studio System v0.3.0 — podstrony filmów, twórców, nagród i Lub-Film */

.page-footer { border-top: 1px solid var(--line); background: #060606; }
.page-footer .footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 60px; padding: 76px 0 58px; }
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; }
.footer-brand > span { font-size: 9px; letter-spacing: .58em; margin: 0 0 8px 4px; }
.footer-brand > strong { font-size: 27px; letter-spacing: .34em; line-height: 1; }
.footer-brand p { max-width: 310px; color: var(--muted); margin: 25px 0 0; }
.footer-contact, .footer-social { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-contact > span, .footer-social > span { color: var(--faint); font-size: 9px; font-weight: 800; letter-spacing: .22em; margin-bottom: 9px; }
.footer-contact a, .footer-social a { color: #cacac4; font-size: 13px; }
.footer-contact a:hover, .footer-social a:hover { color: #fff; }
.page-footer .footer-bottom { border-top: 1px solid var(--line); min-height: 74px; display: flex; align-items: center; justify-content: space-between; color: var(--faint); font-size: 10px; letter-spacing: .08em; }
.page-footer .footer-bottom a { color: #bdbdb7; }

.site-header a[aria-current="page"]::after { right: 0; }

.page-hero { min-height: 720px; padding: calc(var(--header-h) + 110px) 0 95px; position: relative; display: flex; align-items: flex-end; overflow: hidden; border-bottom: 1px solid var(--line); }
.page-hero-media { position: absolute; inset: 0; }
.page-hero-media img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.12) brightness(.56); }
.page-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,#050505 0%,rgba(5,5,5,.93) 36%,rgba(5,5,5,.26) 76%,rgba(5,5,5,.58)),linear-gradient(0deg,#050505 0%,transparent 55%); }
.page-hero-inner { position: relative; z-index: 2; }
.page-hero h1 { max-width: 1050px; margin-bottom: 30px; }
.page-lead { max-width: 820px; color: #d2d2cc; font-size: clamp(18px,1.6vw,25px); line-height: 1.55; margin-bottom: 0; }
.page-hero-meta { margin-top: 44px; display: flex; gap: 32px; color: #b7b7b1; font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.page-hero-plain { min-height: 610px; background: radial-gradient(circle at 75% 15%,rgba(255,255,255,.11),transparent 25%),linear-gradient(115deg,#050505 0%,#151515 50%,#070707 100%); }
.page-hero-plain::after { content:""; position:absolute; width:620px; height:620px; border-radius:50%; border:2px solid rgba(255,255,255,.5); border-color:rgba(255,255,255,.6) transparent rgba(255,255,255,.6) transparent; right:-190px; top:-160px; transform:rotate(-20deg); }
.page-hero-plain .page-hero-inner { padding-top: 60px; }

.catalog-section { padding: 72px 0 130px; background: #090909; }
.catalog-toolbar { display: grid; grid-template-columns: minmax(270px,1.65fr) repeat(3,minmax(145px,.75fr)) auto; gap: 10px; padding: 14px; background: #101010; border: 1px solid var(--line); position: sticky; top: 88px; z-index: 50; box-shadow: 0 20px 50px rgba(0,0,0,.22); }
.catalog-toolbar label { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.catalog-toolbar label > span { color: #878781; font-size: 8px; line-height: 1; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.catalog-toolbar input, .catalog-toolbar select { min-height: 48px; width: 100%; color: #fff; border: 0; border-bottom: 1px solid var(--line); background: #151515; padding: 0 14px; outline: 0; }
.catalog-toolbar input:focus, .catalog-toolbar select:focus { border-color: #fff; }
.filter-reset { align-self: end; min-height: 48px; border: 1px solid var(--line); color: #d4d4cf; background: transparent; padding: 0 16px; font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; cursor: pointer; }
.filter-reset:hover { border-color: #fff; color: #fff; }
.results-line { min-height: 74px; display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.results-line p { margin: 0; }
.view-switch { display: flex; border: 1px solid var(--line); }
.view-switch button { border: 0; border-right: 1px solid var(--line); background: transparent; color: var(--muted); padding: 8px 13px; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.view-switch button:last-child { border-right: 0; }
.view-switch button.active { background: #f5f5ef; color: #070707; }

.catalog-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 24px; }
.catalog-film-card { grid-column: span 4; border: 1px solid var(--line); background: #101010; transition: transform .35s,border-color .35s; overflow: hidden; }
.catalog-film-card:nth-child(1), .catalog-film-card:nth-child(5) { grid-column: span 8; }
.catalog-film-card:nth-child(2), .catalog-film-card:nth-child(6) { grid-column: span 4; }
.catalog-film-card:hover { transform: translateY(-7px); border-color: var(--line-strong); }
.catalog-film-image { position: relative; aspect-ratio: 16/10; overflow: hidden; background: #171717; }
.catalog-film-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.08); transition: transform .7s,filter .4s; }
.catalog-film-card:hover img { transform: scale(1.045); filter: grayscale(.18) contrast(1.03); }
.catalog-film-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 55%); }
.catalog-film-arrow { position:absolute; z-index:2; right:18px; bottom:18px; width:48px; height:48px; border:1px solid #fff; border-radius:50%; display:grid; place-items:center; font-size:18px; }
.catalog-film-copy { padding: 26px 27px 29px; }
.catalog-film-meta { display:flex; justify-content:space-between; gap:20px; color:#94948e; font-size:9px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.catalog-film-copy h3 { margin: 13px 0 12px; }
.catalog-film-copy p { color:#aaa9a4; margin-bottom:20px; min-height:52px; }
.catalog-film-tags { display:flex; flex-wrap:wrap; gap:7px; }
.catalog-film-tags span { border:1px solid var(--line); padding:5px 8px; color:#bdbdb7; font-size:8px; letter-spacing:.12em; text-transform:uppercase; }
.catalog-grid.list-view { grid-template-columns:1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.catalog-grid.list-view .catalog-film-card, .catalog-grid.list-view .catalog-film-card:nth-child(n) { grid-column:1; display:grid; grid-template-columns:minmax(260px,36%) 1fr; border:0; background:#0c0c0c; }
.catalog-grid.list-view .catalog-film-image { aspect-ratio:16/8; }
.catalog-grid.list-view .catalog-film-copy { display:flex; flex-direction:column; justify-content:center; padding:35px 42px; }
.catalog-grid.list-view .catalog-film-copy p { max-width:800px; min-height:0; }
.empty-state-page { padding:100px 20px; text-align:center; border:1px solid var(--line); }
.empty-state-page strong { display:block; font-size:32px; margin-bottom:8px; }
.empty-state-page p { color:var(--muted); }

.page-cta { padding:100px 0; background:#f4f4ef; color:#080808; }
.page-cta-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:60px; align-items:end; }
.page-cta h2 { max-width:900px; }
.page-cta p:not(.eyebrow) { color:#3e3e3b; max-width:800px; font-size:18px; }

.film-detail-hero { min-height:900px; position:relative; padding:calc(var(--header-h) + 100px) 0 110px; display:flex; align-items:flex-end; overflow:hidden; }
.film-detail-backdrop { position:absolute; inset:0; }
.film-detail-backdrop img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08) brightness(.47); transform:scale(1.03); }
.film-detail-backdrop > div { position:absolute; inset:0; background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.82) 44%,rgba(5,5,5,.28)),linear-gradient(0deg,#050505 0%,transparent 64%); }
.film-detail-hero-inner { position:relative; z-index:2; display:grid; grid-template-columns:minmax(260px,390px) minmax(0,1fr); gap:70px; align-items:end; }
.film-poster { aspect-ratio:2/3; border:1px solid rgba(255,255,255,.25); box-shadow:0 35px 100px rgba(0,0,0,.55); background:#111; overflow:hidden; }
.film-poster img { width:100%; height:100%; object-fit:cover; filter:grayscale(.3) contrast(1.04); }
.detail-back { display:inline-block; margin-bottom:32px; color:#cacac4; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.film-hero-copy h1 { font-size:clamp(65px,10vw,155px); max-width:1050px; }
.film-logline { max-width:850px; color:#d0d0ca; font-size:clamp(20px,2vw,30px); line-height:1.45; }
.film-badges { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.film-badges span { padding:7px 10px; border:1px solid rgba(255,255,255,.3); font-size:9px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.detail-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; }
.detail-section { padding:120px 0; border-bottom:1px solid var(--line); }
.detail-section-heading { max-width:950px; margin-bottom:55px; }
.detail-section-heading > p:not(.eyebrow) { color:var(--muted); font-size:18px; max-width:820px; }
.film-intro-grid { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr); gap:100px; align-items:start; }
.film-intro h2 { max-width:900px; }
.detail-copy { color:#bdbdb7; font-size:19px; line-height:1.75; white-space:pre-line; }
.film-facts { border-top:1px solid var(--line); }
.film-facts > div { display:grid; grid-template-columns:120px 1fr; gap:25px; padding:20px 0; border-bottom:1px solid var(--line); }
.film-facts span { color:#85857f; font-size:9px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.film-facts strong { font-size:15px; font-weight:600; }
.film-player-section { padding:0 0 120px; background:#080808; }
.film-player { aspect-ratio:16/9; background:#000; border:1px solid var(--line); box-shadow:0 30px 100px rgba(0,0,0,.45); }
.film-player iframe,.film-player video { width:100%; height:100%; border:0; display:block; }
.credits-grid { display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); background:var(--line); gap:1px; }
.credit-card { min-height:145px; background:#0d0d0d; padding:27px 29px; display:flex; flex-direction:column; justify-content:center; position:relative; }
.credit-card span { color:#85857f; font-size:9px; letter-spacing:.17em; text-transform:uppercase; margin-bottom:9px; }
.credit-card strong { font-size:19px; }
.credit-card i { position:absolute; right:22px; top:22px; font-style:normal; color:#84847e; }
a.credit-card:hover { background:#151515; }
.detail-gallery { display:grid; grid-template-columns:repeat(12,1fr); grid-auto-rows:250px; gap:14px; }
.gallery-item { grid-column:span 4; border:0; padding:0; background:#151515; cursor:zoom-in; overflow:hidden; }
.gallery-item:nth-child(1),.gallery-item:nth-child(5) { grid-column:span 8; }
.gallery-item img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:transform .55s,filter .4s; }
.gallery-item:hover img { transform:scale(1.04); filter:grayscale(.2); }
.lightbox { width:min(94vw,1500px); max-height:92vh; padding:0; border:1px solid rgba(255,255,255,.22); background:#050505; box-shadow:0 50px 150px #000; }
.lightbox::backdrop { background:rgba(0,0,0,.88); backdrop-filter:blur(8px); }
.lightbox img { width:100%; max-height:90vh; object-fit:contain; }
.lightbox button { position:absolute; right:15px; top:15px; z-index:2; width:44px; height:44px; border:1px solid #fff; border-radius:50%; background:#050505; color:#fff; font-size:25px; cursor:pointer; }
.process-section { background:#f1f1eb; color:#080808; }
.process-list { border-top:1px solid rgba(0,0,0,.2); }
.process-list article { display:grid; grid-template-columns:100px minmax(0,1fr); gap:45px; padding:34px 0; border-bottom:1px solid rgba(0,0,0,.2); }
.process-list article > span { font-size:12px; letter-spacing:.18em; }
.process-list h3 { margin-bottom:10px; }
.process-list p { color:#50504b; max-width:850px; margin:0; }
.backstage-detail-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.backstage-detail-grid article { border:1px solid var(--line); }
.backstage-detail-grid img { width:100%; aspect-ratio:16/9; object-fit:cover; filter:grayscale(1); }
.backstage-detail-grid article > div { padding:25px; }
.backstage-detail-grid p { color:var(--muted); margin:0; }
.recognition-section { background:#0b0b0b; }
.recognition-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; }
.recognition-list { border-top:1px solid var(--line); }
.recognition-list article { display:grid; grid-template-columns:90px 1fr; gap:25px; padding:24px 0; border-bottom:1px solid var(--line); }
.recognition-list article > span { color:#a6a6a0; font-size:12px; letter-spacing:.1em; }
.recognition-list strong { display:block; font-size:18px; }
.recognition-list p { color:var(--muted); margin:7px 0 0; }
.recognition-list a { display:inline-block; color:#ddd; margin-top:10px; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.screening-list article { padding:22px 0; border-bottom:1px solid var(--line); }
.screening-list span { color:#868680; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.screening-list strong { display:block; font-size:19px; margin:5px 0; }
.screening-list p,.muted-copy { color:var(--muted); }
.production-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.partner-detail-list > div { display:grid; grid-template-columns:1fr 1.5fr; gap:25px; padding:20px 0; border-bottom:1px solid var(--line); }
.partner-detail-list span { color:var(--muted); }
.materials-list { border-top:1px solid var(--line); }
.materials-list a { display:grid; grid-template-columns:100px 1fr auto; gap:20px; align-items:center; padding:22px 0; border-bottom:1px solid var(--line); }
.materials-list a span { color:#85857f; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.materials-list a i { font-style:normal; }
.materials-list a:hover strong { text-decoration:underline; }
.creator-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.creator-card { border:1px solid var(--line); background:#0e0e0e; transition:transform .35s,border-color .35s; }
.creator-card:hover { transform:translateY(-6px); border-color:var(--line-strong); }
.creator-card-image { aspect-ratio:4/5; overflow:hidden; background:#151515; }
.creator-card-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); transition:transform .6s,filter .4s; }
.creator-card:hover img { transform:scale(1.04); filter:grayscale(.25); }
.creator-card-copy { padding:24px; }
.creator-type { color:#868680; font-size:8px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.creator-card h3 { margin:11px 0 8px; font-size:27px; }
.creator-card p { color:var(--muted); min-height:48px; }
.creator-roles { display:flex; flex-wrap:wrap; gap:6px; }
.creator-roles span { border:1px solid var(--line); padding:5px 7px; color:#b9b9b3; font-size:8px; letter-spacing:.1em; text-transform:uppercase; }
.creator-grid.compact { grid-template-columns:repeat(3,1fr); }
.related-grid .catalog-film-card,.related-grid .catalog-film-card:nth-child(n) { grid-column:span 4; }

.creators-toolbar { grid-template-columns:minmax(300px,1.7fr) 1fr 1fr auto; }
.creator-detail-hero { min-height:850px; padding:calc(var(--header-h) + 110px) 0 110px; background:radial-gradient(circle at 75% 22%,rgba(255,255,255,.1),transparent 26%),#080808; display:flex; align-items:flex-end; }
.creator-detail-grid { display:grid; grid-template-columns:minmax(300px,500px) minmax(0,1fr); gap:80px; align-items:end; }
.creator-portrait { aspect-ratio:4/5; overflow:hidden; border:1px solid var(--line-strong); }
.creator-portrait img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.creator-detail-copy h1 { font-size:clamp(60px,8.8vw,135px); }
.creator-headline { color:#d1d1cb; font-size:clamp(21px,2vw,31px); }
.creator-roles.large { margin:28px 0; }
.creator-roles.large span { font-size:9px; padding:7px 10px; }
.collaboration-status { display:inline-block; color:#c6c6c0; font-size:10px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.collaboration-status::first-letter { color:#fff; }
.creator-bio-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.creator-bio-grid h2 { font-size:clamp(35px,4vw,60px); }
.profile-links { display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; }
.profile-links a { border:1px solid var(--line); padding:10px 13px; font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.profile-links a:hover { border-color:#fff; }
.recognition-list.wide { max-width:1000px; }
.recognition-list.wide article { grid-template-columns:110px 1fr; }

.awards-toolbar { grid-template-columns:minmax(260px,1.5fr) 1fr .7fr 1fr auto; }
.awards-timeline { border-top:1px solid var(--line); }
.award-timeline-card { display:grid; grid-template-columns:70px 120px minmax(0,1fr) minmax(210px,330px); gap:30px; align-items:center; min-height:260px; padding:28px 0; border-bottom:1px solid var(--line); }
.award-timeline-index { color:#565651; font-size:11px; letter-spacing:.18em; }
.award-timeline-date { font-size:25px; font-weight:750; letter-spacing:-.03em; }
.award-timeline-main > span { color:#85857f; font-size:9px; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.award-timeline-main h2 { font-size:clamp(28px,3.3vw,51px); margin:9px 0 12px; }
.award-timeline-main p { color:var(--muted); max-width:750px; }
.award-timeline-main a { font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.award-timeline-image { aspect-ratio:16/10; overflow:hidden; }
.award-timeline-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }

.lub-page { background:#f3f3ed; }
.lub-detail-hero { min-height:900px; position:relative; display:flex; align-items:flex-end; padding:calc(var(--header-h) + 100px) 0 110px; overflow:hidden; background:#050505; }
.lub-detail-media { position:absolute; inset:0; }
.lub-detail-media img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.08) brightness(.55); }
.lub-detail-media > div { position:absolute; inset:0; background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.88) 45%,rgba(5,5,5,.18)),linear-gradient(0deg,#050505,transparent 60%); }
.lub-detail-hero-inner { position:relative; z-index:2; }
.lub-detail-hero h1 { max-width:1050px; }
.lub-detail-hero .page-lead { max-width:800px; }
.lub-facts { background:#050505; color:#fff; border-block:1px solid var(--line); }
.lub-facts-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.lub-facts-grid > div { min-height:180px; padding:35px 28px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
.lub-facts-grid > div:last-child { border-right:0; }
.lub-facts-grid strong { font-size:clamp(27px,3vw,45px); letter-spacing:-.04em; }
.lub-facts-grid span { color:#a7a7a1; font-size:12px; margin-top:8px; }
.lub-current { background:#efefe9; color:#080808; padding:110px 0; }
.lub-current-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:100px; align-items:start; }
.lub-current .detail-copy { color:#41413d; max-width:850px; }
.lub-current aside { border-top:1px solid rgba(0,0,0,.22); }
.lub-current aside > div { display:grid; grid-template-columns:110px 1fr; gap:20px; padding:22px 0; border-bottom:1px solid rgba(0,0,0,.22); }
.lub-current aside span { color:#696965; font-size:9px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.lub-history,.lub-films,.lub-mentors,.lub-resources,.faq-section { background:#080808; color:#fff; }
.edition-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.edition-grid article { background:#101010; border:1px solid var(--line); }
.edition-grid img { width:100%; aspect-ratio:16/9; object-fit:cover; filter:grayscale(1); }
.edition-grid article > div { padding:30px; }
.edition-grid article > div > span { color:#85857f; font-size:10px; letter-spacing:.17em; }
.edition-grid p { color:var(--muted); }
.edition-links { display:flex; flex-wrap:wrap; gap:16px; }
.edition-links a { font-size:10px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.lub-path { background:#f0f0ea; color:#080808; }
.lub-path-list { border-top:1px solid rgba(0,0,0,.2); }
.lub-path-list article { display:grid; grid-template-columns:100px minmax(0,1fr); gap:45px; padding:32px 0; border-bottom:1px solid rgba(0,0,0,.2); }
.lub-path-list article > span { font-size:12px; letter-spacing:.18em; }
.lub-path-list p { color:#50504c; margin:0; }
.mentor-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.mentor-grid > * { border:1px solid var(--line); background:#101010; display:grid; grid-template-columns:180px 1fr; min-height:190px; }
.mentor-image { overflow:hidden; }
.mentor-image img { width:100%; height:100%; object-fit:cover; filter:grayscale(1); }
.mentor-grid > * > div:last-child { padding:30px; display:flex; flex-direction:column; justify-content:center; }
.mentor-grid p { color:var(--muted); }
.lub-gallery { background:#111; }
.resource-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.resource-grid > * { min-height:250px; padding:30px; background:#0c0c0c; display:flex; flex-direction:column; }
.resource-grid span { color:#85857f; font-size:9px; letter-spacing:.15em; text-transform:uppercase; }
.resource-grid h3 { margin:30px 0 13px; }
.resource-grid p { color:var(--muted); }
.resource-grid i { margin-top:auto; color:#a8a8a2; font-size:9px; letter-spacing:.14em; text-transform:uppercase; font-style:normal; }
.resource-grid a:hover { background:#161616; }
.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:100px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { list-style:none; cursor:pointer; padding:24px 0; font-size:20px; font-weight:700; display:flex; justify-content:space-between; gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#888; font-weight:400; transition:transform .2s; }
.faq-list details[open] summary span { transform:rotate(45deg); }
.faq-list details p { color:var(--muted); padding:0 50px 25px 0; }
.lub-join { background:#f0f0ea; }

.detail-loading { min-height:75vh; padding:calc(var(--header-h) + 130px) 0 120px; display:flex; align-items:center; }
.not-found { min-height:100svh; padding:calc(var(--header-h) + 100px) 0 100px; display:flex; align-items:center; background:radial-gradient(circle at 75% 20%,rgba(255,255,255,.12),transparent 28%),#070707; }
.not-found h1 { max-width:1050px; }
.not-found > .container > p:not(.eyebrow) { color:var(--muted); font-size:20px; }

@media (max-width:1180px) {
  .page-footer .footer-grid { grid-template-columns:1.3fr repeat(2,1fr); }
  .footer-social { display:none; }
  .catalog-toolbar,.awards-toolbar { grid-template-columns:repeat(3,1fr); position:relative; top:0; }
  .catalog-toolbar .search-field { grid-column:span 2; }
  .catalog-toolbar .filter-reset { grid-column:auto; }
  .catalog-film-card,.catalog-film-card:nth-child(n) { grid-column:span 6; }
  .film-detail-hero-inner { grid-template-columns:300px 1fr; gap:45px; }
  .film-intro-grid,.recognition-grid,.production-grid,.creator-bio-grid,.lub-current-grid,.faq-grid { gap:55px; }
  .creator-grid { grid-template-columns:repeat(2,1fr); }
  .award-timeline-card { grid-template-columns:55px 100px 1fr; }
  .award-timeline-image { display:none; }
}

@media (max-width:900px) {
  .page-hero { min-height:650px; padding-bottom:75px; }
  .catalog-toolbar,.awards-toolbar,.creators-toolbar { grid-template-columns:1fr 1fr; }
  .catalog-toolbar .search-field { grid-column:1/-1; }
  .filter-reset { grid-column:1/-1; }
  .catalog-grid { gap:18px; }
  .catalog-grid.list-view .catalog-film-card { grid-template-columns:1fr; }
  .film-detail-hero { min-height:auto; padding-top:calc(var(--header-h) + 80px); }
  .film-detail-hero-inner { grid-template-columns:220px 1fr; }
  .film-hero-copy h1 { font-size:9vw; }
  .film-intro-grid,.recognition-grid,.production-grid,.creator-bio-grid,.lub-current-grid,.faq-grid { grid-template-columns:1fr; }
  .credits-grid { grid-template-columns:1fr 1fr; }
  .detail-gallery { grid-auto-rows:210px; }
  .gallery-item,.gallery-item:nth-child(n) { grid-column:span 6; }
  .creator-detail-grid { grid-template-columns:260px 1fr; gap:45px; }
  .creator-detail-copy h1 { font-size:8vw; }
  .award-timeline-card { grid-template-columns:55px 90px 1fr; gap:18px; }
  .lub-facts-grid { grid-template-columns:1fr 1fr; }
  .lub-facts-grid > div:nth-child(2) { border-right:0; }
  .lub-facts-grid > div:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .resource-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width:700px) {
  .page-footer .footer-grid { grid-template-columns:1fr 1fr; gap:42px 28px; padding:55px 0; }
  .footer-brand { grid-column:1/-1; }
  .page-hero { min-height:600px; padding-top:calc(var(--header-h) + 80px); }
  .page-hero-meta { flex-direction:column; gap:8px; }
  .catalog-section { padding-top:32px; }
  .catalog-toolbar,.awards-toolbar,.creators-toolbar { grid-template-columns:1fr; padding:12px; }
  .catalog-toolbar .search-field,.filter-reset { grid-column:1; }
  .results-line { align-items:flex-start; flex-direction:column; padding:20px 0; }
  .catalog-film-card,.catalog-film-card:nth-child(n) { grid-column:1/-1; }
  .page-cta-inner { grid-template-columns:1fr; gap:25px; }
  .film-detail-hero { padding-bottom:70px; }
  .film-detail-hero-inner { grid-template-columns:1fr; }
  .film-poster { width:min(72vw,320px); }
  .film-hero-copy h1 { font-size:15vw; }
  .detail-section { padding:82px 0; }
  .credits-grid { grid-template-columns:1fr; }
  .detail-gallery { grid-template-columns:1fr; grid-auto-rows:250px; }
  .gallery-item,.gallery-item:nth-child(n) { grid-column:1; }
  .process-list article,.lub-path-list article { grid-template-columns:55px 1fr; gap:18px; }
  .backstage-detail-grid { grid-template-columns:1fr; }
  .partner-detail-list > div,.materials-list a { grid-template-columns:1fr; gap:7px; }
  .creator-grid,.creator-grid.compact { grid-template-columns:1fr; }
  .creator-detail-hero { padding-top:calc(var(--header-h) + 70px); }
  .creator-detail-grid { grid-template-columns:1fr; }
  .creator-portrait { width:min(80vw,430px); }
  .creator-detail-copy h1 { font-size:15vw; }
  .award-timeline-card { grid-template-columns:45px 1fr; gap:15px; align-items:start; padding:30px 0; }
  .award-timeline-date { grid-column:2; grid-row:1; font-size:18px; }
  .award-timeline-main { grid-column:2; }
  .lub-detail-hero { min-height:780px; }
  .lub-facts-grid { grid-template-columns:1fr; }
  .lub-facts-grid > div { border-right:0; border-bottom:1px solid var(--line); }
  .edition-grid,.mentor-grid,.resource-grid { grid-template-columns:1fr; }
  .mentor-grid > * { grid-template-columns:130px 1fr; }
}

@media (max-width:480px) {
  .page-footer .footer-grid { grid-template-columns:1fr; }
  .footer-brand { grid-column:1; }
  .page-hero { min-height:580px; }
  .catalog-film-copy { padding:22px 20px 25px; }
  .film-poster { width:100%; }
  .film-facts > div { grid-template-columns:90px 1fr; }
  .detail-gallery { grid-auto-rows:210px; }
  .creator-card h3 { font-size:25px; }
  .mentor-grid > * { grid-template-columns:1fr; }
  .mentor-image { aspect-ratio:16/9; }
}

/* Czytelne karty także wtedy, gdy zewnętrzna miniatura jest chwilowo niedostępna. */
.catalog-film-watermark { position:absolute; z-index:1; left:22px; right:78px; bottom:18px; color:rgba(255,255,255,.26); font-size:clamp(26px,4vw,66px); font-weight:900; letter-spacing:-.055em; line-height:.88; text-transform:uppercase; overflow-wrap:anywhere; }
.creator-card-image { position:relative; }
.creator-card-watermark { position:absolute; z-index:1; left:18px; right:18px; bottom:16px; color:rgba(255,255,255,.26); font-size:clamp(20px,2.4vw,38px); font-weight:900; letter-spacing:-.045em; line-height:.92; text-transform:uppercase; overflow-wrap:anywhere; }
.catalog-film-image img,.creator-card-image img { position:relative; z-index:0; }
.catalog-film-card:hover .catalog-film-watermark,.creator-card:hover .creator-card-watermark { color:rgba(255,255,255,.46); }
.catalog-grid.list-view .catalog-film-watermark { font-size:clamp(24px,3vw,52px); }

/* v0.4.0 — workshops, news, contact */
.catalog-note { color: var(--muted); max-width: 620px; text-align: right; }
.workshop-toolbar { grid-template-columns: 1.4fr .8fr .8fr .8fr auto; }
.workshop-directory { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.workshop-directory-card { color: inherit; text-decoration: none; border: 1px solid var(--line); background: #0b0b0b; display: grid; grid-template-columns: minmax(220px,.78fr) 1.22fr; min-height: 330px; overflow: hidden; }
.workshop-directory-card:hover { border-color: var(--line-strong); transform: translateY(-2px); }
.workshop-directory-image { position: relative; min-height: 100%; overflow: hidden; background: #111; }
.workshop-directory-image img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.15); transition: transform .45s ease; }
.workshop-directory-card:hover img { transform: scale(1.035); }
.workshop-state { position: absolute; left: 16px; top: 16px; background: rgba(4,4,4,.82); border: 1px solid rgba(255,255,255,.24); padding: 7px 10px; font-size: 8px; letter-spacing: .13em; text-transform: uppercase; backdrop-filter: blur(10px); }
.workshop-state.open { color: #bde9c8; }
.workshop-state.waitlist { color: #f8da9a; }
.workshop-state.closed,.workshop-state.archived { color: #aaa; }
.workshop-directory-copy { padding: 28px; display: flex; flex-direction: column; }
.workshop-directory-meta { display: flex; justify-content: space-between; gap: 15px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: 8px; }
.workshop-directory-copy h2 { margin: 22px 0 12px; font-size: clamp(26px,2.5vw,39px); }
.workshop-directory-copy > p { color: #bebeb8; margin: 0 0 20px; line-height: 1.65; }
.workshop-directory-facts { display: flex; flex-wrap: wrap; gap: 7px; }
.workshop-directory-facts span { border: 1px solid var(--line); padding: 7px 9px; color: #9e9e99; font-size: 9px; }
.workshop-directory-bottom { margin-top: auto; padding-top: 24px; display: flex; justify-content: space-between; gap: 16px; border-top: 1px solid var(--line); font-size: 10px; }
.workshop-directory-bottom strong { font-weight: 500; }
.workshop-directory-bottom span { color: var(--muted); }

.workshop-detail-hero { min-height: 82vh; position: relative; display: flex; align-items: end; overflow: hidden; }
.workshop-detail-media { position: absolute; inset: 0; }
.workshop-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.workshop-detail-media > div { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(0,0,0,.92) 0%,rgba(0,0,0,.62) 50%,rgba(0,0,0,.25) 100%),linear-gradient(0deg,#070707 0%,transparent 45%); }
.workshop-detail-hero-inner { position: relative; z-index: 2; padding-top: 180px; padding-bottom: 70px; max-width: 1120px; }
.workshop-detail-hero h1 { max-width: 900px; font-size: clamp(58px,8vw,124px); line-height: .89; margin: 20px 0 28px; letter-spacing: -.055em; }
.workshop-detail-hero .page-lead { max-width: 780px; }
.workshop-hero-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); max-width: 960px; margin: 38px 0; border-top: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.workshop-hero-facts > div { padding: 18px 20px 18px 0; }
.workshop-hero-facts span,.workshop-info-card span { display: block; color: #8e8e89; text-transform: uppercase; font-size: 8px; letter-spacing: .14em; margin-bottom: 7px; }
.workshop-hero-facts strong,.workshop-info-card strong { font-size: 13px; font-weight: 500; }
.workshop-about-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 90px; align-items: start; }
.workshop-about-grid h2 { font-size: clamp(38px,4vw,66px); margin: 12px 0 26px; }
.article-body { color: #c8c8c2; font-size: 17px; line-height: 1.8; }
.article-body p { margin: 0 0 24px; }
.workshop-info-card { border: 1px solid var(--line); background: #0b0b0b; }
.workshop-info-card > div { padding: 21px; border-bottom: 1px solid var(--line); }
.workshop-info-card > div:last-child { border-bottom: 0; }
.workshop-requirements { background: #efefe9; color: #111; }
.workshop-requirements-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: start; }
.workshop-requirements-grid h2 { font-size: clamp(38px,4vw,66px); }
.workshop-requirements-grid ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid #c9c9c2; }
.workshop-requirements-grid li { padding: 20px 0 20px 32px; border-bottom: 1px solid #c9c9c2; position: relative; font-size: 15px; }
.workshop-requirements-grid li::before { content: '→'; position: absolute; left: 0; }
.workshop-registration-section { padding: 105px 0; background: #f1f1eb; color: #111; }
.registration-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: start; }
.registration-copy { position: sticky; top: 135px; }
.registration-copy h2 { font-size: clamp(45px,5vw,78px); margin: 12px 0 22px; }
.registration-copy > p { color: #55554f; font-size: 16px; line-height: 1.7; }
.registration-state { margin-top: 35px; border-top: 1px solid #c9c9c2; border-bottom: 1px solid #c9c9c2; padding: 17px 0; display: grid; gap: 5px; }
.registration-state span { color: #686862; font-size: 9px; text-transform: uppercase; letter-spacing: .14em; }
.registration-form-card,.contact-form-card { background: #fff; color: #111; padding: 34px; border: 1px solid #d2d2cc; }
.form-grid-public { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; margin-bottom: 24px; }
.form-grid-public label { display: grid; gap: 8px; font-size: 10px; text-transform: uppercase; letter-spacing: .08em; }
.form-grid-public label > span { color: #777; text-transform: none; letter-spacing: normal; font-size: 9px; }
.form-grid-public input,.form-grid-public textarea { width: 100%; border: 1px solid #ccc; background: #fafaf7; color: #111; padding: 13px 14px; font: inherit; font-size: 13px; outline: none; }
.form-grid-public input:focus,.form-grid-public textarea:focus { border-color: #555; }
.form-grid-public .wide { grid-column: 1/-1; }
.consent-field { display: flex !important; grid-template-columns: 20px 1fr; align-items: start; gap: 10px !important; text-transform: none !important; letter-spacing: normal !important; line-height: 1.5; color: #555; }
.consent-field input { width: 18px !important; height: 18px; padding: 0 !important; margin-top: 1px; }
.guardian-fields { background: #f2f2ed; padding: 18px; }
.guardian-fields > p { margin: 0 0 14px; color: #555; font-size: 12px; }
.guardian-fields > div { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.form-feedback { min-height: 22px; margin: 15px 0 0; font-size: 12px; }
.form-feedback.success { color: #39754a; }
.form-feedback.error { color: #a23f3f; }

.news-toolbar { grid-template-columns: 1.5fr .8fr .65fr auto; }
.news-directory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.news-directory.compact { grid-template-columns: repeat(3,minmax(0,1fr)); }
.news-directory-card { color: inherit; text-decoration: none; border: 1px solid var(--line); background: #0b0b0b; overflow: hidden; display: flex; flex-direction: column; }
.news-directory-card.featured { grid-column: span 2; display: grid; grid-template-columns: 1.2fr .8fr; }
.news-directory-image { aspect-ratio: 16/10; position: relative; overflow: hidden; background: #111; }
.news-directory-card.featured .news-directory-image { aspect-ratio: auto; min-height: 420px; }
.news-directory-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.news-directory-card:hover .news-directory-image img { transform: scale(1.03); }
.news-directory-image > span { position: absolute; left: 14px; top: 14px; background: rgba(0,0,0,.8); padding: 7px 9px; font-size: 8px; letter-spacing: .12em; }
.news-directory-copy { padding: 23px; display: flex; flex-direction: column; flex: 1; }
.news-directory-meta { display: flex; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .1em; }
.news-directory-copy h2 { font-size: 28px; margin: 18px 0 12px; }
.news-directory-card.featured h2 { font-size: clamp(34px,4vw,62px); }
.news-directory-copy > p { color: #b9b9b3; line-height: 1.65; margin: 0 0 16px; }
.news-directory-copy > strong { margin-top: auto; padding-top: 20px; font-size: 10px; font-weight: 500; }
.news-tag { display: inline-block; border: 1px solid var(--line); color: #90908b; padding: 5px 7px; margin: 0 5px 5px 0; font-size: 8px; }
.article-hero { padding: 175px 0 70px; }
.article-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: end; }
.article-hero h1 { font-size: clamp(54px,7vw,110px); line-height: .92; letter-spacing: -.05em; margin: 20px 0 25px; }
.article-hero-image { min-height: 580px; overflow: hidden; }
.article-hero-image img { width: 100%; height: 100%; object-fit: cover; }
.article-byline { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
.article-byline span { border: 1px solid var(--line); padding: 7px 9px; color: #aaa; font-size: 9px; }
.article-content { padding: 90px 0 110px; background: #efefe9; color: #111; }
.article-content-grid { display: grid; grid-template-columns: minmax(0,760px) 260px; justify-content: center; gap: 90px; }
.article-content .article-body { color: #343430; font-size: 18px; }
.article-content aside { border-top: 1px solid #bdbdb6; padding-top: 20px; font-size: 13px; color: #585852; }
.article-content aside > span { display: block; color: #111; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }
.article-content aside a { color: #111; display: inline-block; margin-top: 10px; }

.contact-page-hero { padding: 175px 0 95px; }
.contact-page-grid { display: grid; grid-template-columns: 1fr .8fr; gap: 80px; align-items: center; }
.contact-page-hero h1 { font-size: clamp(60px,8vw,126px); line-height: .88; letter-spacing: -.055em; margin: 20px 0 28px; }
.contact-page-visual { aspect-ratio: 4/5; overflow: hidden; border: 1px solid var(--line); }
.contact-page-visual img { width: 100%; height: 100%; object-fit: cover; }
.contact-direct { margin-top: 36px; display: grid; gap: 9px; font-size: 14px; }
.contact-direct a,.contact-direct span { color: #bcbcb6; text-decoration: none; }
.contact-direct a:hover { color: #fff; }
.contact-form-section { padding: 95px 0 115px; background: #efefe9; color: #111; }
.contact-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 60px; align-items: start; }
.contact-topic-list { display: grid; border-top: 1px solid #c6c6bf; }
.contact-topic-list button { border: 0; border-bottom: 1px solid #c6c6bf; background: transparent; color: #555; padding: 17px 0; text-align: left; cursor: pointer; display: grid; gap: 5px; }
.contact-topic-list button strong { color: #111; font-size: 15px; font-weight: 500; }
.contact-topic-list button span { font-size: 11px; line-height: 1.5; }
.contact-topic-list button.active { padding-left: 18px; border-left: 3px solid #111; }
.contact-form-card h2 { font-size: clamp(36px,4vw,62px); margin: 9px 0 10px; }
.contact-form-card > p { color: #676761; margin: 0 0 28px; }

@media (max-width: 1180px) {
  .workshop-toolbar,.news-toolbar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workshop-directory { grid-template-columns: 1fr; }
  .news-directory { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .news-directory-card.featured { grid-column: 1/-1; }
  .workshop-about-grid,.registration-grid,.contact-page-grid,.contact-layout { gap: 50px; }
}
@media (max-width: 800px) {
  .catalog-note { text-align: left; }
  .workshop-directory-card { grid-template-columns: 1fr; }
  .workshop-directory-image { aspect-ratio: 16/10; }
  .workshop-detail-hero-inner { padding-top: 140px; padding-bottom: 50px; }
  .workshop-hero-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .workshop-about-grid,.workshop-requirements-grid,.registration-grid,.article-hero-grid,.article-content-grid,.contact-page-grid,.contact-layout { grid-template-columns: 1fr; }
  .registration-copy { position: static; }
  .article-hero-image { min-height: 420px; }
  .article-content-grid { gap: 45px; }
  .news-directory,.news-directory.compact { grid-template-columns: 1fr; }
  .news-directory-card.featured { display: flex; }
  .news-directory-card.featured .news-directory-image { min-height: 0; aspect-ratio: 16/10; }
  .contact-page-visual { aspect-ratio: 16/10; }
}
@media (max-width: 560px) {
  .workshop-toolbar,.news-toolbar,.form-grid-public { grid-template-columns: 1fr; }
  .form-grid-public .wide { grid-column: auto; }
  .guardian-fields > div { grid-template-columns: 1fr; }
  .workshop-directory-copy,.registration-form-card,.contact-form-card { padding: 22px; }
  .workshop-hero-facts { grid-template-columns: 1fr; }
  .workshop-detail-hero h1,.contact-page-hero h1 { font-size: 50px; }
  .article-hero h1 { font-size: 48px; }
}


/* v0.6.0 — equipment lending */
.equipment-page-hero .page-hero-media img { object-position: center; filter: contrast(1.05) brightness(.72); }
.split-heading { display:flex; align-items:end; justify-content:space-between; gap:40px; }
.equipment-date-check { display:flex; align-items:end; gap:10px; flex-wrap:wrap; }
.equipment-date-check label { display:grid; gap:7px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#9d9d98; }
.equipment-date-check input { min-width:160px; background:#0b0b0b; border:1px solid var(--line-strong); color:#fff; padding:13px 14px; color-scheme:dark; }
.equipment-controls { margin-top:34px; }
.equipment-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); }
.equipment-catalog-card { background:#090909; min-width:0; }
.equipment-catalog-card.unavailable { opacity:.68; }
.equipment-catalog-image { position:relative; aspect-ratio:16/10; overflow:hidden; background:#111; }
.equipment-catalog-image img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.equipment-catalog-card:hover .equipment-catalog-image img { transform:scale(1.025); }
.equipment-availability { position:absolute; left:16px; bottom:16px; padding:7px 10px; background:#0a0a0a; border:1px solid var(--line-strong); font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.equipment-availability.available { background:#f2f2ed; color:#090909; border-color:#f2f2ed; }
.equipment-catalog-copy { padding:26px; display:grid; gap:13px; }
.equipment-catalog-meta { display:flex; flex-wrap:wrap; gap:8px; }
.equipment-catalog-meta span { border:1px solid var(--line); padding:5px 7px; color:#aaa; font-size:9px; letter-spacing:.14em; text-transform:uppercase; }
.equipment-catalog-copy h3 { font-size:25px; line-height:1.08; }
.equipment-catalog-copy p { color:#b6b6b0; font-size:13px; min-height:54px; }
.equipment-catalog-copy small { color:#8d8d88; line-height:1.5; min-height:40px; }
.equipment-select { width:100%; border:1px solid var(--line-strong); background:transparent; color:#fff; padding:13px 14px; cursor:pointer; font:inherit; margin-top:5px; }
.equipment-select:hover:not(:disabled), .equipment-select.selected { background:#f2f2ed; color:#080808; }
.equipment-select:disabled { cursor:not-allowed; opacity:.55; }
.equipment-application-section { padding:110px 0; background:#ecece7; color:#0b0b0b; }
.equipment-application-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:80px; align-items:start; }
.equipment-application-section .registration-copy p { color:#444; }
.equipment-application-section .registration-form-card { background:#101010; color:#fff; }
.equipment-application-section .registration-form-card input,.equipment-application-section .registration-form-card textarea,.equipment-application-section .registration-form-card select { color:#fff; background:#111; border-color:#343434; color-scheme:dark; }
.equipment-selection-box { margin:32px 0; border-top:1px solid #bbb; border-bottom:1px solid #bbb; padding:18px 0; }
.equipment-selection-box > span { display:block; font-size:10px; letter-spacing:.17em; text-transform:uppercase; color:#666; margin-bottom:12px; }
#equipment-selection { display:flex; flex-wrap:wrap; gap:8px; color:#555; }
#equipment-selection button { border:1px solid #aaa; background:transparent; padding:8px 10px; display:flex; gap:9px; align-items:center; cursor:pointer; }
#equipment-selection button i { font-style:normal; font-size:16px; }
.equipment-page-rules { padding:0; margin:24px 0 0; list-style:none; display:grid; gap:12px; }
.equipment-page-rules li { position:relative; padding-left:18px; color:#444; line-height:1.55; }
.equipment-page-rules li:before { content:""; width:5px; height:5px; border:1px solid #111; border-radius:50%; position:absolute; left:0; top:.58em; }
@media (max-width: 1050px) { .equipment-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .equipment-application-grid { grid-template-columns:1fr; gap:45px; } .split-heading { align-items:start; flex-direction:column; } }
@media (max-width: 680px) { .equipment-catalog-grid { grid-template-columns:1fr; } .equipment-date-check { width:100%; display:grid; grid-template-columns:1fr 1fr; } .equipment-date-check label,.equipment-date-check input { min-width:0; width:100%; } .equipment-date-check .button { grid-column:1/-1; } }

/* v1.0.0 — strony informacyjne */
.legal-hero { padding: 170px 0 80px; background: #0a0a0a; border-bottom: 1px solid rgba(255,255,255,.14); }
.legal-hero h1 { max-width: 980px; margin: 14px 0 20px; font-size: clamp(46px,8vw,112px); line-height: .92; letter-spacing: -.055em; }
.legal-section { background: #f3f3ee; color: #0a0a0a; padding: 80px 0 120px; }
.legal-layout { display: grid; grid-template-columns: 260px minmax(0,760px); gap: clamp(48px,8vw,130px); align-items: start; }
.legal-toc { position: sticky; top: 110px; display: grid; gap: 12px; border-top: 1px solid rgba(0,0,0,.25); padding-top: 20px; }
.legal-toc strong { margin-bottom: 8px; font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.legal-toc a { color: #42423e; text-decoration: none; }
.legal-toc a:hover { color: #000; text-decoration: underline; }
.legal-copy { font-size: 18px; line-height: 1.7; }
.legal-copy section { padding: 0 0 48px; margin: 0 0 48px; border-bottom: 1px solid rgba(0,0,0,.18); scroll-margin-top: 110px; }
.legal-copy h2 { margin: 0 0 18px; font-size: clamp(28px,4vw,46px); line-height: 1.02; letter-spacing: -.035em; }
.legal-copy p { color: #343431; }
.legal-copy a { color: #000; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.legal-update { margin: 0 0 48px; font-size: 12px; letter-spacing: .12em; text-transform: uppercase; }
.legal-note { background: #deded7; padding: 22px; }
.legal-copy code { background: #deded7; padding: 2px 6px; }
@media (max-width: 820px) { .legal-layout { grid-template-columns: 1fr; } .legal-toc { position: static; } .legal-hero { padding-top: 130px; } }

.consent-field a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

.hp-field { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; clip:rect(0 0 0 0) !important; clip-path:inset(50%) !important; white-space:nowrap !important; }
