@import url('https://fonts.googleapis.com/css2?family=Anton&family=Bebas+Neue&family=Cormorant+Garamond:wght@500;600;700&family=Caveat:wght@700&family=Manrope:wght@400;500;600;700;800&family=Oswald:wght@400;500;600;700&display=swap');

:root {
  --green: #47df00;
  --green-2: #8cff20;
  --green-dark: #249300;
  --black: #050505;
  --panel: #0b0d0b;
  --panel-2: #131713;
  --white: #ffffff;
  --muted: #d9e2d9;
  --gold: #d8d0b0;
  --line: rgba(255,255,255,.10);
  --shadow: 0 28px 70px rgba(0,0,0,.42);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 12% 8%, rgba(71,223,0,.08), transparent 18%),
    radial-gradient(circle at 86% 28%, rgba(216,208,176,.07), transparent 18%),
    linear-gradient(180deg, #040404 0%, #070807 35%, #050505 100%);
  color: var(--white);
  font-family: Manrope, Arial, sans-serif;
  line-height: 1.66;
}
img { display:block; max-width:100%; }
a { color: inherit; }
.wrap { width: min(1280px, calc(100% - 38px)); margin: 0 auto; }

.site-header {
  position: sticky; top:0; z-index:50;
  background: rgba(5,5,5,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.header-inner { min-height: 90px; display:grid; grid-template-columns:140px 1fr auto; gap:26px; align-items:center; }
.brand img { width:112px; height:76px; object-fit:contain; filter:drop-shadow(0 0 18px rgba(71,223,0,.18)); }
.main-nav { display:flex; justify-content:center; gap:clamp(14px,1.8vw,26px); font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:1rem; }
.main-nav a { color:#fff; text-decoration:none; padding:31px 0 25px; position:relative; }
.main-nav a::after { content:""; position:absolute; left:0; right:0; bottom:17px; height:2px; transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--green),var(--green-2)); transition:transform .2s ease; }
.main-nav a:hover, .main-nav a.active { color:var(--green); }
.main-nav a:hover::after, .main-nav a.active::after { transform:scaleX(1); }
.quote {
  min-height:48px; padding:0 22px; display:inline-flex; align-items:center; gap:12px;
  background:linear-gradient(180deg,var(--green-2),var(--green)); color:#071007; text-decoration:none; border-radius:999px;
  box-shadow:0 14px 28px rgba(71,223,0,.20);
  font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; font-weight:700;
}

.hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(circle at 0% 100%, rgba(71,223,0,.18), transparent 24%),
    radial-gradient(circle at 100% 22%, rgba(216,208,176,.08), transparent 18%),
    linear-gradient(110deg,#050505 0%,#090a09 42%,#101410 100%);
  border-bottom:1px solid rgba(71,223,0,.14);
}
.hero::before { content:""; position:absolute; right:-110px; top:110px; width:500px; height:240px; background:linear-gradient(180deg,var(--green-2),var(--green)); opacity:.9; transform:rotate(-11deg); clip-path:polygon(0 20%,94% 0,100% 82%,10% 100%); }
.hero::after { content:""; position:absolute; left:-40px; top:62px; width:220px; height:150px; background:rgba(71,223,0,.08); clip-path:polygon(0 18%,100% 0,88% 100%,14% 74%); }
.hero-grid { position:relative; z-index:1; min-height:700px; display:grid; grid-template-columns:.90fr 1.10fr; gap:48px; align-items:center; padding:68px 0 74px; }
.breadcrumb { margin:0 0 18px; color:#bcc5bd; font-size:.92rem; }
.breadcrumb span { color:var(--green); font-weight:800; }
.hand { margin:0 0 10px; color:var(--green); font-family:Caveat,cursive; font-size:clamp(2.3rem,3vw,3rem); line-height:1; }
.hero h1 { margin:0 0 18px; font-family:Bebas Neue,Anton,Impact,sans-serif; text-transform:uppercase; letter-spacing:.035em; line-height:.87; font-size:clamp(2.8rem,5.2vw,4.8rem); }
.hero h1 strong { display:block; margin-top:8px; color:var(--green); font-family:Cormorant Garamond,serif; font-style:italic; font-weight:700; text-transform:none; letter-spacing:.01em; line-height:.9; font-size:clamp(1.9rem,3.6vw,3.6rem); }
.lead { margin:0 0 30px; max-width:690px; color:#f0f5f0; font-size:1.13rem; text-wrap:pretty; }
.hero-actions { display:flex; gap:16px; flex-wrap:wrap; }
.btn { min-height:50px; padding:0 22px; display:inline-flex; align-items:center; gap:12px; border-radius:999px; text-decoration:none; font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
.btn-green { background:linear-gradient(180deg,var(--green-2),var(--green)); color:#071007; }
.btn-outline { border:1px solid rgba(216,208,176,.34); color:#fff; background:rgba(255,255,255,.02); }
.btn-outline:hover { background:rgba(71,223,0,.08); }
.hero-media { position:relative; display:grid; gap:18px; }
.hero-main { border-radius:28px; overflow:hidden; border:2px solid rgba(71,223,0,.28); box-shadow:var(--shadow); background:#0b0d0b; transform:rotate(-1deg); }
.hero-main img { width:100%; height:410px; object-fit:cover; }
.hero-mini { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.hero-mini img { height:150px; width:100%; object-fit:cover; border-radius:18px; border:1px solid rgba(71,223,0,.18); box-shadow:0 14px 28px rgba(0,0,0,.22); }

.benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; padding:28px 0 26px; border-top:1px solid rgba(255,255,255,.08); }
.benefit { display:grid; grid-template-columns:46px 1fr; gap:12px; align-items:center; padding:14px; border-radius:18px; background:rgba(255,255,255,.03); backdrop-filter:blur(6px); border:1px solid rgba(255,255,255,.05); }
.benefit-icon { height:46px; display:grid; place-items:center; border:1px solid var(--green); border-radius:50%; color:var(--green); font-weight:900; }

.home-dtf-banner-wrap {
  position: relative;
  z-index: 1;
  padding: 0 0 26px;
}

.home-dtf-banner {
  display: block;
  width: 100%;
  line-height: 0;
  overflow: hidden;
  border-radius: 26px;
  border: 1px solid rgba(71,223,0,.28);
  background: #050505;
  box-shadow: 0 18px 42px rgba(0,0,0,.38), 0 0 26px rgba(71,223,0,.12);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home-dtf-banner:hover {
  transform: translateY(-2px);
  border-color: rgba(71,223,0,.42);
  box-shadow: 0 22px 50px rgba(0,0,0,.44), 0 0 34px rgba(71,223,0,.18);
}

.home-dtf-banner:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 4px;
}

.home-dtf-banner img {
  display: block;
  width: 100%;
  height: auto;
}

.section { padding:82px 0; }
.section-head { display:flex; justify-content:space-between; align-items:end; gap:24px; margin-bottom:32px; }
.section-kicker { margin:0 0 8px; color:var(--green); font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.08em; font-weight:700; }
.section h2 { margin:0; font-family:Bebas Neue,Anton,Impact,sans-serif; text-transform:uppercase; font-size:clamp(2.2rem,3.8vw,3.8rem); line-height:.92; letter-spacing:.03em; }
.section h2 span { color:var(--green); font-family:Cormorant Garamond,serif; font-style:italic; text-transform:none; letter-spacing:.01em; }

.services-layout { display:grid; grid-template-columns:300px 1fr; gap:30px; align-items:start; }
.category-panel, .text-card { background:linear-gradient(180deg,rgba(15,17,15,.94),rgba(10,11,10,.98)); border:1px solid rgba(255,255,255,.09); border-radius:24px; overflow:hidden; box-shadow:var(--shadow); }
.category-panel h3 { margin:0; padding:20px; color:var(--green); font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; font-size:1.5rem; }
.category-list { display:grid; }
.category-list a { padding:14px 18px; color:#fff; text-decoration:none; border-top:1px solid rgba(255,255,255,.07); display:flex; justify-content:space-between; transition:.18s ease; }
.category-list a:hover, .category-list a.active { background:linear-gradient(90deg,var(--green),var(--green-2)); color:#050505; font-weight:800; }
.help-box { margin:18px; padding:20px; border-radius:20px; background:linear-gradient(180deg,#070807,#0b0c0b); border:1px solid rgba(71,223,0,.35); }
.help-box strong { display:block; color:var(--green); font-family:Oswald,Arial,sans-serif; text-transform:uppercase; font-size:1.3rem; margin-bottom:8px; }
.help-box p { color:#dce3dc; margin:0 0 14px; font-size:.95rem; }

.toolbar { min-height:48px; margin-bottom:18px; display:flex; justify-content:space-between; gap:16px; align-items:center; color:#dce3dc; }
.select-like { border:1px solid rgba(216,208,176,.28); border-radius:999px; padding:10px 14px; color:#fff; background:rgba(255,255,255,.03); }
.select-like span { color:var(--green); font-weight:900; }
.service-grid {
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:18px;
}
.service-card { background:linear-gradient(180deg,#0b0f0b,#151a15); border:1px solid rgba(71,223,0,.18); border-radius:22px; overflow:hidden; box-shadow:0 16px 34px rgba(0,0,0,.34), 0 0 0 1px rgba(71,223,0,.08), 0 0 18px rgba(71,223,0,.08); position:relative; transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.service-card:hover { transform:translateY(-6px); border-color:rgba(71,223,0,.32); box-shadow:0 24px 52px rgba(0,0,0,.42), 0 0 0 1px rgba(71,223,0,.14), 0 0 26px rgba(71,223,0,.18); }
.service-card::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.02) 22%, rgba(0,0,0,0) 52%, rgba(71,223,0,.05) 100%); opacity:.9; }
.service-card img {
  width:100%;
  height:185px;
  object-fit:cover;
  filter:saturate(1.04) contrast(1.03);
}
.service-card-body { padding:18px; }
.service-card h3 { margin:0 0 8px; font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.02em; font-size:1.48rem; line-height:1.02; }
.service-card p {
  margin:0 0 18px;
  color:#dbe4dd;
  font-size:.92rem;
  min-height:86px;
}
.card-btn { min-height:38px; display:inline-flex; align-items:center; gap:10px; padding:0 14px; border:1px solid var(--green); color:var(--green); text-decoration:none; border-radius:999px; font-family:Oswald,Arial,sans-serif; text-transform:uppercase; letter-spacing:.05em; font-weight:700; }
.card-btn:hover { background:var(--green); color:#050505; }
.badge { position:absolute; left:14px; top:14px; background:linear-gradient(180deg,var(--green-2),var(--green)); color:#050505; padding:5px 10px; border-radius:999px; font-family:Oswald,Arial,sans-serif; text-transform:uppercase; font-weight:700; font-size:.84rem; }
.feature-strip { margin-top:28px; min-height:190px; display:grid; grid-template-columns:.82fr 1.18fr auto; gap:24px; align-items:center; padding:28px; border-radius:26px; overflow:hidden; background:linear-gradient(90deg,rgba(5,5,5,.95),rgba(5,5,5,.7)),url('assets/photo-druk-dtf.jpg') center/cover; border:1px solid rgba(71,223,0,.28); box-shadow:var(--shadow); }
.feature-strip h3 { margin:0; color:var(--green); font-family:Bebas Neue,Anton,Impact,sans-serif; text-transform:uppercase; font-size:2.8rem; letter-spacing:.04em; }
.feature-strip p { margin:0; color:#fff; }

.about-grid, .real-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.text-card { padding:clamp(28px,4vw,46px); position:relative; }
.text-card::before { content:""; position:absolute; right:26px; top:18px; width:60px; height:6px; background:linear-gradient(90deg,var(--green),var(--green-2)); }
.text-card p { color:#dbe4dd; }
.image-card { border-radius:28px; overflow:hidden; border:2px solid rgba(71,223,0,.22); box-shadow:var(--shadow); transform:rotate(.8deg); }
.image-card img { width:100%; height:430px; object-fit:cover; }
.creator-band { position:relative; background:linear-gradient(90deg,rgba(5,5,5,.94),rgba(5,5,5,.58)),url('assets/photo-wydawnictwo.jpg') center/cover; border-top:1px solid rgba(71,223,0,.22); border-bottom:1px solid rgba(71,223,0,.22); }
.creator-band::after { content:""; position:absolute; right:0; top:0; width:360px; height:100%; background:linear-gradient(135deg,transparent 0,rgba(71,223,0,.16) 100%); }
.creator-content { position:relative; z-index:1; max-width:780px; padding:94px 0; }
.creator-content p { max-width:650px; font-size:1.08rem; color:#eef4ef; }

.footer { background:#050505; color:#fff; padding:50px 0 24px; border-top:1px solid rgba(255,255,255,.10); }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:34px; margin-bottom:28px; }
.footer img { width:100px; margin-bottom:14px; }
.footer h3 { margin:0 0 12px; color:#fff; font-family:Oswald,Arial,sans-serif; text-transform:uppercase; font-size:1.32rem; letter-spacing:.03em; }
.footer p, .footer li { color:#dbe4dd; font-size:.95rem; }
.footer ul { list-style:none; padding:0; margin:0; }
.footer li { margin:6px 0; }
.footer a { color:var(--green); text-decoration:none; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.08); padding-top:18px; display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap; }
.legal-links { display:flex; gap:18px; flex-wrap:wrap; }

@media (max-width:1160px) {
  .header-inner, .hero-grid, .services-layout, .about-grid, .real-grid, .footer-grid { grid-template-columns:1fr; }
  .main-nav { justify-content:flex-start; flex-wrap:wrap; }
  .quote { justify-self:start; }
  .benefits { grid-template-columns:repeat(2,1fr); }
  .service-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:680px) {
  .wrap { width:min(100% - 24px,1280px); }
  .hero-grid { min-height:auto; }
  .hero-mini, .benefits, .service-grid { grid-template-columns:1fr; }
  .feature-strip { grid-template-columns:1fr; }
  .footer-bottom { display:grid; }
}


@media (max-width:1400px) {
  .service-grid {
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width:1160px) {
  .service-grid {
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width:680px) {
  .service-grid {
    grid-template-columns:1fr;
  }
}


/* RESPONSYWNOŚĆ MJ RECLAME — KOMPUTER / TABLET / TELEFON */
html, body {
  overflow-x: hidden;
}

img, video, canvas, svg {
  max-width: 100%;
}

@media (max-width: 1180px) {
  .wrap {
    width: min(100% - 28px, 1120px);
  }

  .header-inner {
    grid-template-columns: 110px 1fr;
    gap: 16px;
    padding: 10px 0;
  }

  .brand img {
    width: 96px;
    height: auto;
  }

  .main-nav {
    order: 3;
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 10px 16px;
    padding-bottom: 8px;
    font-size: .92rem;
  }

  .main-nav a {
    padding: 8px 0;
  }

  .main-nav a::after {
    bottom: 2px;
  }

  .quote {
    justify-self: end;
    min-height: 42px;
    padding: 0 16px;
    font-size: .92rem;
  }

  .hero-grid,
  .privacy-hero-grid,
  .creator-hero-grid,
  .creator-app-hero-grid,
  .services-layout,
  .layout,
  .privacy-layout,
  .contact-layout,
  .creator-app-layout,
  .community-grid,
  .paths-grid,
  .about-grid,
  .real-grid,
  .footer-grid,
  .footer-inner {
    grid-template-columns: 1fr !important;
  }

  .hero-grid,
  .creator-hero-grid,
  .creator-app-hero-grid,
  .privacy-hero-grid {
    min-height: auto;
    gap: 28px;
  }

  .sidebar,
  .dashboard-menu {
    position: static;
  }

  .service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .benefits,
  .values-grid,
  .community-cards,
  .path-features,
  .photo-strip,
  .facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .dashboard-grid {
    grid-template-columns: 1fr !important;
  }

  .account-grid {
    grid-template-columns: 1fr 1fr !important;
  }

  .creator-hero-visual {
    min-height: 430px;
  }

  .visual-main {
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 360px !important;
  }

  .visual-stack.top,
  .visual-stack.bottom {
    display: none !important;
  }

  .creator-page,
  .creator-app-page {
    min-width: 0 !important;
  }
}

@media (max-width: 760px) {
  .wrap {
    width: min(100% - 22px, 720px);
  }

  .site-header {
    position: relative;
  }

  .header-inner {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 12px;
    min-height: auto;
  }

  .brand img {
    width: 78px;
  }

  .quote {
    justify-self: end;
    min-height: 38px;
    padding: 0 12px;
    font-size: .82rem;
    white-space: nowrap;
  }

  .main-nav {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    width: 100%;
    font-size: .86rem;
  }

  .main-nav a {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    padding: 9px 10px;
    background: rgba(255,255,255,.025);
    text-align: center;
  }

  .main-nav a::after {
    display: none;
  }

  .hero-grid,
  .creator-hero-grid,
  .creator-app-hero-grid,
  .privacy-hero-grid {
    padding: 34px 0;
  }

  .hero h1,
  .creator-hero h1,
  .creator-app-hero h1,
  .privacy-hero h1 {
    font-size: clamp(2.2rem, 12vw, 3.4rem) !important;
    line-height: .88;
  }

  .hero h1 strong,
  .creator-hero h1 span,
  .creator-app-hero h1 span {
    font-size: clamp(1.7rem, 9vw, 2.5rem) !important;
  }

  .hand,
  .creator-hand {
    font-size: 2rem !important;
  }

  .lead,
  .creator-hero p,
  .creator-app-hero p,
  .privacy-hero .lead {
    font-size: 1rem;
  }

  .hero-actions,
  .creator-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .btn,
  .creator-btn,
  .btn-green,
  .card-btn,
  .creator-mini-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .hero-mini,
  .service-grid,
  .benefits,
  .values-grid,
  .community-cards,
  .path-features,
  .photo-strip,
  .facts,
  .account-grid,
  .paths-grid,
  .form-grid,
  .file-grid,
  .profile-stats {
    grid-template-columns: 1fr !important;
  }

  .section,
  .content,
  .creator-account,
  .creator-paths,
  .creator-values,
  .creator-community,
  .creator-app-section,
  .privacy-content {
    padding: 42px 0 !important;
  }

  .section-head {
    display: grid;
    gap: 12px;
  }

  .section h2,
  .copy-card h2,
  .creator-panel h2,
  .path-head h2,
  .section-title-line h2,
  .community-copy h2,
  .final-cta-inner h2,
  .creator-app-card h2 {
    font-size: clamp(2.2rem, 13vw, 3.3rem) !important;
  }

  .service-card img {
    height: 210px !important;
  }

  .category-panel,
  .text-card,
  .copy-card,
  .creator-panel,
  .creator-app-card,
  .creator-app-side,
  .dashboard-menu,
  .privacy-card,
  .contact-card,
  .side-box {
    border-radius: 20px;
    padding: 20px !important;
  }

  .feature-strip,
  .feature-box,
  .final-cta-inner {
    grid-template-columns: 1fr !important;
    padding: 22px !important;
  }

  .creator-hero-visual {
    min-height: auto;
  }

  .visual-main {
    height: auto !important;
    transform: none !important;
  }

  .visual-main img {
    height: auto !important;
  }

  .creator-form.register,
  .creator-live-form,
  .contact-form {
    grid-template-columns: 1fr !important;
  }

  .creator-live-form textarea,
  .form-field textarea {
    min-height: 150px;
  }

  .creator-app-page .creator-app-hero-card {
    display: none;
  }

  .creator-app-layout.narrow {
    grid-template-columns: 1fr !important;
    justify-content: stretch;
  }

  .dashboard-menu {
    display: grid;
    grid-template-columns: 1fr;
  }

  .dashboard-menu a,
  .dashboard-menu button,
  .submission-actions button {
    text-align: center;
  }

  .submission-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .footer-inner,
  .footer-bottom {
    text-align: center;
    justify-items: center;
  }

  .footer-links,
  .legal-links {
    justify-content: center;
  }
}

@media (max-width: 430px) {
  .wrap {
    width: min(100% - 18px, 420px);
  }

  .main-nav {
    grid-template-columns: 1fr;
  }

  .quote {
    font-size: .78rem;
    padding: 0 10px;
  }

  .hero h1,
  .creator-hero h1,
  .creator-app-hero h1,
  .privacy-hero h1 {
    font-size: 3.1rem !important;
  }

  .hero h1 strong,
  .creator-hero h1 span,
  .creator-app-hero h1 span {
    font-size: 2.3rem !important;
  }

  .service-card img,
  .community-cards img,
  .path-features img {
    height: 190px !important;
  }

  .creator-live-form input,
  .creator-live-form select,
  .creator-live-form textarea,
  .form-field input,
  .form-field select,
  .form-field textarea {
    padding: 13px 14px;
    font-size: 16px;
  }
}


/* Widoczna galeria grafik twórców — sekcja sprzedażowa */
.home-creators-gallery {
  position: relative;
  overflow: hidden;
  padding: 78px 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(71,223,0,.13), transparent 22%),
    radial-gradient(circle at 92% 40%, rgba(71,223,0,.10), transparent 20%),
    linear-gradient(180deg, #050505, #0b0f0b);
  border-top: 1px solid rgba(71,223,0,.18);
  border-bottom: 1px solid rgba(71,223,0,.18);
}

.home-creators-inner {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 34px;
  align-items: center;
}

.home-creators-copy h2,
.strefa-gallery-highlight h2 {
  margin: 0 0 16px;
  font-family: Bebas Neue, Anton, Impact, sans-serif;
  text-transform: uppercase;
  letter-spacing: .035em;
  font-size: clamp(2.3rem, 4vw, 3.8rem);
  line-height: .9;
}

.home-creators-copy h2 span,
.strefa-gallery-highlight h2 span {
  color: var(--green);
  font-family: Cormorant Garamond, serif;
  font-style: italic;
  text-transform: none;
}

.home-legal-short,
.legal-note {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(71,223,0,.18);
  background: rgba(71,223,0,.07);
  color: #dbe4dd;
  font-size: .94rem;
}

.home-graphics-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}

.home-graphic-preview-card {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(71,223,0,.20);
  background: linear-gradient(180deg, rgba(16,18,16,.96), rgba(8,9,8,.98));
  box-shadow: 0 18px 38px rgba(0,0,0,.36), 0 0 18px rgba(71,223,0,.08);
}

.home-graphic-preview-card img,
.home-graphic-preview-card .placeholder-image {
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.home-graphic-preview-card div {
  padding: 16px;
}

.home-graphic-preview-card p {
  margin: 0 0 4px;
  color: var(--green);
  font-family: Oswald, Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 800;
}

.home-graphic-preview-card h3 {
  margin: 0 0 6px;
  color: #fff;
  font-family: Oswald, Arial, sans-serif;
  text-transform: uppercase;
}

.home-graphic-preview-card small {
  color: #cfd8cf;
}

.home-gallery-empty {
  grid-column: 1 / -1;
  padding: 26px;
  border-radius: 22px;
  border: 1px solid rgba(71,223,0,.20);
  background: rgba(255,255,255,.035);
}

.strefa-gallery-highlight {
  padding: 66px 0;
  background:
    linear-gradient(90deg, rgba(5,5,5,.96), rgba(5,5,5,.74)),
    url("assets/photo-odziez-z-nadrukiem-podstrona.png") center/cover;
  border-top: 1px solid rgba(71,223,0,.18);
  border-bottom: 1px solid rgba(71,223,0,.18);
}

.strefa-gallery-highlight-grid {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 34px;
  align-items: center;
}

.strefa-gallery-tiles {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.strefa-gallery-tiles img {
  width: 100%;
  height: 330px;
  object-fit: cover;
  border-radius: 24px;
  border: 1px solid rgba(71,223,0,.20);
  box-shadow: 0 20px 44px rgba(0,0,0,.36);
}

.public-legal-note {
  margin-bottom: 24px;
}

@media (max-width: 1180px) {
  .home-creators-inner,
  .strefa-gallery-highlight-grid {
    grid-template-columns: 1fr;
  }

  .home-graphics-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .home-creators-gallery,
  .strefa-gallery-highlight {
    padding: 46px 0;
  }

  .home-graphics-grid,
  .strefa-gallery-tiles {
    grid-template-columns: 1fr;
  }

  .home-graphic-preview-card img,
  .home-graphic-preview-card .placeholder-image,
  .strefa-gallery-tiles img {
    height: 230px;
  }
}


/* Dynamiczna prezentacja grafik twórców */
.home-graphics-grid {
  align-items: stretch;
}

.home-graphic-preview-card {
  animation: softGalleryIn .45s ease both;
}

@keyframes softGalleryIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.home-creators-copy .hero-actions {
  margin-top: 22px;
}


/* Naprawiona sekcja „Grafiki naszych twórców” pod kategoriami usług */
.creators-feature-strip {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 24px;
  align-items: center;
  padding: 28px;
  border: 1px solid rgba(71,223,0,.28);
  background:
    radial-gradient(circle at 8% 18%, rgba(71,223,0,.14), transparent 25%),
    linear-gradient(180deg, rgba(16,18,16,.98), rgba(5,7,5,.98));
  box-shadow: 0 22px 48px rgba(0,0,0,.38), 0 0 26px rgba(71,223,0,.09);
}

.creators-feature-copy h3 {
  margin: 0 0 12px;
  font-family: Bebas Neue, Anton, Impact, sans-serif;
  text-transform: uppercase;
  letter-spacing: .035em;
  font-size: clamp(2.8rem, 4.8vw, 5rem);
  line-height: .9;
  color: #fff;
}

.creators-feature-copy p {
  color: #e8efe8;
}

.creators-feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 18px;
}

.creators-feature-preview {
  min-width: 0;
}

.home-graphics-grid-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.home-graphics-grid-strip .home-graphic-preview-card img,
.home-graphics-grid-strip .home-graphic-preview-card .placeholder-image {
  height: 190px;
}

@media (max-width: 1180px) {
  .creators-feature-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .creators-feature-strip {
    padding: 22px;
  }

  .home-graphics-grid-strip {
    grid-template-columns: 1fr;
  }

  .creators-feature-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}


/* Strona główna — rotujące wizualizacje produktów */
.home-visualizations-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  margin: 18px 0;
  min-height: 255px;
}

.home-visualization-card {
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(71,223,0,.22);
  background: rgba(10,12,10,.96);
  box-shadow: 0 18px 38px rgba(0,0,0,.34), 0 0 20px rgba(71,223,0,.08);
  animation: homeVisualizationIn .45s ease both;
}

.home-visualization-card > a {
  display: block;
  background: rgba(255,255,255,.04);
}

.home-visualization-card img {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
}

.home-visualization-card > div {
  padding: 15px 16px 17px;
}

.home-visualization-card p {
  margin: 0 0 5px;
  color: var(--green);
  font-family: Oswald, Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 800;
}

.home-visualization-card h3 {
  margin: 0 0 6px;
  color: #fff;
  font-family: Oswald, Arial, sans-serif;
  text-transform: uppercase;
}

.home-visualization-card small {
  color: #cfd8cf;
}

@keyframes homeVisualizationIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 980px) {
  .home-visualizations-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .home-visualizations-grid { grid-template-columns: 1fr; }
  .home-visualization-card img { height: 220px; }
}


/* Dopasowanie tekstu w kafelkach wizualizacji na stronie głównej */
.home-visualization-card > div {
  padding: 12px 14px 14px;
  min-height: 96px;
  display: grid;
  align-content: start;
  gap: 4px;
}

.home-visualization-card p {
  font-size: 0.78rem;
  line-height: 1.05;
  letter-spacing: .04em;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.home-visualization-card h3 {
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.05;
  max-height: 2.2em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.home-visualization-card small {
  font-size: 0.78rem;
  line-height: 1.2;
  max-height: 2.4em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

@media (max-width: 640px) {
  .home-visualization-card h3 {
    font-size: 1.08rem;
  }
}


@media (max-width:680px) {
  .home-dtf-banner-wrap {
    padding-bottom: 18px;
  }

  .home-dtf-banner {
    border-radius: 16px;
  }
}


/* PODGLĄD 2026-07-17 — wyśrodkowanie kafelków sekcji „Reklama i druk” oraz „Wydawnictwo” */
@media (min-width: 681px) {
  .service-group .service-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 220px)) !important;
    justify-content: center;
    gap: 18px;
  }
}

@media (max-width: 680px) {
  .service-group .service-grid {
    grid-template-columns: 1fr !important;
    justify-content: stretch;
  }
}


/* POPRAWKA 2026-07-17 — rzeczywiste wyśrodkowanie kafelków w obu działach */
@media (min-width: 1181px) {
  .service-group .service-grid {
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
  }

  .service-group:first-child .service-card {
    flex:0 0 calc((100% - 54px) / 4);
    max-width:calc((100% - 54px) / 4);
  }

  .service-grid-publishing .service-card {
    flex:0 0 calc((100% - 72px) / 5);
    max-width:calc((100% - 72px) / 5);
  }
}

@media (min-width: 681px) and (max-width: 1180px) {
  .service-group .service-grid {
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center;
    gap:18px;
  }

  .service-group .service-card {
    flex:0 0 calc((100% - 18px) / 2);
    max-width:calc((100% - 18px) / 2);
  }
}

@media (max-width: 680px) {
  .service-group .service-grid {
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .service-group .service-card {
    max-width:none;
  }
}


/* PODGLĄD 2026-07-17 — kompaktowy nagłówek strony głównej */
@media (min-width: 1181px) {
  .hero {
    padding: 34px 0 28px !important;
  }

  .hero-grid {
    min-height: 0 !important;
    align-items: center !important;
    gap: 34px !important;
    padding: 22px 0 18px !important;
  }

  .hand {
    font-size: clamp(1.45rem, 1.8vw, 2rem) !important;
    margin-bottom: 6px !important;
  }

  .hero h1 {
    font-size: clamp(2.9rem, 4.6vw, 4.9rem) !important;
    line-height: .9 !important;
    margin-bottom: 12px !important;
    letter-spacing: .025em !important;
  }

  .hero h1 strong {
    font-size: clamp(1.9rem, 3vw, 3.2rem) !important;
    margin-top: 4px !important;
    line-height: .92 !important;
  }

  .hero .lead {
    max-width: 620px !important;
    font-size: 1rem !important;
    line-height: 1.55 !important;
    margin-bottom: 18px !important;
  }

  .hero-actions {
    margin-top: 18px !important;
  }

  .hero-main img {
    max-height: 330px !important;
    object-fit: cover !important;
  }

  .hero-mini img {
    max-height: 118px !important;
    object-fit: cover !important;
  }

  .home-dtf-banner-wrap {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
  }

  .home-dtf-banner img {
    max-height: 300px !important;
    object-fit: cover !important;
  }
}

@media (min-width: 681px) and (max-width: 1180px) {
  .hero {
    padding: 28px 0 24px !important;
  }

  .hero-grid {
    min-height: 0 !important;
    gap: 24px !important;
    padding: 18px 0 !important;
  }

  .hand {
    font-size: 1.7rem !important;
  }

  .hero h1 {
    font-size: clamp(2.6rem, 6vw, 4rem) !important;
    line-height: .92 !important;
  }

  .hero h1 strong {
    font-size: clamp(1.9rem, 4.6vw, 3rem) !important;
  }

  .hero-main img {
    max-height: 300px !important;
    object-fit: cover !important;
  }

  .hero-mini img {
    max-height: 110px !important;
    object-fit: cover !important;
  }

  .home-dtf-banner img {
    max-height: 260px !important;
    object-fit: cover !important;
  }
}

@media (max-width: 680px) {
  .hero {
    padding: 22px 0 20px !important;
  }

  .hero-grid {
    min-height: 0 !important;
    gap: 18px !important;
    padding: 12px 0 !important;
  }

  .hand {
    font-size: 1.55rem !important;
  }

  .hero h1 {
    font-size: clamp(2.3rem, 13vw, 3.2rem) !important;
    line-height: .9 !important;
    margin-bottom: 10px !important;
  }

  .hero h1 strong {
    font-size: clamp(1.8rem, 10vw, 2.5rem) !important;
  }

  .hero .lead {
    font-size: .98rem !important;
    line-height: 1.5 !important;
  }

  .hero-main img {
    max-height: 240px !important;
    object-fit: cover !important;
  }

  .hero-mini {
    display: none !important;
  }

  .home-dtf-banner img {
    max-height: 210px !important;
    object-fit: cover !important;
  }
}


/* PODGLĄD 2026-07-17_5 — mocniej skrócony nagłówek i pełny baner DTF bez przycinania */
@media (min-width: 1181px) {
  .hero {
    padding: 20px 0 18px !important;
  }

  .hero-grid {
    min-height: 0 !important;
    padding: 10px 0 8px !important;
    gap: 26px !important;
    align-items: center !important;
  }

  .hand {
    font-size: clamp(1.25rem, 1.45vw, 1.7rem) !important;
    margin-bottom: 4px !important;
  }

  .hero h1 {
    font-size: clamp(2.25rem, 3.7vw, 3.75rem) !important;
    line-height: .92 !important;
    margin-bottom: 8px !important;
    letter-spacing: .022em !important;
  }

  .hero h1 strong {
    font-size: clamp(1.55rem, 2.45vw, 2.45rem) !important;
    margin-top: 2px !important;
    line-height: .96 !important;
  }

  .hero .lead {
    max-width: 560px !important;
    font-size: .94rem !important;
    line-height: 1.48 !important;
    margin-bottom: 12px !important;
  }

  .hero-actions {
    margin-top: 12px !important;
    gap: 12px !important;
  }

  .hero-main img {
    max-height: 245px !important;
    object-fit: cover !important;
  }

  .hero-mini {
    gap: 10px !important;
  }

  .hero-mini img {
    max-height: 82px !important;
    object-fit: cover !important;
  }

  .home-dtf-banner-wrap {
    padding-top: 10px !important;
    padding-bottom: 8px !important;
  }

  .home-dtf-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #050805 !important;
  }

  .home-dtf-banner img {
    width: 100% !important;
    height: auto !important;
    max-height: 285px !important;
    object-fit: contain !important;
    display: block !important;
  }
}

@media (min-width: 681px) and (max-width: 1180px) {
  .hero {
    padding: 18px 0 16px !important;
  }

  .hero-grid {
    min-height: 0 !important;
    padding: 10px 0 !important;
    gap: 20px !important;
  }

  .hand {
    font-size: 1.45rem !important;
  }

  .hero h1 {
    font-size: clamp(2.15rem, 4.8vw, 3.25rem) !important;
    line-height: .92 !important;
    margin-bottom: 8px !important;
  }

  .hero h1 strong {
    font-size: clamp(1.55rem, 3.5vw, 2.35rem) !important;
  }

  .hero .lead {
    font-size: .94rem !important;
    line-height: 1.48 !important;
  }

  .hero-main img {
    max-height: 230px !important;
    object-fit: cover !important;
  }

  .hero-mini img {
    max-height: 80px !important;
    object-fit: cover !important;
  }

  .home-dtf-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #050805 !important;
  }

  .home-dtf-banner img {
    width: 100% !important;
    height: auto !important;
    max-height: 250px !important;
    object-fit: contain !important;
    display: block !important;
  }
}

@media (max-width: 680px) {
  .hero {
    padding: 18px 0 16px !important;
  }

  .hero-grid {
    min-height: 0 !important;
    padding: 8px 0 !important;
    gap: 14px !important;
  }

  .hand {
    font-size: 1.35rem !important;
  }

  .hero h1 {
    font-size: clamp(1.95rem, 10vw, 2.65rem) !important;
    line-height: .92 !important;
    margin-bottom: 8px !important;
  }

  .hero h1 strong {
    font-size: clamp(1.45rem, 8vw, 2.05rem) !important;
  }

  .hero .lead {
    font-size: .94rem !important;
    line-height: 1.48 !important;
  }

  .hero-main img {
    max-height: 190px !important;
    object-fit: cover !important;
  }

  .hero-mini {
    display: none !important;
  }

  .home-dtf-banner {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #050805 !important;
  }

  .home-dtf-banner img {
    width: 100% !important;
    height: auto !important;
    max-height: 190px !important;
    object-fit: contain !important;
    display: block !important;
  }
}


/* Przełącznik języka PL/NL */

.language-switcher{display:flex;gap:8px;align-items:center;margin-left:14px;font-weight:800;font-size:.86rem;letter-spacing:.03em}
.language-switcher a{display:inline-flex;align-items:center;gap:6px;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.035)}
.language-switcher a.is-active,.language-switcher a:hover{color:#050805;background:var(--green);border-color:var(--green)}
.language-switcher .flag{font-size:1.05rem;line-height:1}
@media(max-width:920px){.language-switcher{margin:10px 0 0;justify-content:center;flex-wrap:wrap}}
