<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>BRAVE UnAIted – Hero</title> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800;900&family=Manrope:wght@400;500;600;700&family=Comic+Neue:wght@400;700&display=swap" rel="stylesheet"> </head> <body> <section id="brave-unAIted-hero"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800;900&family=Manrope:wght@400;500;600;700&family=Comic+Neue:wght@400;700&display=swap'); #brave-unAIted-hero { background-color: #6ABFFF; min-height: 920px; width: 100%; display: flex; align-items: center; justify-content: center; padding-block: 0; padding-inline: 0; box-sizing: border-box; overflow: hidden; position: relative; } #brave-unAIted-hero .inner { width: 100%; max-width: 1440px; display: flex; flex-direction: column; align-items: center; gap: 48px; z-index: 2; } @media (min-width: 1024px) { #brave-unAIted-hero .inner { flex-direction: row; align-items: stretch; gap: 64px; min-height: 920px; } } /* LEFT COLUMN */ #brave-unAIted-hero .col-text { flex: 1.1; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 48px var(--et-spacing-horizontal, 24px) 48px 44px; box-sizing: border-box; } @media (max-width: 1023px) { #brave-unAIted-hero .col-text { padding: 48px 24px; } } #brave-unAIted-hero .label-date { display: flex; height: 56px; flex-direction: column; justify-content: center; color: #000; font-family: 'Archivo', sans-serif; font-size: 16px; font-weight: 400; line-height: 16.5px; letter-spacing: 3.3px; text-transform: uppercase; margin-bottom: 8px; } @media (min-width: 640px) { #brave-unAIted-hero .label-date { font-size: 20px; } } #brave-unAIted-hero h1 { margin: 0; display: flex; flex-direction: column; } /* outside stroke zasymulowany przez text-shadow rozchodzący się we wszystkich kierunkach */ #brave-unAIted-hero .headline-white { color: #FFF; font-family: 'Archivo', sans-serif; font-size: clamp(56px, 8vw, 120px); font-weight: 700; line-height: 112px; letter-spacing: -2.6px; margin-bottom: -4px; text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000, -2px 0px 0 #000, 2px 0px 0 #000, 0px -2px 0 #000, 0px 2px 0 #000; } /* inside stroke przy użyciu standardowego -webkit-text-stroke-width */ #brave-unAIted-hero .headline-comic { color: #FECC00; -webkit-text-stroke-width: 3px; -webkit-text-stroke-color: #BA3340; text-shadow: -4px 4px 0 #FFF; font-family: 'Comic Neue', 'Comic Sans MS', 'Comic Sans', cursive, sans-serif; font-size: clamp(56px, 8vw, 120px); font-weight: 700; line-height: 112px; letter-spacing: -2.6px; margin-top: 0; margin-bottom: 0; } /* outside stroke zasymulowany przez text-shadow rozchodzący się we wszystkich kierunkach */ #brave-unAIted-hero .headline-forgood { color: #FFF; font-family: 'Archivo', sans-serif; font-size: clamp(56px, 8vw, 120px); font-weight: 700; line-height: 112px; letter-spacing: -2.6px; margin-top: 4px; margin-bottom: 40px; text-shadow: -2px -2px 0 #000, 2px -2px 0 #000, -2px 2px 0 #000, 2px 2px 0 #000, -2px 0px 0 #000, 2px 0px 0 #000, 0px -2px 0 #000, 0px 2px 0 #000; } /* SPECJALNA NADPISKA ODSTĘPÓW (MARGINESÓW & HEIGHTS) DLA MOBILE - ZMNIEJSZENIE DO 0 */ @media (max-width: 767px) { #brave-unAIted-hero h1 { gap: 0px !important; } #brave-unAIted-hero .headline-white { line-height: 48px !important; margin-bottom: 0px !important; font-size: 52px !important; } #brave-unAIted-hero .headline-comic { line-height: 52px !important; margin-top: 0px !important; margin-bottom: 8px !important; /* Zwiększono z 0px do 8px dla lekkiego odstępu po 'buduje z AI' na mobile */ font-size: 52px !important; text-shadow: -2px 2px 0 #FFF !important; -webkit-text-stroke-width: 1.5px !important; } #brave-unAIted-hero .headline-forgood { line-height: 48px !important; margin-top: 0px !important; margin-bottom: 24px !important; font-size: 52px !important; } } #brave-unAIted-hero .description { color: #000; font-family: 'Manrope', sans-serif; font-size: 18px; font-weight: 400; line-height: 26px; max-width: 534px; margin-bottom: 24px; } @media (min-width: 640px) { #brave-unAIted-hero .description { font-size: 20px; } } #brave-unAIted-hero .btn-group { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 48px; } #brave-unAIted-hero .btn-hero { display: inline-flex; padding: 16px 24px; justify-content: center; align-items: center; gap: 12px; border: 2px solid #000; background: #FFD723; color: #000; font-family: Arial, Helvetica, sans-serif; font-size: 15px; font-weight: 600; line-height: 1.2; text-decoration: none; border-radius: 0px; cursor: pointer; transition: background-color 0.2s ease, transform 0.1s ease; white-space: nowrap; text-transform: uppercase; } #brave-unAIted-hero .btn-hero:hover { background-color: #f5c200; } #brave-unAIted-hero .btn-hero:focus-visible { outline: 2px solid #000; outline-offset: 3px; } #brave-unAIted-hero .btn-hero:active { transform: scale(0.98); } #brave-unAIted-hero .big-date { color: #BA3340; paint-order: stroke fill; -webkit-text-stroke-width: 2px; -webkit-text-stroke-color: #FFF; font-family: 'Archivo', sans-serif; font-size: clamp(48px, 7vw, 96px); font-weight: 900; line-height: 1; letter-spacing: -2px; text-align: left; margin-bottom: 0; } @media (min-width: 1024px) { #brave-unAIted-hero .big-date { -webkit-text-stroke-width: 3px; font-size: clamp(72px, 6vw, 120px); line-height: 1.1; } } /* RIGHT COLUMN */ #brave-unAIted-hero .col-image { flex: 0.9; display: flex; align-items: stretch; justify-content: flex-end; position: relative; } #brave-unAIted-hero .hero-img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; } /* NAKLEJKA */ #brave-unAIted-hero .sticker { position: absolute; bottom: 24px; right: 24px; width: clamp(260px, 30vw, 420px); height: auto; z-index: 10; pointer-events: none; transform: rotate(-3deg); filter: drop-shadow(0px 8px 24px rgba(0,0,0,0.2)); animation: gentle-wobble 6s ease-in-out infinite alternate; } @keyframes gentle-wobble { 0% { transform: rotate(-3deg) translateY(0); } 100% { transform: rotate(-1deg) translateY(-6px); } } @media (min-width: 1024px) { #brave-unAIted-hero .col-image { margin-right: 0; align-self: stretch; } #brave-unAIted-hero .inner { max-width: 100%; padding-left: calc((100vw - 1440px) / 2); } } @media (max-width: 1023px) { #brave-unAIted-hero .col-image { width: 100%; height: 500px; } #brave-unAIted-hero .inner { gap: 0px; } #brave-unAIted-hero .sticker { bottom: 16px; right: 16px; width: 200px; } } @media (max-width: 1440px) and (min-width: 1024px) { #brave-unAIted-hero .inner { padding-left: 44px; } } </style> <div class="inner"> <!-- LEFT: Text Column --> <div class="col-text"> <p class="label-date">28.08.2026&nbsp;|&nbsp;udział bezpłatny</p> <h1> <span class="headline-white">Cała Polska</span> <span class="headline-comic">buduje z AI</span> <span class="headline-forgood">for good</span> </h1> <p class="description"> Dołącz do bezpłatnego hackathonu BRAVE UnAIted.<br> Przekonaj się, ile można zbudować z AI w jeden dzień. </p> <div class="btn-group"> <a class="btn-hero" href="https://luma.com/unaited" data-unaited-stepper-register data-unaited-source="unaited-hero" aria-haspopup="dialog" aria-controls="unaited-stepper-modal" > Zapisz się na hackathon za free </a> </div> <p class="big-date" aria-label="Data wydarzenia: 28 sierpnia 2026">28.08.2026</p> </div> <!-- RIGHT: Image Column --> <div class="col-image"> <img class="hero-img" src="https://app.easy.tools/files/pages/assets/2026-07-24/grafika-hero-unaited_mrz7oo19.webp" alt="Brave UnAIted – Retro kolaż z uczestnikami wydarzenia i motywem starych komputerów oraz dyskietki" loading="eager" > </div> </div> <!-- NAKLEJKA / STICKER --> <img class="sticker" src="https://app.easy.tools/files/pages/assets/2026-07-24/frame-1410125371_mrz7osw7.webp" alt="Brave Troska Za Starzy na Techno" loading="eager" > </section> <!-- Własny popup rejestracyjny jest osadzony tylko raz, razem z sekcją hero. Pozostałe CTA na stronie otwierają go przez data-unaited-stepper-register. Link href każdego CTA pozostaje awaryjną ścieżką do Luma, gdy JavaScript nie zadziała. --> <style id="unaited-stepper-styles"> body.unaited-modal-lock { overflow: hidden; } #unaited-stepper-modal, #unaited-stepper-modal *, #unaited-terms-modal, #unaited-terms-modal * { box-sizing: border-box; } #unaited-stepper-modal, #unaited-terms-modal { --unaited-blue: #6abfff; --unaited-yellow: #ffd723; --unaited-red: #ba3340; --unaited-red-dark: #ad1724; --unaited-purple: #4c1fa3; --unaited-paper: #f9fafb; --unaited-black: #000000; position: fixed; inset: 0; z-index: 2147483000; display: none; place-items: center; padding: 12px; font-family: 'Manrope', sans-serif; } #unaited-stepper-modal.is-open { display: grid; } #unaited-stepper-modal .modal-backdrop { position: absolute; inset: 0; background: rgba(11, 13, 19, 0.8); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); } #unaited-stepper-modal .modal-dialog { position: relative; width: min(760px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: auto; border: 3px solid var(--unaited-black); border-radius: 0; background: var(--unaited-blue); box-shadow: 10px 10px 0 var(--unaited-red-dark); overscroll-behavior: contain; } #unaited-stepper-modal .modal-header { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 18px 22px; border-bottom: 3px solid var(--unaited-black); background: var(--unaited-yellow); } #unaited-stepper-modal .modal-kicker { margin: 0 0 4px; color: var(--unaited-black); font: 800 11px/1.2 'Archivo', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; } #unaited-stepper-modal .modal-title { margin: 0; color: var(--unaited-red); font: 900 clamp(25px, 4vw, 42px)/0.98 'Archivo', sans-serif; letter-spacing: -0.035em; text-transform: uppercase; } #unaited-stepper-modal .modal-close { width: 46px; height: 46px; padding: 0; border: 3px solid var(--unaited-black); border-radius: 0; background: var(--unaited-red); color: #ffffff; font: 700 29px/1 'Archivo', sans-serif; cursor: pointer; } #unaited-stepper-modal .stepper-form { padding: 20px 22px 22px; } #unaited-stepper-modal .progress-meta { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 8px; color: var(--unaited-black); font: 800 12px/1.2 'Archivo', sans-serif; text-transform: uppercase; } #unaited-stepper-modal .progress-track { height: 14px; margin-bottom: 18px; overflow: hidden; border: 2px solid var(--unaited-black); background: #ffffff; } #unaited-stepper-modal .progress-bar { width: 10%; height: 100%; background: var(--unaited-red); transition: width 180ms ease; } #unaited-stepper-modal .step-card { display: flex; height: 350px; min-height: 350px; min-inline-size: 0; flex-direction: column; justify-content: center; margin: 0; padding: clamp(22px, 4vw, 38px); overflow-y: hidden; border: 3px solid var(--unaited-black); background: var(--unaited-paper); } #unaited-stepper-modal .step-card[hidden], #unaited-stepper-modal .success-screen[hidden], #unaited-stepper-modal .progress-meta[hidden], #unaited-stepper-modal .progress-track[hidden], #unaited-stepper-modal .stepper-footer[hidden] { display: none !important; } #unaited-stepper-modal .step-eyebrow { margin: 0 0 10px; color: var(--unaited-red); font: 800 12px/1.25 'Archivo', sans-serif; letter-spacing: 0.08em; text-transform: uppercase; } #unaited-stepper-modal .step-question { display: block; max-width: 650px; margin: 0 0 22px; padding: 0; color: var(--unaited-black); font: 800 clamp(23px, 4vw, 35px)/1.08 'Archivo', sans-serif; letter-spacing: -0.025em; } #unaited-stepper-modal .step-hint { margin: -12px 0 20px; color: #4b5563; font-size: 13px; font-weight: 600; } #unaited-stepper-modal .name-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } #unaited-stepper-modal .field-group { min-width: 0; } #unaited-stepper-modal .field-label { display: block; margin-bottom: 7px; color: var(--unaited-red); font: 800 12px/1.25 'Archivo', sans-serif; letter-spacing: 0.06em; text-transform: uppercase; } #unaited-stepper-modal .text-control { width: 100%; min-height: 58px; padding: 13px 15px; border: 3px solid var(--unaited-black); border-radius: 0; outline: none; background: #ffffff; color: var(--unaited-black); font: 700 17px/1.25 'Manrope', sans-serif; } #unaited-stepper-modal .text-control:focus, #unaited-stepper-modal .modal-close:focus-visible, #unaited-stepper-modal .nav-button:focus-visible, #unaited-stepper-modal .fallback-link:focus-visible, #unaited-stepper-modal .terms-open:focus-visible, #unaited-stepper-modal .terms-close:focus-visible, #unaited-stepper-modal .terms-accept:focus-visible { outline: none; box-shadow: 5px 5px 0 var(--unaited-purple); } #unaited-stepper-modal .option-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } #unaited-stepper-modal .option-label { position: relative; display: block; min-width: 0; cursor: pointer; } #unaited-stepper-modal .option-label input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; } #unaited-stepper-modal .option-copy { display: flex; min-height: 56px; align-items: center; padding: 11px 13px; border: 2px solid var(--unaited-black); background: #ffffff; color: var(--unaited-black); font-size: 13px; font-weight: 700; line-height: 1.3; } #unaited-stepper-modal .option-label:hover .option-copy { background: #fff4b8; } #unaited-stepper-modal .option-label input:checked + .option-copy { background: var(--unaited-yellow); box-shadow: 4px 4px 0 var(--unaited-red); } #unaited-stepper-modal .option-label input:focus-visible + .option-copy { box-shadow: 4px 4px 0 var(--unaited-purple); } #unaited-stepper-modal .consent-card { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; padding: 16px; border: 3px solid var(--unaited-black); background: #ffffff; color: var(--unaited-black); font-size: 14px; font-weight: 650; line-height: 1.45; } #unaited-stepper-modal .consent-card input { width: 22px; height: 22px; margin: 0; accent-color: var(--unaited-red); } #unaited-stepper-modal .consent-card a, #unaited-stepper-modal .terms-open { color: var(--unaited-purple); font-weight: 800; text-underline-offset: 2px; } #unaited-stepper-modal .consent-card label { cursor: pointer; } #unaited-stepper-modal .terms-open { display: inline; margin: 0; padding: 0; border: 0; background: transparent; font: inherit; text-decoration: underline; cursor: pointer; } #unaited-stepper-modal .success-screen { display: flex; height: 350px; min-height: 350px; flex-direction: column; align-items: center; justify-content: center; padding: clamp(30px, 6vw, 64px); border: 3px solid var(--unaited-black); background: var(--unaited-paper); color: var(--unaited-black); text-align: center; } #unaited-stepper-modal .success-eyebrow { margin: 0 0 14px; color: var(--unaited-red); font: 800 13px/1.2 'Archivo', sans-serif; letter-spacing: 0.1em; text-transform: uppercase; } #unaited-stepper-modal .success-title { margin: 0; color: var(--unaited-red); font: 900 clamp(46px, 8vw, 74px)/0.95 'Archivo', sans-serif; letter-spacing: -0.045em; text-transform: uppercase; } #unaited-stepper-modal .success-title:focus { outline: none; } #unaited-stepper-modal .success-copy { max-width: 520px; margin: 18px 0 26px; font-size: 17px; font-weight: 700; line-height: 1.45; } #unaited-terms-modal { position: absolute; inset: 0; z-index: 5; display: none; place-items: center; padding: 20px; background: rgba(11, 13, 19, 0.8); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); } #unaited-terms-modal.is-open { display: grid; } #unaited-terms-modal .terms-backdrop { position: absolute; inset: 0; } #unaited-terms-modal .terms-dialog { position: relative; width: min(620px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); overflow-y: auto; border: 3px solid var(--unaited-black); border-radius: 0; background: var(--unaited-blue); color: var(--unaited-black); box-shadow: 10px 10px 0 var(--unaited-red-dark); font-family: 'Manrope', sans-serif; overscroll-behavior: contain; } #unaited-terms-modal .terms-dialog:focus { outline: none; } #unaited-terms-modal .terms-header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 16px 18px; border-bottom: 3px solid var(--unaited-black); background: var(--unaited-yellow); } #unaited-terms-modal .terms-heading { display: flex; min-width: 0; align-items: center; gap: 12px; } #unaited-terms-modal .terms-icon { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; border: 3px solid var(--unaited-black); border-radius: 0; background: var(--unaited-paper); color: var(--unaited-red); } #unaited-terms-modal .terms-icon svg { width: 25px; height: 25px; } #unaited-terms-modal .terms-close { display: grid; width: 46px; height: 46px; place-items: center; padding: 0; border: 3px solid var(--unaited-black); border-radius: 0; background: var(--unaited-red); color: #ffffff; cursor: pointer; } #unaited-terms-modal .terms-close svg { width: 20px; height: 20px; } #unaited-terms-modal .terms-title { margin: 0; color: var(--unaited-red); font: 900 clamp(22px, 4vw, 31px)/1 'Archivo', sans-serif; letter-spacing: -0.025em; text-transform: uppercase; } #unaited-terms-modal .terms-body { padding: 18px; } #unaited-terms-modal .terms-content { padding: 20px; border: 3px solid var(--unaited-black); background: var(--unaited-paper); } #unaited-terms-modal .terms-copy { margin: 0; color: var(--unaited-black); font-size: 14px; font-weight: 600; line-height: 1.5; } #unaited-terms-modal .terms-note { margin: 16px 0 0; padding-top: 14px; border-top: 2px solid var(--unaited-black); color: #4b5563; font-size: 12px; font-weight: 600; line-height: 1.45; } #unaited-terms-modal .terms-accept { width: 100%; min-height: 48px; margin-top: 14px; padding: 12px 18px; border: 3px solid var(--unaited-black); border-radius: 0; background: var(--unaited-yellow); color: var(--unaited-black); font: 800 14px/1.15 Arial, Helvetica, sans-serif; text-transform: uppercase; cursor: pointer; } #unaited-terms-modal .terms-close:focus-visible, #unaited-terms-modal .terms-accept:focus-visible { outline: none; box-shadow: 5px 5px 0 var(--unaited-purple); } #unaited-stepper-modal .stepper-footer { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; margin-top: 16px; } #unaited-stepper-modal .form-feedback { display: grid; gap: 4px; justify-items: center; min-width: 0; } #unaited-stepper-modal .form-status { min-height: 20px; margin: 0; font-size: 12px; font-weight: 700; line-height: 1.35; text-align: center; } #unaited-stepper-modal .form-status.is-error { color: #7f1d1d; } #unaited-stepper-modal .form-status.is-success { color: #14532d; } #unaited-stepper-modal .fallback-link { color: #4c1fa3; font: 800 12px/1.35 'Archivo', sans-serif; text-align: center; text-underline-offset: 2px; } #unaited-stepper-modal .nav-button { min-height: 48px; padding: 11px 19px; border: 3px solid var(--unaited-black); border-radius: 0; background: #ffffff; color: var(--unaited-black); font: 800 14px/1.15 Arial, Helvetica, sans-serif; text-transform: uppercase; cursor: pointer; } #unaited-stepper-modal .nav-button-primary { background: var(--unaited-yellow); } #unaited-stepper-modal .nav-button.success-close { min-width: 190px; background: var(--unaited-yellow); } #unaited-stepper-modal .nav-button-submit { background: var(--unaited-red); color: #ffffff; } #unaited-stepper-modal .nav-button:disabled { cursor: not-allowed; opacity: 0.45; } #unaited-stepper-modal .unaited-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; } @media (max-width: 640px) { #unaited-stepper-modal { padding: 0; } #unaited-stepper-modal .modal-dialog { width: 100%; min-height: 100dvh; max-height: 100dvh; border: 0; box-shadow: none; } #unaited-stepper-modal .modal-header { position: sticky; top: 0; z-index: 2; padding: 14px 16px; } #unaited-stepper-modal .stepper-form { padding: 16px; } #unaited-stepper-modal .step-card { height: 430px; min-height: 430px; max-height: 430px; overflow-y: auto; padding: 22px 18px; } #unaited-stepper-modal .name-fields { grid-template-columns: 1fr; } #unaited-stepper-modal .option-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } #unaited-stepper-modal .option-copy { min-height: 64px; padding: 10px; font-size: 12px; } #unaited-stepper-modal .success-screen { height: 430px; min-height: 430px; padding: 30px 22px; } #unaited-stepper-modal .success-title { font-size: clamp(42px, 15vw, 60px); } #unaited-terms-modal { padding: 0; } #unaited-terms-modal .terms-dialog { width: 100%; max-height: 100dvh; border: 0; box-shadow: none; } #unaited-terms-modal .terms-header { position: sticky; top: 0; z-index: 1; padding: 14px 16px; } #unaited-terms-modal .terms-heading { gap: 9px; } #unaited-terms-modal .terms-icon { width: 40px; height: 40px; } #unaited-terms-modal .terms-title { font-size: clamp(19px, 6.2vw, 25px); } #unaited-terms-modal .terms-body { padding: 16px; } #unaited-terms-modal .terms-content { padding: 17px; } #unaited-stepper-modal .stepper-footer { grid-template-columns: 1fr 1fr; } #unaited-stepper-modal .form-feedback { grid-column: 1 / -1; grid-row: 1; } } @media (prefers-reduced-motion: no-preference) { #unaited-stepper-modal.is-open .modal-dialog { animation: unaited-modal-enter 160ms ease-out; } #unaited-stepper-modal .step-card:not([hidden]) { animation: unaited-step-enter 150ms ease-out; } @keyframes unaited-modal-enter { from { opacity: 0; transform: translateY(12px) scale(0.985); } to { opacity: 1; transform: translateY(0) scale(1); } } @keyframes unaited-step-enter { from { opacity: 0; transform: translateX(10px); } to { opacity: 1; transform: translateX(0); } } } </style> <div id="unaited-stepper-modal" aria-hidden="true"> <div class="modal-backdrop" data-stepper-close></div> <section class="modal-dialog" role="dialog" aria-modal="true" aria-labelledby="stepper-modal-title" aria-describedby="stepper-modal-description" > <header class="modal-header"> <div> <p id="stepper-modal-description" class="modal-kicker">28 sierpnia 2026 · online · bezpłatnie</p> <h2 id="stepper-modal-title" class="modal-title">Dołącz do hackathonu</h2> </div> <button class="modal-close" type="button" aria-label="Zamknij formularz" data-stepper-close>×</button> </header> <form id="unaited-stepper-form" class="stepper-form" novalidate> <input type="hidden" name="event_id" value="evt-6kxQIOXAvuOAfxB"> <input type="hidden" name="ticket_type_id" value="ttype-TNyEkB16m91OTC2"> <div class="unaited-honeypot" aria-hidden="true"> <label for="stepper-website">Nie wypełniaj tego pola</label> <input id="stepper-website" name="website" type="text" tabindex="-1" autocomplete="off"> </div> <div id="stepper-progress-meta" class="progress-meta" aria-live="polite"> <span id="stepper-progress-label">Krok 1 z 10</span> <span id="stepper-progress-percent">10%</span> </div> <div id="stepper-progress-track" class="progress-track" role="progressbar" aria-label="Postęp formularza" aria-valuemin="1" aria-valuemax="10" aria-valuenow="1" > <div id="stepper-progress-bar" class="progress-bar"></div> </div> <div class="step-card" data-step> <p class="step-eyebrow">Poznajmy się</p> <p id="stepper-name-question" class="step-question">Jak masz na imię i nazwisko?&nbsp;*</p> <div class="name-fields" role="group" aria-labelledby="stepper-name-question"> <div class="field-group"> <label class="field-label" for="stepper-first-name">Imię&nbsp;*</label> <input class="text-control" id="stepper-first-name" name="first_name" type="text" autocomplete="given-name" placeholder="Jan" required> </div> <div class="field-group"> <label class="field-label" for="stepper-last-name">Nazwisko&nbsp;*</label> <input class="text-control" id="stepper-last-name" name="last_name" type="text" autocomplete="family-name" placeholder="Kowalski" required> </div> </div> </div> <div class="step-card" data-step hidden> <p class="step-eyebrow">Kontakt</p> <label class="step-question" for="stepper-email">Jaki jest Twój adres e-mail?&nbsp;*</label> <input class="text-control" id="stepper-email" name="email" type="email" autocomplete="email" placeholder="jan@firma.pl" required> </div> <div class="step-card" data-step hidden> <p class="step-eyebrow">Kontakt · opcjonalne</p> <label class="step-question" for="stepper-phone">Jaki jest Twój numer telefonu?</label> <p class="step-hint">Możesz pominąć ten krok.</p> <input class="text-control" id="stepper-phone" name="phone" type="tel" autocomplete="tel" placeholder="+48 512 345 678"> </div> <div class="step-card" data-step hidden> <p class="step-eyebrow">Profil · opcjonalne</p> <label class="step-question" for="stepper-linkedin">Podaj adres swojego profilu LinkedIn</label> <p class="step-hint">Możesz pominąć ten krok.</p> <input class="text-control" id="stepper-linkedin" name="linkedin" type="url" inputmode="url" placeholder="https://linkedin.com/in/..."> </div> <div class="step-card" data-step data-auto-advance role="group" aria-labelledby="stepper-occupation-question" hidden > <p class="step-eyebrow">Twoja specjalizacja</p> <p id="stepper-occupation-question" class="step-question">Czym zajmujesz się na co dzień?&nbsp;*</p> <div class="option-list"> <label class="option-label"><input type="radio" name="occupation" value="Development" required><span class="option-copy">Development</span></label> <label class="option-label"><input type="radio" name="occupation" value="Management" required><span class="option-copy">Management</span></label> <label class="option-label"><input type="radio" name="occupation" value="Sprzedaż" required><span class="option-copy">Sprzedaż</span></label> <label class="option-label"><input type="radio" name="occupation" value="Marketing" required><span class="option-copy">Marketing</span></label> <label class="option-label"><input type="radio" name="occupation" value="Produkt" required><span class="option-copy">Produkt</span></label> <label class="option-label"><input type="radio" name="occupation" value="Inne" required><span class="option-copy">Inne</span></label> </div> </div> <div class="step-card" data-step data-auto-advance role="group" aria-labelledby="stepper-project-question" hidden > <p class="step-eyebrow">Twój projekt</p> <p id="stepper-project-question" class="step-question">Czy masz już projekt na hackathon?&nbsp;*</p> <div class="option-list"> <label class="option-label"><input type="radio" name="project_status" value="Tak, zbuduję coś dla zajawki" required><span class="option-copy">Tak, zbuduję coś dla zajawki</span></label> <label class="option-label"><input type="radio" name="project_status" value="Tak, zbuduję projekt dla firmy" required><span class="option-copy">Tak, zbuduję projekt dla firmy</span></label> <label class="option-label"><input type="radio" name="project_status" value="Nie, chcę wybrać challenge dla firmy lub fundacji" required><span class="option-copy">Nie, chcę wybrać challenge dla firmy lub fundacji</span></label> </div> </div> <div class="step-card" data-step data-auto-advance role="group" aria-labelledby="stepper-team-question" hidden > <p class="step-eyebrow">Twój zespół</p> <p id="stepper-team-question" class="step-question">Czy masz zespół na hackathon?&nbsp;*</p> <div class="option-list"> <label class="option-label"><input type="radio" name="team_status" value="Nie, chcę skorzystać z matchmakingu" required><span class="option-copy">Nie, chcę skorzystać z matchmakingu</span></label> <label class="option-label"><input type="radio" name="team_status" value="Tak, tworzę drużynę ze znajomymi" required><span class="option-copy">Tak, tworzę drużynę ze znajomymi</span></label> <label class="option-label"><input type="radio" name="team_status" value="Tak, bierzemy udział firmowo" required><span class="option-copy">Tak, bierzemy udział firmowo</span></label> </div> </div> <div class="step-card" data-step data-auto-advance role="group" aria-labelledby="stepper-merch-question" hidden > <p class="step-eyebrow">Merch · opcjonalne</p> <p id="stepper-merch-question" class="step-question">Czy interesuje Cię limitowany merch BRAVE UnAIted?</p> <div class="option-list"> <label class="option-label"><input type="radio" name="merch_interest" value="Tak"><span class="option-copy">Tak</span></label> <label class="option-label"><input type="radio" name="merch_interest" value="Nie"><span class="option-copy">Nie</span></label> </div> </div> <div class="step-card" data-step hidden> <p class="step-eyebrow">Zgody</p> <p class="step-question">Zaakceptuj regulamin wydarzenia&nbsp;*</p> <div class="consent-card"> <input id="stepper-event-terms" name="event_terms" type="checkbox" value="accepted" required> <span> <label for="stepper-event-terms">Akceptuję </label> <button class="terms-open" type="button" data-terms-open>regulamin wydarzenia</button>. </span> </div> </div> <div class="step-card" data-step hidden> <p class="step-eyebrow">Ostatni krok</p> <p class="step-question">Potwierdź politykę prywatności i newsletter&nbsp;*</p> <label class="consent-card"> <input name="privacy_and_newsletter" type="checkbox" value="accepted" required> <span> Akceptuję <a href="https://verybrave.link/p-policy" target="_blank" rel="noopener noreferrer">Politykę Prywatności</a> i wyrażam zgodę na dołączenie do newslettera BRAVE Education sp. z o.o. W każdej chwili mogę się wypisać lub zmienić swoje dane. </span> </label> </div> <section id="stepper-success-screen" class="success-screen" role="region" aria-labelledby="stepper-success-title" hidden > <p class="success-eyebrow">Zgłoszenie wysłane</p> <h3 id="stepper-success-title" class="success-title" tabindex="-1">Gotowe!</h3> <p class="success-copy"> Twoje zgłoszenie zostało wysłane.<br> Do zobaczenia 28 sierpnia! </p> <button class="nav-button success-close" type="button" data-stepper-close>Zamknij</button> </section> <footer id="stepper-footer" class="stepper-footer"> <button id="stepper-back" class="nav-button" type="button" disabled>Wstecz</button> <div class="form-feedback"> <p id="stepper-status" class="form-status" aria-live="polite"></p> <a id="stepper-fallback" class="fallback-link" href="https://luma.com/unaited" hidden> Zarejestruj się przez Luma </a> </div> <button id="stepper-next" class="nav-button nav-button-primary" type="button">Dalej</button> <button id="stepper-submit" class="nav-button nav-button-submit" type="submit" hidden>Zapisuję się</button> </footer> </form> </section> <div id="unaited-terms-modal" aria-hidden="true"> <div class="terms-backdrop" data-terms-close></div> <section class="terms-dialog" role="dialog" aria-modal="true" aria-labelledby="unaited-terms-title" aria-describedby="unaited-terms-copy" tabindex="-1" > <header class="terms-header"> <div class="terms-heading"> <div class="terms-icon" aria-hidden="true"> <svg viewBox="0 0 32 32" fill="none"> <rect x="8" y="5" width="17" height="23" rx="2" stroke="currentColor" stroke-width="2"/> <path d="M12 10h9M12 15h9M12 20h9" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> <path d="M5 9v17a2 2 0 0 0 2 2h13" stroke="currentColor" stroke-width="2" stroke-linecap="round"/> </svg> </div> <h3 id="unaited-terms-title" class="terms-title">Warunki wydarzenia</h3> </div> <button class="terms-close" type="button" aria-label="Zamknij warunki wydarzenia" data-terms-close> <svg viewBox="0 0 20 20" fill="none" aria-hidden="true"> <path d="m5 5 10 10M15 5 5 15" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"/> </svg> </button> </header> <div class="terms-body"> <div class="terms-content"> <p id="unaited-terms-copy" class="terms-copy"> Przystąpienie do udziału w Imprezie oznacza wyrażenie przez Uczestników zgody na przetwarzanie danych osobowych przez Organizatora zgodnie z rozporządzeniem RODO. Organizator zastrzega sobie prawo do utrwalania przebiegu Imprezy w formie zapisu fotograficznego, filmowego oraz dźwiękowego w celach dokumentacyjnych, edukacyjnych i promocyjno-marketingowych, co obejmować może zarówno wizerunek jak i zachowania uczestników. Impreza może być transmitowana na żywo. Udział w Imprezie oznacza również wyrażenie zgody na nieodpłatne utrwalenie i opublikowanie swojego wizerunku w mediach wewnętrznych Organizatora oraz w mediach zewnętrznych w wyżej wskazanym zakresie. </p> <p class="terms-note"> Te warunki są określone przez hosta wydarzenia. W razie pytań skontaktuj się z hostem wydarzenia. </p> </div> <button class="terms-accept" type="button" data-terms-accept>Zaakceptuj warunki</button> </div> </section> </div> </div> <script id="unaited-stepper-script"> (function () { if (window.__unaitedStepperInitialized) return; const REGISTRATION_ENDPOINT = 'https://hook.eu1.make.com/5179h2r4a1742lnvx8hdcg3t4u0ek9h5'; const LUMA_FALLBACK_URL = 'https://luma.com/unaited'; const modal = document.getElementById('unaited-stepper-modal'); const modalDialog = modal ? modal.querySelector('.modal-dialog') : null; const form = document.getElementById('unaited-stepper-form'); const steps = form ? Array.from(form.querySelectorAll('[data-step]')) : []; const backButton = document.getElementById('stepper-back'); const nextButton = document.getElementById('stepper-next'); const submitButton = document.getElementById('stepper-submit'); const footer = document.getElementById('stepper-footer'); const progressMeta = document.getElementById('stepper-progress-meta'); const progressLabel = document.getElementById('stepper-progress-label'); const progressPercent = document.getElementById('stepper-progress-percent'); const progressTrack = document.getElementById('stepper-progress-track'); const progressBar = document.getElementById('stepper-progress-bar'); const status = document.getElementById('stepper-status'); const fallbackLink = document.getElementById('stepper-fallback'); const successScreen = document.getElementById('stepper-success-screen'); const successTitle = document.getElementById('stepper-success-title'); const termsModal = document.getElementById('unaited-terms-modal'); const termsDialog = termsModal ? termsModal.querySelector('.terms-dialog') : null; const termsOpenButton = modal ? modal.querySelector('[data-terms-open]') : null; const termsAcceptButton = modal ? modal.querySelector('[data-terms-accept]') : null; const eventTermsCheckbox = document.getElementById('stepper-event-terms'); let currentStep = 0; let currentSource = 'unaited.pl'; let previouslyFocusedElement = null; let termsPreviouslyFocusedElement = null; let submissionSucceeded = false; if ( !modal || !modalDialog || !form || !steps.length || !backButton || !nextButton || !submitButton || !footer || !progressMeta || !progressLabel || !progressPercent || !progressTrack || !progressBar || !status || !fallbackLink || !successScreen || !successTitle || !termsModal || !termsDialog || !termsOpenButton || !termsAcceptButton || !eventTermsCheckbox ) { return; } window.__unaitedStepperInitialized = true; function setStatus(message, type, showFallback) { status.textContent = message || ''; status.classList.remove('is-error', 'is-success'); fallbackLink.hidden = !showFallback; if (type) status.classList.add(type === 'success' ? 'is-success' : 'is-error'); } function focusCurrentStep() { const control = steps[currentStep].querySelector( 'input:not([type="hidden"]), select, textarea, button' ); if (control) control.focus(); } function renderStep(index, shouldFocus) { currentStep = Math.max(0, Math.min(index, steps.length - 1)); successScreen.hidden = true; progressMeta.hidden = false; progressTrack.hidden = false; footer.hidden = false; steps.forEach(function (step, stepIndex) { step.hidden = stepIndex !== currentStep; }); const percent = Math.round(((currentStep + 1) / steps.length) * 100); progressLabel.textContent = 'Krok ' + (currentStep + 1) + ' z ' + steps.length; progressPercent.textContent = percent + '%'; progressTrack.setAttribute('aria-valuenow', String(currentStep + 1)); progressBar.style.width = percent + '%'; backButton.disabled = currentStep === 0; nextButton.hidden = currentStep === steps.length - 1; submitButton.hidden = currentStep !== steps.length - 1; setStatus(''); if (shouldFocus) { window.requestAnimationFrame(focusCurrentStep); } } function showSuccessScreen() { submissionSucceeded = true; form.reset(); steps.forEach(function (step) { step.hidden = true; }); progressMeta.hidden = true; progressTrack.hidden = true; footer.hidden = true; successScreen.hidden = false; window.requestAnimationFrame(function () { successTitle.focus(); }); } function resetAfterSuccess() { if (!submissionSucceeded) return; form.reset(); submissionSucceeded = false; submitButton.disabled = false; submitButton.textContent = 'Zapisuję się'; renderStep(0, false); } function openTermsModal(trigger) { termsPreviouslyFocusedElement = trigger || document.activeElement; termsModal.classList.add('is-open'); termsModal.setAttribute('aria-hidden', 'false'); modalDialog.setAttribute('aria-hidden', 'true'); window.requestAnimationFrame(function () { termsDialog.focus(); }); } function closeTermsModal(acceptTerms, restoreFocus) { if (acceptTerms) { eventTermsCheckbox.checked = true; eventTermsCheckbox.setCustomValidity(''); } termsModal.classList.remove('is-open'); termsModal.setAttribute('aria-hidden', 'true'); modalDialog.removeAttribute('aria-hidden'); if (restoreFocus !== false) { const focusTarget = acceptTerms ? eventTermsCheckbox : termsPreviouslyFocusedElement; if (focusTarget && focusTarget.focus) focusTarget.focus(); } } function clearControlValidation(control) { if (!control || !control.setCustomValidity) return; if (control.type === 'radio' && control.name) { Array.from(form.elements).forEach(function (formControl) { if (formControl.type === 'radio' && formControl.name === control.name) { formControl.setCustomValidity(''); } }); return; } control.setCustomValidity(''); } function setPolishValidationMessage(control) { clearControlValidation(control); if (control.validity.valid) return; let message = 'Sprawdź poprawność tego pola.'; if (control.validity.valueMissing) { if (control.name === 'first_name') { message = 'Wpisz imię.'; } else if (control.name === 'last_name') { message = 'Wpisz nazwisko.'; } else if (control.name === 'email') { message = 'Wpisz adres e-mail.'; } else if (control.name === 'event_terms') { message = 'Zaakceptuj regulamin wydarzenia, aby przejść dalej.'; } else if (control.name === 'privacy_and_newsletter') { message = 'Zaakceptuj politykę prywatności i zgodę newsletterową, aby wysłać zgłoszenie.'; } else if (control.type === 'radio') { message = 'Wybierz jedną z odpowiedzi.'; } else { message = 'Uzupełnij to pole.'; } } else if (control.validity.typeMismatch && control.type === 'email') { message = 'Wpisz poprawny adres e-mail.'; } else if (control.validity.typeMismatch && control.type === 'url') { message = 'Wpisz poprawny adres URL, zaczynający się od https://.'; } control.setCustomValidity(message); } function validateCurrentStep() { const controls = Array.from( steps[currentStep].querySelectorAll('input:not([type="hidden"]), select, textarea') ); for (const control of controls) { setPolishValidationMessage(control); if (!control.checkValidity()) { control.reportValidity(); return false; } } return true; } function goNext() { if (!validateCurrentStep()) return; if (currentStep < steps.length - 1) renderStep(currentStep + 1, true); } function openModal(trigger) { resetAfterSuccess(); currentSource = trigger.getAttribute('data-unaited-source') || 'unaited.pl'; previouslyFocusedElement = trigger || document.activeElement; modal.classList.add('is-open'); modal.setAttribute('aria-hidden', 'false'); document.body.classList.add('unaited-modal-lock'); renderStep(currentStep, true); } function closeModal() { if (termsModal.classList.contains('is-open')) { closeTermsModal(false, false); } modal.classList.remove('is-open'); modal.setAttribute('aria-hidden', 'true'); document.body.classList.remove('unaited-modal-lock'); if (previouslyFocusedElement && previouslyFocusedElement.focus) { previouslyFocusedElement.focus(); } } function trapFocus(event) { if (event.key !== 'Tab' || !modal.classList.contains('is-open')) return; const focusScope = termsModal.classList.contains('is-open') ? termsModal : modalDialog; const focusableElements = Array.from( focusScope.querySelectorAll( 'a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]):not([tabindex="-1"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])' ) ).filter(function (element) { return element.offsetParent !== null; }); if (!focusableElements.length) return; const first = focusableElements[0]; const last = focusableElements[focusableElements.length - 1]; if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); } else if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first.focus(); } } document.addEventListener('click', function (event) { const trigger = event.target.closest('[data-unaited-stepper-register]'); const closeControl = event.target.closest('[data-stepper-close]'); const termsOpenControl = event.target.closest('[data-terms-open]'); const termsCloseControl = event.target.closest('[data-terms-close]'); const termsAcceptControl = event.target.closest('[data-terms-accept]'); if (termsAcceptControl) { event.preventDefault(); closeTermsModal(true); } else if (termsOpenControl) { event.preventDefault(); openTermsModal(termsOpenControl); } else if (termsCloseControl) { event.preventDefault(); closeTermsModal(false); } else if (trigger) { event.preventDefault(); openModal(trigger); } else if (closeControl && modal.classList.contains('is-open')) { closeModal(); } }); backButton.addEventListener('click', function () { if (currentStep > 0) renderStep(currentStep - 1, true); }); nextButton.addEventListener('click', goNext); form.addEventListener('input', function (event) { clearControlValidation(event.target); }); form.addEventListener('change', function (event) { clearControlValidation(event.target); const current = steps[currentStep]; if ( current.hasAttribute('data-auto-advance') && event.target.matches('input[type="radio"]') && currentStep < steps.length - 1 ) { window.setTimeout(goNext, 180); } }); form.addEventListener('keydown', function (event) { if (event.key !== 'Enter' || event.shiftKey || currentStep === steps.length - 1) return; if (event.target.matches('input[type="radio"], input[type="checkbox"]')) return; event.preventDefault(); if (event.target.name === 'first_name') { document.getElementById('stepper-last-name').focus(); return; } goNext(); }); document.addEventListener('keydown', function (event) { trapFocus(event); if (event.key === 'Escape' && modal.classList.contains('is-open')) { event.preventDefault(); if (termsModal.classList.contains('is-open')) { closeTermsModal(false); } else { closeModal(); } } }); form.addEventListener('submit', async function (event) { event.preventDefault(); setStatus(''); if (!validateCurrentStep()) return; const values = Object.fromEntries(new FormData(form).entries()); if (values.website) { showSuccessScreen(); return; } const normalizedEmail = values.email.trim().toLowerCase(); const firstName = values.first_name.trim(); const lastName = values.last_name.trim(); const fullName = firstName + ' ' + lastName; const payload = { event_id: values.event_id, ticket_type_id: values.ticket_type_id, first_name: firstName, last_name: lastName, name: fullName, email: normalizedEmail, phone: values.phone ? values.phone.trim() : null, linkedin: values.linkedin ? values.linkedin.trim() : null, occupation: values.occupation, project_status: values.project_status, team_status: values.team_status, merch_interest: values.merch_interest || null, event_terms: values.event_terms === 'accepted', privacy_and_newsletter: values.privacy_and_newsletter === 'accepted', registration_answers: [ { question_id: 'dftyjugv', label: 'Linkedin:', answer: values.linkedin ? values.linkedin.trim() : null }, { question_id: 'ugy1w1wo', label: 'Czym zajmujesz się na co dzień?', answer: values.occupation }, { question_id: '1scmbpwx', label: 'Czy masz już projekt na Hackathon?', answer: values.project_status }, { question_id: '5rbs1k04', label: 'Czy masz zespół na Hackathon?', answer: values.team_status }, { question_id: 'sticn0og', label: 'Czy jesteś zainteresowany/-a kupnem limitowanego merchu BRAVE UnAIted?', answer: values.merch_interest || null }, { question_id: 'c3feej96', label: 'Regulamin', answer: values.event_terms === 'accepted' }, { question_id: '31abg5f7', label: 'Polityka prywatności i newsletter', answer: values.privacy_and_newsletter === 'accepted' } ], source: currentSource, idempotency_key: values.event_id + ':' + normalizedEmail, page_url: window.location.origin + window.location.pathname, submitted_at: new Date().toISOString() }; submitButton.disabled = true; submitButton.textContent = 'Zapisuję…'; setStatus('Wysyłamy zgłoszenie…'); try { const response = await fetch(REGISTRATION_ENDPOINT, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Accept': 'application/json, text/plain, */*' }, body: JSON.stringify(payload) }); if (!response.ok) throw new Error('HTTP ' + response.status); showSuccessScreen(); } catch (error) { setStatus( 'Nie udało się wysłać zgłoszenia. Spróbuj ponownie lub skorzystaj z rejestracji awaryjnej.', 'error', true ); fallbackLink.href = LUMA_FALLBACK_URL; submitButton.disabled = false; submitButton.textContent = 'Zapisuję się'; } }); renderStep(0, false); })(); </script> </body> </html>
<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <style> html, body { margin: 0; } </style> <section id="agenda-section" style="background: #6ABFFF; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; padding: 140px 20px 100px 20px; position: relative; overflow: hidden;"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;700;800;900&family=Manrope:wght@400;500;700&family=JetBrains+Mono:wght@400;750&family=Comic+Neue:wght@400;700&family=Patrick+Hand&display=swap'); #agenda-section { box-sizing: border-box; color: #000000; } #agenda-section * { box-sizing: border-box; } #agenda-section .container { max-width: 1300px; margin: 0 auto; position: relative; z-index: 99; } /* NAGŁÓWEK BANER */ #agenda-section .header-banner { background-color: #FFD723; border: 3px solid #000000; padding: 15px 35px; transform: rotate(-2deg); max-width: 1050px; margin: 0 auto 50px auto; box-shadow: 6px 6px 0px #000000; text-align: center; position: relative; z-index: 1000; } #agenda-section .header-banner h2 { font-family: 'Archivo', sans-serif; font-size: 48px; font-weight: 900; line-height: 60px; color: #ba3340; margin: 0; text-transform: uppercase; word-wrap: break-word; } @media (max-width: 1120px) { #agenda-section .header-banner { max-width: 90%; } #agenda-section .header-banner h2 { font-size: 38px; line-height: 48px; } } @media (max-width: 768px) { #agenda-section .header-banner { padding: 12px 16px; } #agenda-section .header-banner h2 { font-size: 18px !important; line-height: 24px !important; } } /* GRID UKŁAD DWUKOLUMNOWY */ #agenda-section .content-grid { display: grid; grid-template-columns: 1fr; gap: 30px; align-items: start; } @media (min-width: 1024px) { #agenda-section .content-grid { grid-template-columns: 1.25fr 1fr; gap: 50px; } } /* LEWA STRONA: NOTATNIK / AGENDA GODZINOWA */ #agenda-section .notebook-container { position: relative; } /* PRZESUNIĘCIE DYSKIETKI MOCNO W LEWO NA DESKTOPIE --> z boku kartki */ #agenda-section .floppy-decor-omg { position: absolute; top: -195px; left: -140px; width: 363.252px; height: 360.139px; aspect-ratio: 116/115; transform: rotate(0deg); z-index: 3; /* Ponad tłem kartki */ pointer-events: none; filter: drop-shadow(5px 5px 10px rgba(0,0,0,0.25)); } /* Wyrywana kartka papieru (Biała kartka) */ #agenda-section .notebook { background-color: transparent; padding: 140px 15% 90px 65px; min-height: 980px; border-radius: 4px; z-index: 2; position: relative; } /* Dynamicznie rozciągnięte tło papieru, które nie wpływa na pozycjonowanie tekstu */ #agenda-section .notebook::before { content: ""; position: absolute; top: 0; left: 0; right: -130px; /* Rozciągnięcie tła kartki mocno w prawo pod czerwone boksy */ bottom: -110px; /* Rozciągnięcie tła kartki w dół */ background-image: url('https://app.easy.tools/files/pages/assets/2026-07-24/3-3_mrz7psui.webp'); background-size: 100% 100%; background-repeat: no-repeat; z-index: -1; pointer-events: none; } /* LISTA AGENDY Z LINARKĄ CZASU - Domyślnie na Mobile i Tablet */ #agenda-section .notebook-list { position: relative; display: flex; flex-direction: column; gap: 35px; /* Bezpieczna wartość mobilna */ padding-top: 0px; /* Bezpieczna wartość mobilna */ } /* Pionowa linia osi czasu łącząca punkty pod kwadracikami */ #agenda-section .notebook-timeline-line { position: absolute; left: 103px; top: 15px; /* Bezpieczna wartość mobilna */ bottom: 20px; width: 1px; background-color: #cacaca; z-index: 1; } /* SPECYFICZNE UTWORZENIE ODSTĘPÓW TYLKO NA DESKTOP */ @media (min-width: 1025px) { #agenda-section .notebook-timeline-line { left: 97px; top: 75px; /* Dopasowane do padding-top */ } #agenda-section .notebook-list { gap: 55px; /* Zwiększony odstęp między punktami na desktopie */ padding-top: 60px; /* Dodatkowy odstęp od góry notesu na desktopie */ } } /* POJEDYNCZY WIERSZ AGENDY */ #agenda-section .notebook-item { display: flex; flex-direction: column; position: relative; z-index: 2; } /* GÓRNA LINIA: [GODZINA] [KWADRACIK] [NAZWA AKTYWNOŚCI + TAGI] */ #agenda-section .notebook-item-header { display: flex; align-items: center; gap: 0px; margin-bottom: 8px; } /* 1. GODZINA */ #agenda-section .notebook-time { color: #000; text-align: right; font-family: "Comic Neue", cursive, sans-serif; font-size: 20px; font-style: normal; font-weight: 700; line-height: 20px; width: 75px; padding-right: 12px; flex-shrink: 0; } /* 2. KWADRACIK */ #agenda-section .checkbox-wrapper { width: 44px; display: flex; justify-content: center; align-items: center; flex-shrink: 0; } #agenda-section .notebook-checkbox { border: 2px solid #000; background: rgba(0, 0, 0, 0.13); width: 12px; height: 12px; } /* 3. NAZWA AKTYWNOŚCI */ #agenda-section .notebook-title { font-family: "Archivo", sans-serif; font-size: 24px; font-weight: 700; color: #000000; margin: 0; display: inline-flex; align-items: center; flex-wrap: wrap; gap: 12px; line-height: 1.15; padding-left: 8px; } /* DOLNA LINIA: OPIS */ #agenda-section .notebook-item-body { padding-left: 127px; } #agenda-section .notebook-desc { color: #000; font-family: "Archivo", sans-serif; font-size: 16px; font-style: normal; font-weight: 400; line-height: 19.5px; letter-spacing: 0.32px; margin: 0; } /* BADGE / ETYKIETY */ #agenda-section .badge { font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 10px; text-transform: uppercase; padding: 3px 8px; border-radius: 0px; font-weight: 400; letter-spacing: 0.9px; display: inline-block; line-height: 1.2; } #agenda-section .badge-main { background-color: transparent; color: #8c8c8c; border: 1px solid #d1d1d1; } #agenda-section .badge-ticket { background-color: transparent; color: #555555; border: 1px solid #999999; } /* PRAWA STRONA: CZERWONE KAFLI */ #agenda-section .cards-container { display: flex; flex-direction: column; gap: 15px; position: relative; z-index: 10; /* Bardzo ważne: sprawia, że kartka wchodząca w prawo chowa się POD czerwone boxy */ } #agenda-section .card-red { background: #AD1724; border: 1px solid #FFD723; border-radius: 4px; padding: 20px 25px; color: #FFFFFF; position: relative; box-shadow: none; z-index: 5; } #agenda-section .card-red::before { content: "•"; position: absolute; left: 12px; top: 18px; font-size: 1.5rem; color: #ffd000; } #agenda-section .card-title { font-family: 'Patrick Hand', cursive; font-size: 28px; font-weight: 400; color: #ffd723; margin-top: 0; margin-bottom: 8px; padding-left: 10px; } #agenda-section .card-text { font-family: 'Manrope', sans-serif; font-size: 20px; font-weight: 400; letter-spacing: 0.4px; line-height: 24px; color: #ffffff; margin: 0; padding-left: 10px; } /* NOWA DEKORACYJNA KASETA W PRAWEJ KOLUMNIE Figma (baza 1440 px): kaseta nie nachodzi na czerwony boks — jest pod nim z odstępem 67 px, dosunięta do prawej krawędzi kolumny z lekkim wcięciem. */ #agenda-section .cassette-decor-wrapper { position: relative; margin-top: 34px; /* 34 px pustego marginesu PNG = 67 px odstępu w Figmie */ margin-bottom: 0; width: 100%; display: flex; justify-content: flex-end; right: 8.1%; /* wcięcie prawej krawędzi jak w Figmie */ z-index: 1; } #agenda-section .cassette-decor-img { width: 96.2%; max-width: 535px; height: auto; display: block; filter: none; /* w Figmie kaseta nie ma cienia */ transform: none; /* obrót jest już wypalony w grafice */ } /* OFFICE HOURS */ #agenda-section .office-hours { position: relative; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(48px, 7vw, 110px); align-items: center; max-width: 1160px; /* Sekcja ma wejść pod kasetę, jak w projekcie, zamiast zaczynać się dopiero po dużym pustym pasie. */ margin: 0px auto 0; padding: 80px 0 20px; } #agenda-section .office-title { position: absolute; top: 0; left: 0; z-index: 5; display: inline-flex; flex-direction: column; align-items: flex-start; margin: 0; color: #FFD723; font-family: 'Archivo', sans-serif; font-size: clamp(34px, 4.4vw, 58px); font-weight: 900; line-height: 0.94; letter-spacing: 0.02em; text-transform: uppercase; transform: rotate(-5deg); } #agenda-section .office-title span { display: inline-block; padding: 7px 14px; background: #BA3340; } #agenda-section .office-visual { position: relative; min-height: 540px; } #agenda-section .office-phone { position: absolute; inset: 42px auto auto 105px; width: min(460px, 92%); height: auto; pointer-events: none; } #agenda-section .office-photo-frame { position: absolute; left: 26px; bottom: 18px; z-index: 2; width: min(330px, 72%); aspect-ratio: 1 / 1.12; overflow: hidden; border: 10px solid #FECC00; background: #FECC00; box-shadow: 10px 12px 22px rgba(0, 0, 0, 0.22); transform: rotate(1.5deg); } #agenda-section .office-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; } #agenda-section .office-copy { max-width: 610px; padding-top: 36px; color: #000; } #agenda-section .office-lead { margin: 0 0 30px; font-family: 'Archivo', sans-serif; font-size: clamp(27px, 3vw, 40px); font-weight: 300; line-height: 1.08; letter-spacing: 0.02em; } #agenda-section .office-lead strong { font-weight: 700; } /* Łamania linii z Figmy — tylko na desktopie, na mobile tekst łamie się naturalnie. */ #agenda-section .office-copy .lb { display: none; } #agenda-section .office-detail { max-width: 580px; margin: 0; font-family: 'Archivo', sans-serif; font-size: clamp(16px, 1.55vw, 22px); font-weight: 300; line-height: 1.15; letter-spacing: 0.02em; } #plan-dnia { background-color: #6ABFFF; } @media (max-width: 1024px) { #agenda-section .notebook::before { right: 0; /* Reset na tabletach/mobile, by nie wyjeżdżało poza ekran */ bottom: 0; } #agenda-section .notebook { padding: 100px 8% 60px 40px; min-height: 680px; } #agenda-section .notebook-timeline-line { left: 81px; } #agenda-section .notebook-time { width: 65px; padding-right: 8px; font-size: 18px; } #agenda-section .checkbox-wrapper { width: 32px; } #agenda-section .notebook-item-body { padding-left: 105px; } #agenda-section .notebook-title { font-size: 20px; } /* PRZESUNIĘCIE BARIERY NA TABLETACH */ #agenda-section .floppy-decor-omg { width: 270px; height: 257px; top: -140px; left: -30px; } #agenda-section .cassette-decor-wrapper { left: 0; width: 100%; margin-top: 15px; margin-bottom: 0px; } #agenda-section .cassette-decor-img { margin: 0 auto; transform: none; } #agenda-section .office-hours { grid-template-columns: 1fr; gap: 12px; margin-top: 90px; padding-top: 80px; } #agenda-section .office-visual { min-height: 500px; } #agenda-section .office-copy { max-width: 720px; padding: 0 24px; } } @media (max-width: 768px) { #agenda-section { padding-top: 40px !important; padding-bottom: 50px !important; } #agenda-section .notebook { padding: 85px 25px 50px 25px; min-height: auto; } #agenda-section .notebook-timeline-line { display: none; } #agenda-section .notebook-item-header { display: flex; flex-direction: row; align-items: center; gap: 10px; margin-bottom: 6px; } #agenda-section .notebook-time { width: auto; padding-right: 0; font-size: 18px; } #agenda-section .checkbox-wrapper { width: auto; } #agenda-section .notebook-title { font-size: 18px !important; line-height: 1.25 !important; } #agenda-section .notebook-item-body { padding-left: 0; } #agenda-section .notebook-desc { font-size: 14px !important; line-height: 1.35 !important; } /* PRZYWRÓCONY MOBILNY SCHEMAT (wyśrodkowany z bezpiecznym topem) */ #agenda-section .floppy-decor-omg { position: relative; display: block; margin: 0 auto 0px auto !important; top: 0; left: 0 !important; width: 100%; max-width: 260px; height: auto; } #agenda-section .office-hours { margin-top: 48px; padding-top: 100px; } #agenda-section .office-title { left: 4px; font-size: clamp(30px, 10vw, 42px); } #agenda-section .office-visual { min-height: 390px; } #agenda-section .office-phone { top: 18px; left: 15%; width: 82%; } #agenda-section .office-photo-frame { left: 0; bottom: 4px; width: 62%; border-width: 7px; } #agenda-section .office-copy { padding: 10px 0 0; } #agenda-section .office-lead { font-size: clamp(25px, 8vw, 34px); } #agenda-section .office-detail { font-size: 16px; line-height: 1.3; } } /* DESKTOP: OFFICE HOURS 1:1 Z FIGMĄ Baza pomiarowa: ramka 1440 px, kontener 1300 px, blok 1300 x 735 px. Wszystkie pozycje są procentami tego bloku, więc skalują się proporcjonalnie. */ @media (min-width: 1025px) { #agenda-section { padding-bottom: 0; /* sznur słuchawki dochodzi do dołu sekcji, jak w Figmie */ } #agenda-section .office-hours { display: block; position: relative; width: 100%; max-width: 1300px; margin: -237px auto 0; /* blok wjeżdża obok kasety, tak jak w Figmie */ padding: 0; aspect-ratio: 1300 / 735; } #agenda-section .office-title { top: 0; left: -1.31%; } #agenda-section .office-visual { position: absolute; inset: 0; min-height: 0; } /* Słuchawka: pełny kwadratowy PNG (ma szerokie przezroczyste marginesy), obrócony o -13deg i schowany POD ramką zdjęcia — dokładnie jak w Figmie. */ #agenda-section .office-phone { inset: auto; top: 7.35%; left: 8.46%; width: 55.92%; z-index: 1; transform: rotate(-13deg); } #agenda-section .office-photo-frame { top: 32.52%; left: 5.38%; bottom: auto; width: 30.69%; aspect-ratio: 399 / 370; border-width: 11px; transform: none; box-shadow: 0 6px 26px rgba(0, 0, 0, 0.28); z-index: 2; } #agenda-section .office-copy { position: absolute; top: 36.87%; left: 50.77%; width: 49.23%; max-width: none; padding: 0; } #agenda-section .office-copy .lb { display: inline; } #agenda-section .office-lead { margin: 0 0 35px; } #agenda-section .office-detail { max-width: none; } } </style> <div class="container"> <div class="header-banner"> <h2>Dostajesz ramy działania, materiały i wspólny rytm dnia.</h2> </div> <div class="content-grid"> <!-- Agenda / harmonogram na spirali/notesie --> <div class="notebook-container"> <img class="floppy-decor-omg" src="https://app.easy.tools/files/pages/assets/2026-07-24/dyskietka-1_mrz7p0g0.webp" alt="Dyskietka retro OMG"> <div class="notebook"> <div class="notebook-list"> <!-- Pionowa linia osi czasu --> <div class="notebook-timeline-line"></div> <!-- Punkt 1 --> <div class="notebook-item"> <div class="notebook-item-header"> <div class="notebook-time">09:00</div> <div class="checkbox-wrapper"> <div class="notebook-checkbox"></div> </div> <h3 class="notebook-title">Zostawiasz bieżączkę</h3> </div> <div class="notebook-item-body"> <p class="notebook-desc">Dziś tylko budujesz :)</p> </div> </div> <!-- Punkt 2 --> <div class="notebook-item"> <div class="notebook-item-header"> <div class="notebook-time">09:30</div> <div class="checkbox-wrapper"> <div class="notebook-checkbox"></div> </div> <h3 class="notebook-title"> Budowanie <span class="badge badge-main">MAIN</span> </h3> </div> <div class="notebook-item-body"> <p class="notebook-desc">Główny blok pracy. Budujesz z AI, sprawdzasz hipotezy, iterujesz. Pokoje online do synchronizacji.</p> </div> </div> <!-- Punkt 3 --> <div class="notebook-item"> <div class="notebook-item-header"> <div class="notebook-time">12:00</div> <div class="checkbox-wrapper"> <div class="notebook-checkbox"></div> </div> <h3 class="notebook-title">WF - gimnastyka dla zasiedzonych</h3> </div> <div class="notebook-item-body"> <p class="notebook-desc">Główny blok pracy. Budujesz z AI, sprawdzasz hipotezy, iterujesz. Pokoje online do synchronizacji.</p> </div> </div> <!-- Punkt 4 --> <div class="notebook-item"> <div class="notebook-item-header"> <div class="notebook-time">13:00</div> <div class="checkbox-wrapper"> <div class="notebook-checkbox"></div> </div> <h3 class="notebook-title">Checkpointy</h3> </div> <div class="notebook-item-body"> <p class="notebook-desc">Midday check-in. Gdzie jesteś, co działa, co zmienisz. Nieobowiązkowe, ale pomagają utrzymać tempo.</p> </div> </div> <!-- Punkt 5 --> <div class="notebook-item"> <div class="notebook-item-header"> <div class="notebook-time">17:00</div> <div class="checkbox-wrapper"> <div class="notebook-checkbox"></div> </div> <h3 class="notebook-title">Office hours</h3> </div> <div class="notebook-item-body"> <p class="notebook-desc">Mentorzy czekają w pokojach. Masz pytanie albo utknąłeś? Wpadasz, pytasz, wracasz do budowania.</p> </div> </div> <!-- Punkt 6 --> <div class="notebook-item"> <div class="notebook-item-header"> <div class="notebook-time">19:00+</div> <div class="checkbox-wrapper"> <div class="notebook-checkbox"></div> </div> <h3 class="notebook-title"> Dyskoteka szkolna <span class="badge badge-ticket">OSOBNE · BILETOWANE</span> </h3> </div> <div class="notebook-item-body"> <p class="notebook-desc">Osobne, opcjonalne wydarzenie biletowane. Za Starzy na Techno. Muzyka, energia, dobra zbiórka.</p> </div> </div> </div> </div> </div> <!-- Paski / Czerwone boksy po prawej --> <div class="cards-container"> <div class="card-red"> <h4 class="card-title">BRAVE AI Starter Pack</h4> <p class="card-text">Zestaw materiałów startowych: checklist, prompt pack, mapa dnia i instrukcja jak nie ugrzęznąć. Najlepsza wiedza od Herosów BRAVE</p> </div> <div class="card-red"> <h4 class="card-title">Challenge'e</h4> <p class="card-text">Ty wybierasz: pracujesz nad własnym projektem, własnym problemem firmowym albo dajemy Ci listę wyzwań od korpo i fundacji.</p> </div> <div class="card-red"> <h4 class="card-title">Matchmaking</h4> <p class="card-text">Szukasz ekipy? Połączymy Cię z zespołem dopasowanym do Twoich skilli, pomysłu albo wybranego challenge'u. Przy okazji poznasz innych builderów, którzy też chcą tego dnia coś zbudować.</p> </div> <div class="card-red"> <h4 class="card-title">Wspólna przestrzeń online</h4> <p class="card-text">Dedykowane pokoje online, check-iny i synchronizacja przez cały dzień. Dodatkowo tworzymy wspólnie BRAVE network, czyli specjalne networking&amp;chillout roomy</p> </div> <div class="card-red"> <h4 class="card-title">Usprawiedliwienie dla szefa</h4> <p class="card-text">Krótka ściąga, jak powiedzieć: „To nie jest wolne, to inwestycja dla siebie, dla zespołu i trochę dla świętego spokoju w backlogu. 28 sierpnia buduję z AI.”</p> </div> <div class="card-red"> <h4 class="card-title">Showcase &amp; konkurs</h4> <p class="card-text">Zgłoś swój prototyp na konkurs w formie filmiku lub prezentacji. Nagrodę główną wybiera jury autorów BRAVE, nagrodę publiczności przyznajecie Wy. W puli złote bilety BRAVE.</p> </div> <!-- Zdjęcie kasety pod ostatnim czerwonym boxem --> <div class="cassette-decor-wrapper"> <img class="cassette-decor-img" src="https://app.easy.tools/files/pages/assets/2026-07-24/kasetaa-1_mrz7ojnx.webp" alt="Kaseta Troska BRAVE Vol 1"> </div> </div> </div> <div class="office-hours" aria-labelledby="office-hours-title"> <h2 class="office-title" id="office-hours-title"> <span>Office hours</span> <span>z autorami</span> </h2> <div class="office-visual" aria-hidden="true"> <img class="office-phone" src="https://app.easy.tools/files/pages/assets/2026-07-24/office-phone_mrz7pxy0.webp" alt=""> <div class="office-photo-frame"> <img class="office-photo" src="https://app.easy.tools/files/pages/assets/2026-07-24/office-photo_mrz7pvvc.webp" alt=""> </div> </div> <div class="office-copy"> <p class="office-lead"> W trakcie budowania każdy zespół<br class="lb"> ma dostęp do <strong>office hours<br class="lb"> z autorami BRAVE</strong>, którzy<br class="lb"> pomogą Wam ruszyć dalej. </p> <p class="office-detail"> Wpadacie do nich na Zoom i pytacie o projekt, miejsce,<br class="lb"> w którym utknęliście albo o konkretne narzędzia.<br class="lb"> Autorzy są dostępni w wyznaczonych slotach. </p> </div> </div> </div> </section></body> </html>
<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <section id="dzialajaca-wersja"> <style> #dzialajaca-wersja { position: relative; width: 100%; max-width: 100%; min-height: 800px; background: #FFD000; margin-inline: auto; overflow: visible; /* zmienione na visible, aby grafika mogła wystawać poza sekcję */ display: flex; align-items: flex-end; padding-block: 80px 0px; padding-inline: var(--et-spacing-horizontal, 24px); box-sizing: border-box; } @media (min-width: 1024px) { #dzialajaca-wersja { padding-block: 100px 0px; padding-inline: var(--et-spacing-horizontal-lg, 80px) 0px; } } #dzialajaca-wersja .inner { position: relative; z-index: 2; width: 100%; height: 100%; display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; } #dzialajaca-wersja .left-side { position: relative; flex: 1; display: flex; flex-direction: column; z-index: 5; padding-bottom: 40px; } #dzialajaca-wersja .text-side { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 60px; transform: rotate(-3deg); transform-origin: left top; } /* Ukrycie wersji desktopowej/tabletowej na urządzeniach mobilnych */ @media (max-width: 639px) { #dzialajaca-wersja .text-side-desktop { display: none !important; } } /* Wersja mobilna domyślnie ukryta, widoczna tylko na mobile */ #dzialajaca-wersja .text-side-mobile { display: none; flex-direction: column; align-items: flex-start; margin-bottom: 40px; transform: rotate(-3deg); transform-origin: left top; gap: 0px; /* usunięcie wbudowanych przerw */ } @media (max-width: 639px) { #dzialajaca-wersja .text-side-mobile { display: flex !important; } } /* Klasa dodająca małą przerwę (odstęp) pomiędzy grupami boksów na mobile */ #dzialajaca-wersja .mobile-gap { margin-top: 12px; } #dzialajaca-wersja .text-box { background: #A4D8FF; display: inline-flex; align-items: center; padding: 6px 16px; box-sizing: border-box; border: none; box-shadow: none; } #dzialajaca-wersja .text-box span { color: #BA3340; font-family: 'Archivo', sans-serif; font-size: clamp(24px, 4vw, 42px); font-style: normal; font-weight: 900; line-height: 1.1; letter-spacing: 0.5px; white-space: nowrap; } /* Dopasowanie wielkości czcionki na bardzo małych ekranach mobilnych, aby boksy się nie rozjeżdżały */ @media (max-width: 480px) { #dzialajaca-wersja .text-box { padding: 4px 10px; } #dzialajaca-wersja .text-box span { font-size: 20px; } } /* Kompozycja dodatkowych grafik po lewej stronie z nowymi wymiarami */ #dzialajaca-wersja .graphics-container { position: relative; width: 100%; max-width: 800px; height: 600px; margin-top: 20px; } #dzialajaca-wersja .g-terminal { position: absolute; left: 0px; top: -70px; width: 604px; height: 412px; display: flex; justify-content: center; align-items: center; z-index: 2; filter: drop-shadow(6px 6px 0px rgba(0,0,0,0.15)); border: none; object-fit: contain; } #dzialajaca-wersja .g-main-video { position: absolute; left: 420px; bottom: 140px; width: 582px; height: 562px; z-index: 3; filter: drop-shadow(8px 8px 0px rgba(0,0,0,0.15)); border: none; object-fit: contain; } #dzialajaca-wersja .g-mood-app { position: absolute; left: 140px; bottom: 10px; width: 193.5px; height: 438.3px; aspect-ratio: 34/77; z-index: 4; filter: none; border: none; box-shadow: 8px 8px 0 #BA3340; object-fit: contain; } /* Prawy panel z wizerunkiem dziewczyny - mocniej wysunięty w dół i pod prawą krawędź */ #dzialajaca-wersja .image-side { position: absolute; right: -300px; top: -360px; bottom: 0px; /* przesunięcie na ujemną wartość, aby całkowicie zniwelować odstęp / dotknąć krawędzi */ width: 78%; max-width: 1100px; z-index: 1; pointer-events: none; } #dzialajaca-wersja .image-side img { display: block; width: 100%; height: 100%; object-fit: cover; /* zmienione na cover z object-position: bottom aby dociągnąć na sztywno pixel do dolnego brzegu */ object-position: bottom right; } @media (max-width: 1023px) { #dzialajaca-wersja { min-height: auto; padding-bottom: 0px; padding-inline: var(--et-spacing-horizontal, 24px); overflow: hidden; } #dzialajaca-wersja .inner { flex-direction: column; align-items: stretch; } #dzialajaca-wersja .image-side { position: relative; width: 100%; max-width: 500px; height: auto; margin: 40px -24px 0 auto; top: 0; right: auto; /* reset offsetu desktopowego (-300px) — bez tego relative przesuwa grafikę o 300px w prawo poza sekcję */ bottom: 0; } #dzialajaca-wersja .image-side img { height: auto; } /* REPREZENTACJA GRAFIK NA TABLETACH */ #dzialajaca-wersja .graphics-container { margin: 20px auto 0 auto; max-width: 100%; width: 100%; height: 480px; position: relative; } #dzialajaca-wersja .g-terminal { display: block !important; width: 55% !important; height: auto !important; position: absolute !important; top: 0px !important; left: 0px !important; z-index: 2 !important; } #dzialajaca-wersja .g-main-video { width: 55% !important; height: auto !important; position: absolute !important; left: auto !important; right: 0px !important; bottom: 110px !important; z-index: 3 !important; } #dzialajaca-wersja .g-mood-app { display: block !important; width: 25% !important; height: auto !important; position: absolute !important; left: 20% !important; bottom: 0px !important; z-index: 4 !important; } } /* TYLKO NA MOBILE (< 640px) */ @media (max-width: 639px) { #dzialajaca-wersja .inner { gap: 0px !important; } #dzialajaca-wersja .left-side { padding-bottom: 0px !important; } /* LEKKIE ZMNIEJSZENIE (Z 29PX DO 25PM CO SPROWADZI TEKST W STUPROCENTOWE GRUBOŚCI RAMKI BEZ WYSTAWANIA) */ #dzialajaca-wersja .text-side-mobile .text-box { padding: 5px 12px !important; } #dzialajaca-wersja .text-side-mobile .text-box span { font-size: min(25px, 6.7vw) !important; /* Bezpieczna proporcja chroniąca przed wystawaniem */ line-height: normal !important; letter-spacing: 0.1px !important; } #dzialajaca-wersja .image-side { width: calc(100% + 48px) !important; max-width: none !important; margin-left: -24px !important; margin-right: -24px !important; margin-top: -15px !important; } /* Nowe pozycjonowanie na mobile */ #dzialajaca-wersja .graphics-container { height: 380px !important; margin-bottom: 0px !important; } /* 1. Video call - prawie na całą szerokość sekcji */ #dzialajaca-wersja .g-main-video { width: 90% !important; height: auto !important; position: absolute !important; left: 0px !important; right: auto !important; bottom: 20px !important; z-index: 3 !important; } /* 2. Terminal - zwiększony, umieszczony wyżej, pod video call'em w kaskadzie z-index (zakryty spodem) */ #dzialajaca-wersja .g-terminal { width: 85% !important; height: auto !important; position: absolute !important; top: 0px !important; left: 5% !important; z-index: 1 !important; } /* 3. Interfejs aplikacji - zwiększony, po prawej stronie, lekko nałożony (z-index: 4) na videocall */ #dzialajaca-wersja .g-mood-app { width: 32% !important; height: auto !important; position: absolute !important; left: auto !important; right: 0px !important; bottom: 0px !important; z-index: 4 !important; } } </style> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin=""> <link href="https://fonts.googleapis.com/css2?family=Archivo:wght@900&amp;display=swap" rel="stylesheet"> <div class="inner"> <div class="left-side"> <!-- WERSJA DESKTOP / TABLET (Ukrywana na mobile < 640px) --> <div class="text-side text-side-desktop"> <div class="text-box"> <span>Na koniec dnia chodzi o jedno:</span> </div> <div class="text-box"> <span>mieć pierwszą wersję</span> </div> <div class="text-box"> <span>czegoś co działa</span> </div> </div> <!-- WERSJA MOBILNA (Pokazywana tylko na mobile < 640px) --> <div class="text-side-mobile"> <div class="text-box"> <span>Na koniec dnia</span> </div> <div class="text-box"> <span>chodzi o jedno:</span> </div> <div class="text-box mobile-gap"> <span>mieć pierwszą wersję</span> </div> <div class="text-box"> <span>czegoś co działa</span> </div> </div> <!-- Trzy dodane grafiki z nowym stylowaniem dla okna terminala oraz większego wideo-call --> <div class="graphics-container"> <img class="g-terminal" src="https://app.easy.tools/files/pages/assets/2026-07-24/window_mrz7nk24.webp" alt="Terminal Window"> <img class="g-main-video" src="https://app.easy.tools/files/pages/assets/2026-07-24/frame-1410125340_mrz7oy5s.webp" alt="Video Call Interface"> <img class="g-mood-app" src="https://app.easy.tools/files/pages/assets/2026-07-24/zrzut-ekranu-2026-07-9-o-215643-1_mrz7obrx.webp" alt="Daily Presence App Interface"> </div> </div> <!-- Nowa grafika dziewczyny po prawej stronie pod spodem lewych elementów lecz dużo wyższa, dociągnięta do dołu sekcji --> <div class="image-side"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/pan-3_mrz7oeol.webp" alt="Kolorowa grafika dziewczyny retro na przezroczystym tle" loading="eager"> </div> </div> </section> </body> </html>
<section id="cta-28-sierpnia" style="background-color: #6abfff; padding: 20px 20px; position: relative; overflow: hidden; text-align: center;"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;700;900&family=Manrope:wght@400;600&family=Comic+Neue:wght@400;700&display=swap'); #cta-28-sierpnia * { box-sizing: border-box; } #cta-28-sierpnia .container { max-width: 1200px; margin: 0 auto; position: relative; display: flex; flex-direction: column; align-items: center; } /* NAGŁÓWEK "28 SIERPNIA ZBUDUJ COŚ Z AI" W STYLU OUTLINE */ #cta-28-sierpnia .heading-wrap { position: relative; margin-bottom: 24px; } #cta-28-sierpnia .main-heading { font-family: 'Archivo', sans-serif; font-size: clamp(3rem, 7.5vw, 6.5rem); font-weight: 900; text-transform: uppercase; line-height: 1.1; color: #ba3340; -webkit-text-stroke: 3px #ffffff; text-stroke: 3px #ffffff; margin: 0; letter-spacing: -1px; } /* Układ domyślny na desktop */ #cta-28-sierpnia .desktop-br { display: inline; } #cta-28-sierpnia .mobile-br { display: none; } /* OPIS POD NAGŁÓWKIEM */ #cta-28-sierpnia .description { font-family: 'Manrope', sans-serif; font-size: 1.25rem; font-weight: 500; line-height: 1.6; color: #000000; max-width: 820px; margin: 0 0 45px 0; text-align: center; } /* GRUPA PRZYCISKÓW HACKATHON / BILET */ #cta-28-sierpnia .buttons-group { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; width: 100%; max-width: 1100px; margin-bottom: 15px; } #cta-28-sierpnia .btn-cta { flex: 1; min-width: 290px; max-width: 520px; background-color: #ffd000; color: #000000; border: 3px solid #000000; border-radius: 0; font-family: 'Archivo', sans-serif; font-weight: 700; font-size: 1.35rem; text-transform: uppercase; text-decoration: none; padding: 22px 20px; text-align: center; box-shadow: none; transition: transform 0.15s ease, background-color 0.15s ease; display: inline-flex; align-items: center; justify-content: center; } #cta-28-sierpnia .btn-cta:hover { background-color: #ffd723; } /* Dopiski pod konkretnymi przyciskami */ #cta-28-sierpnia .buttons-labels-under { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; width: 100%; max-width: 1100px; margin-bottom: 45px; } #cta-28-sierpnia .label-half { flex: 1; min-width: 290px; max-width: 520px; text-align: center; display: flex; flex-direction: column; justify-content: flex-start; align-items: center; } #cta-28-sierpnia .early-bird-under-btn { font-family: 'Archivo', sans-serif; font-size: 14px; font-weight: 700; color: #7b2a33; text-transform: uppercase; letter-spacing: 0.5px; } /* TEKST POD PRZYCISKAMI */ #cta-28-sierpnia .footer-text { font-family: 'Comic Neue', 'Comic Sans MS', 'Chalkboard SE', cursive, sans-serif; font-size: 1.1rem; font-weight: 700; color: #000000; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 45px; } /* NOWY OBRAZEK ODZNAKI Z ZIELONYM KSZTAŁTEM NA DOLE */ #cta-28-sierpnia .badge-image-container { margin-top: 10px; display: flex; justify-content: center; align-items: center; } #cta-28-sierpnia .badge-full-img { max-width: 520px; width: 100%; height: auto; object-fit: contain; } /* Małe logo Brave na samym dole */ #cta-28-sierpnia .logo-footer-sub { width: 42px; height: 42px; margin-top: 30px; opacity: 0.8; } @media (max-width: 768px) { #cta-28-sierpnia .desktop-br { display: none !important; } #cta-28-sierpnia .mobile-br { display: inline !important; } #cta-28-sierpnia .main-heading { -webkit-text-stroke: 1.5px #ffffff; text-stroke: 1.5px #ffffff; letter-spacing: 0; font-size: 2.4rem !important; line-height: 1.25 !important; } #cta-28-sierpnia .description { font-size: 1rem !important; } #cta-28-sierpnia .btn-cta { font-size: 0.92rem !important; padding: 14px 12px; } #cta-28-sierpnia .buttons-labels-under { gap: 5px; margin-bottom: 30px; } #cta-28-sierpnia .label-half { min-width: 100%; margin-bottom: 15px; } #cta-28-sierpnia .footer-text { font-size: 0.88rem !important; } #cta-28-sierpnia .badge-full-img { max-width: 320px; } } </style> <div class="container"> <!-- Nagłówek CTA z białym outline rozbity odpowiednio na Mobile i Desktop --> <div class="heading-wrap"> <h2 class="main-heading"> 28 sierpnia<span class="desktop-br"><br></span><span class="mobile-br"><br></span>zbuduj<span class="mobile-br"><br></span> coś z ai. </h2> </div> <!-- Opis --> <p class="description"> Solo, z zespołem albo firmowo. Z własnym pomysłem, projektem firmowym albo challenge'em od fundacji. Bezpłatnie, konkretnie i z gotową ramą działania od BRAVE. </p> <!-- Zapisy / Dyskoteka --> <div class="buttons-group"> <a class="btn-cta" href="#hackathon-rejestracja">Zapisz się na bezpłatny hackathon</a> <a class="btn-cta" href="#dyskoteka-bilet">Kup bilet na dyskotekę</a> </div> <!-- Etykiety/Dopiski idealnie pod przyciskami --> <div class="buttons-labels-under"> <div class="label-half"> <span class="early-bird-under-btn">Zostało <span data-zrzutka="remaining_hackathon">0</span> miejsc na hackathon!</span> </div> <div class="label-half"> <span class="early-bird-under-btn">Zostało <span data-zrzutka="remaining_lowest">0</span> biletów w najniższej cenie 199 zł!</span> </div> </div> <!-- Comic Sans stopka tekstowa --> <p class="footer-text"> Bezpłatny hackathon AI · 28 sierpnia 2026 · cała Polska buduje z AI </p> <!-- Nowy podmieniony pełny obrazek odznaki za starzy na techno + brave + troska --> <div class="badge-image-container"> <img class="badge-full-img" src="/files/pages/assets/2026-07-13/odznaka_mrj4f6hc.png" alt="BRAVE / TROSKA / ZA STARZY NA TECHNO"> </div> <!-- Małe okrągłe logo Brave na samym dole --> <img class="logo-footer-sub" src="/files/pages/assets/2026-07-13/odznaka_mrj4f6hc.png" style="clip-path: inset(42% 5% 42% 5%); transform: scale(0.18);" alt="Brave logo sub"> </div> </section>
<section id="yellow-shape-section"> <style> #yellow-shape-section { position: relative; overflow: hidden; padding-top: 0px; /* Górny padding całkowicie zredukowany do 0 */ padding-bottom: 0px; /* Dolny padding całkowicie zredukowany do 0 */ padding-inline: 0px; /* Przywrócone górne fioletowe tło (#4C229E) nad żółtym paskiem, a dół niebieski (#6abfff) pod paskiem */ background: linear-gradient(to bottom, #4C229E 50%, #6abfff 50%); } @media (min-width: 1024px) { #yellow-shape-section { padding-top: 0px; /* Górny padding na desktopie całkowicie zredukowany do 0 */ padding-bottom: 0px; padding-inline: 0px; } } #yellow-shape-section .container { margin-inline: auto; max-width: 1738px; /* Zwiększona szerokość kontenera około 1.3x pierwotnego 1337px */ position: relative; z-index: 999; /* Zmieniony z-index na 999 wg prośby użytkownika */ display: flex; justify-content: center; align-items: center; padding-inline: var(--et-spacing-horizontal, 24px); } @media (min-width: 1024px) { #yellow-shape-section .container { padding-inline: var(--et-spacing-horizontal-lg, 80px); } } #yellow-shape-section .yellow-shape { position: absolute; top: 50%; left: 50%; width: 120vw; /* rozciągnięcie poza szerokość ekranu viewportu */ height: 325.202px; transform: translate(-50%, -50%) rotate(-6.25deg); background: #FFD723; border-radius: 0px; pointer-events: none; aria-hidden: true; z-index: 1; } /* USTAWIENIE RETRO KLAWIATURY - POZIOMO */ #yellow-shape-section .keyboard-element { width: 100%; max-width: 1738px; /* Pierwotne 1337px * 1.3 ≈ 1738px */ height: auto; min-height: 250px; aspect-ratio: 307/138; transform: none; /* Usunięto rotate(-1.851deg) */ background: url('/files/pages/assets/2026-07-13/i-klawiatura-8bitdo-mechanical-keyboard-c64-ed-ret00423-1_mrj4oyow.png') transparent 50% / cover no-repeat; box-shadow: none; border-radius: 0; z-index: 3; margin-bottom: 0px; /* przyklejenie do samego dołu */ } @media (max-width: 768px) { /* DODANO DODATKOWY PADDING (TOP ORAZ BOTTOM) DLA SEKCJI KLAWIATURY WYŁĄCZNIE NA MOBILE */ #yellow-shape-section { padding-top: 50px !important; /* Zwiększony górny padding na mobile */ padding-bottom: 50px !important; /* Zwiększony dolny padding na mobile */ } /* KLUCZOWA POPRAWKA MOBILNA DLA KLAWIATURY (zawieranie tła zamiast obcinania / cover) */ #yellow-shape-section .keyboard-element { min-height: 140px !important; /* Zmniejszona minimalna wysokość, aby pasowała do skali bocznej ekranu */ background-size: contain !important; /* Zamiana 'cover' na 'contain', żeby obrazek klawiatury k64 nie był obcinany z boków */ width: 100vw !important; margin-inline: -24px !important; /* Wyjście poza wewnętrzne paddingi kontenera dla maksymalnego ekranu */ } #yellow-shape-section .yellow-shape { height: 180px !important; /* Zmniejszona wysokość żółtej wstążki na mobile do skali klawiatury */ } } </style> <!-- Żółta wstęga jako tło pod spodem --> <div class="yellow-shape" role="presentation" aria-hidden="true"></div> <!-- Kontener z klawiaturą wyśrodkowaną nad żółtą wstęgą --> <div class="container"> <div class="keyboard-element" role="img" aria-label="8BitDo Retro Mechanical Keyboard"></div> </div> </section>
<section id="party-section" style="background-color: #4c1fa3; font-family: 'Manrope', sans-serif; padding: 120px 20px 0px 20px; margin-bottom: 0px; position: relative; overflow: hidden; color: #FFFFFF;"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;700;800;900&family=Manrope:wght@400;500;700&family=Comic+Neue:wght@400;700&display=swap'); #party-section * { box-sizing: border-box; } #party-section .container { max-width: 1440px; margin: 0 auto; position: relative; } /* GRID UKŁAD DWUKOLUMNOWY */ #party-section .grid { display: grid; grid-template-columns: 1fr; gap: 50px; align-items: center; } @media (min-width: 1024px) { #party-section .grid { grid-template-columns: 1.3fr 1fr; gap: 40px; } } /* LEWA STRONA - SZKOLNA DYSKOTEKA RETRO */ #party-section .visual-col { position: relative; display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start; } #party-section .visual-composition { width: 100%; max-width: 840px; position: relative; display: flex; justify-content: flex-start; margin-left: -60px; z-index: 5; } #party-section .composition-img-cut { width: 115%; height: auto; object-fit: contain; } #party-section .banners-stack { width: 100%; max-width: 843px; margin-top: -65px; margin-left: 50px; display: flex; flex-direction: column; gap: 0px; position: relative; z-index: 20; } #party-section .one-banner { display: flex; height: 72px; flex-direction: column; justify-content: center; background-color: #ffd000; border: 4px solid #000000; padding: 0 35px; box-shadow: none; } #party-section .banner-top { align-self: flex-start; transform: rotate(-2.5deg) translateX(-10px); z-index: 21; border-bottom: 2px solid #000000; } #party-section .banner-bottom { align-self: flex-start; transform: rotate(-2.5deg) translateX(30px); z-index: 20; margin-top: -6px; } #party-section .one-banner p { color: #4C229E; font-family: 'Archivo', sans-serif; font-size: 32px; font-style: normal; font-weight: 900; line-height: 111.982%; letter-spacing: 1.44px; margin: 0; text-transform: uppercase; } @media (min-width: 1300px) { #party-section .one-banner p { font-size: 38px; } } #party-section .zigzag-line { position: relative; margin-top: -120px; margin-left: -50px; width: 550px; height: auto; z-index: 3; pointer-events: none; display: block; opacity: 0.9; transform: rotate(1deg); } /* PRAWA STRONA - TEKST I PRZYCISKI */ #party-section .text-col { display: flex; flex-direction: column; align-items: flex-start; text-align: left; z-index: 5; } #party-section .pre-titles { display: flex; gap: 20px; margin-bottom: 24px; font-family: 'Comic Neue', 'Chalkboard SE', sans-serif; font-size: 0.85rem; font-weight: bold; text-transform: uppercase; letter-spacing: 2px; color: #dfd2ff; } #party-section .pre-titles span::before { content: "• "; color: #ffd000; } #party-section .main-title { font-family: 'Archivo', sans-serif; font-size: 64px; font-style: normal; font-weight: 800; line-height: 56px; color: #FFFFFF; letter-spacing: -1.28px; margin: 0 0 24px 0; text-transform: none; } #party-section .yellow-handwritten { font-family: 'Comic Neue', 'Chalkboard SE', sans-serif; color: #FECC00; font-size: 64px; font-style: normal; font-weight: 700; line-height: 44px; text-transform: none; letter-spacing: 0; display: block; margin-top: 15px; } #party-section .p-desc { font-family: 'Archivo', sans-serif; font-size: 16px; font-style: normal; font-weight: 400; line-height: 22.75px; letter-spacing: 0.32px; color: #FFFFFF; margin: 0 0 32px 0; max-width: 580px; } #party-section .bullet-row { display: flex; flex-wrap: wrap; gap: 30px; font-family: 'Manrope', sans-serif; font-weight: 700; font-size: 1.1rem; margin-bottom: 40px; color: #ffffff; } #party-section .bullet-item { display: flex; align-items: center; gap: 10px; } #party-section .bullet-icon-music { color: #ffd000; font-size: 1.25rem; } /* Blok ceny Early Bird nad przyciskiem */ #party-section .early-bird-price-block { margin-bottom: 16px; display: flex; flex-direction: column; align-items: flex-start; gap: 6px; } #party-section .early-bird-label { font-family: 'Archivo', sans-serif; font-size: 14px; font-weight: 700; color: #FECC00; text-transform: uppercase; letter-spacing: 0.5px; margin: 0; } #party-section .early-bird-price-row { display: flex; align-items: baseline; gap: 14px; } #party-section .price-main { font-family: 'Archivo', sans-serif; font-size: 48px; font-weight: 900; color: #FFFFFF; line-height: 1; letter-spacing: -1px; } #party-section .price-old { font-family: 'Archivo', sans-serif; font-size: 28px; font-weight: 600; color: rgba(255, 255, 255, 0.45); text-decoration: line-through; line-height: 1; } /* Żółty przycisk CTA */ #party-section .btn-yellow { display: inline-flex; padding: 16px 24px; justify-content: center; align-items: center; gap: 12px; border: 2px solid #000000; background: #FFD723; color: #000; font-family: 'Archivo', sans-serif; font-size: 15px; font-weight: 600; text-transform: uppercase; text-decoration: none; border-radius: 0px; box-shadow: none; transition: background-color 0.2s ease, transform 0.1s ease; cursor: pointer; white-space: nowrap; margin-bottom: 12px; } #party-section .btn-yellow:hover { background-color: #f5c200; } #party-section .btn-yellow:active { transform: scale(0.98); } /* Informacja o pozostałych biletach pod przyciskiem */ #party-section .tickets-remaining { font-family: 'Archivo', sans-serif; font-size: 15px; font-weight: 700; color: #FFD700; background-color: transparent; border: none; border-radius: 0; padding: 0; margin-bottom: 30px; display: inline-block; } #party-section .tickets-remaining span { color: #FFD700; } /* Micro-copy pod przyciskiem */ #party-section .sub-info { font-family: 'Archivo', sans-serif; font-size: 16px; font-style: normal; font-weight: 400; line-height: 22.75px; letter-spacing: 0.32px; color: rgba(255, 255, 255, 0.70); max-width: 780px; margin: 0 0 45px 0; } #party-section .funds-logos { display: flex; align-items: center; gap: 30px; padding-top: 10px; width: 100%; } #party-section .fund-item-img { height: 72px; object-fit: contain; } #party-section .stamp-badge { position: absolute; top: 30px; right: 30px; width: 96px; height: 96px; object-fit: contain; } @media (max-width: 1024px) { #party-section .visual-composition { margin-left: 0; justify-content: center; } #party-section .composition-img-cut { width: 100%; } #party-section .zigzag-line { position: relative; left: 0; bottom: 0; width: 100%; max-width: 180px; margin-top: 10px; margin-bottom: 10px; z-index: 2; transform: rotate(1deg); } #party-section .banners-stack { margin-left: 0; align-items: center; margin-top: 10px; width: 100%; } #party-section .one-banner { align-self: center; height: auto; padding-block: 10px; } #party-section .banner-top, #party-section .banner-bottom { transform: none; margin-top: 0; } #party-section .one-banner p { font-size: 22px; text-align: center; } } @media (max-width: 768px) { #party-section { padding: 60px 20px 0px 20px !important; margin-bottom: 0px !important; } #party-section .pre-titles { flex-direction: column; gap: 8px; margin-bottom: 16px; } #party-section .price-main { font-size: 36px; } #party-section .price-old { font-size: 22px; } #party-section .funds-logos { display: flex !important; flex-direction: row !important; justify-content: center !important; align-items: center !important; gap: 35px !important; flex-wrap: wrap !important; width: 100% !important; margin-top: 10px !important; margin-bottom: 40px !important; } #party-section .fund-item-img { height: 78px !important; max-width: 210px !important; object-fit: contain !important; } #party-section .stamp-badge { position: relative; top: 0; right: 0; margin-bottom: 30px; display: block; margin-inline: auto; } #party-section .visual-col { align-items: center !important; } #party-section .visual-composition { margin-left: 0px !important; padding-inline: 0px !important; width: 100vw !important; max-width: none !important; margin-inline: -20px !important; } #party-section .composition-img-cut { width: 100% !important; transform: none !important; } #party-section .banners-stack { margin-left: 0px !important; margin-top: -55px !important; display: flex !important; flex-direction: column !important; align-items: center !important; z-index: 15 !important; width: 100% !important; } #party-section .one-banner { align-self: center !important; white-space: nowrap !important; padding-inline: 16px !important; height: 52px !important; } #party-section .one-banner p { font-size: min(18px, 4.8vw) !important; letter-spacing: 0.5px !important; } #party-section .banner-top { transform: rotate(-2.5deg) translateX(-15px) !important; z-index: 16 !important; } #party-section .banner-bottom { transform: rotate(-2.5deg) translateX(15px) !important; margin-top: -12px !important; z-index: 15 !important; } #party-section .zigzag-line { position: relative !important; width: 130vw !important; max-width: none !important; margin-inline: calc(50% - 65vw) !important; margin-top: -35px !important; height: auto !important; z-index: 2 !important; transform: rotate(1deg) !important; } } </style> <!-- LOGO ZA STARZY ZA TECHNO --> <img class="stamp-badge" src="/files/pages/assets/2026-07-13/za-stary-na-techno-logo_mrj4zure.png" alt="Za Starzy Na Techno"> <div class="container"> <div class="grid"> <!-- LEWA STRONA --> <div class="visual-col"> <div class="visual-composition"> <img class="composition-img-cut" src="/files/pages/assets/2026-07-14/group-1161_mrkc16e2.png" alt="Kula dyskotekowa i tańcząca para retro"> </div> <div class="banners-stack"> <div class="one-banner banner-top"> <p>Kodujesz w dzień,</p> </div> <div class="one-banner banner-bottom"> <p>tańczysz w nocy!</p> </div> </div> <img class="zigzag-line" src="/files/pages/assets/2026-07-13/group-4_mrj5kjqi.svg" alt="Retro zygzak"> </div> <!-- PRAWA STRONA --> <div class="text-col"> <!-- Pre-titles --> <div class="pre-titles"> <span>Dyskoteka szkolna</span> <span>Wydarzenie biletowane</span> </div> <!-- Nagłówek dwukolorowy --> <h2 class="main-title"> Budujemy w dzień <span class="yellow-handwritten">Tańczymy w nocy</span> </h2> <!-- Opis --> <p class="p-desc"> Po dniu budowania spotykamy się na parkiecie. Afterparty BRAVE UnAlted powstaje razem z Za Starzy na Techno. To osobne, biletowane wydarzenie dla osób, które chcą domknąć dzień dobrą energią, muzyką z lat 90. i 2000. i zbiórką. </p> <!-- Bullet pointy --> <div class="bullet-row"> <div class="bullet-item"> <span class="bullet-icon-music">♫</span> Za Starzy na Techno </div> <div class="bullet-item"> <span class="bullet-item-icon-music">♥</span> Cel charytatywny </div> </div> <!-- Blok ceny Early Bird nad przyciskiem --> <div class="early-bird-price-block"> <p class="early-bird-label">Tylko do 4 sierpnia cena Early Bird!</p> <div class="early-bird-price-row"> <span class="price-main">199 ZŁ</span> <span class="price-old">299 ZŁ</span> </div> </div> <!-- Przycisk --> <a class="btn-yellow" href="https://zrzutka.pl/turfeh#offers" target="_blank">Kup bilet na dyskotekę</a> <!-- Informacja o pozostałych biletach --> <p class="tickets-remaining">Zostało <span data-zrzutka="remaining_lowest">0</span> biletów w najniższej cenie!</p> <!-- Złączony dopisek --> <div class="sub-info"> 50% kwoty z każdego biletu trafia bezpośrednio na cel charytatywny, zbieramy na Fundację Dajemy Dzieciom Siłę i Fundację Niepodzielni. </div> <!-- Logotypy fundacji --> <div class="funds-logos"> <img class="fund-item-img" src="/files/pages/assets/2026-07-14/logo-niepodzieleni_mrkbeg46.png" alt="Fundacja Niepodzielni"> <img class="fund-item-img" src="/files/pages/assets/2026-07-14/logo-dajemy-dzieciom_mrkbefxm.png" alt="Fundacja Dajemy Dzieciom Siłę"> </div> </div> </div> </div> </section>
<meta charset="UTF-8"> <section id="charity-split" aria-labelledby="charity-split-title"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300;600;800;900&display=swap'); html, body { margin: 0; } #charity-split, #charity-split * { box-sizing: border-box; } #charity-split { overflow: hidden; padding: 36px 20px 48px; background-color: #f8f8f8; background-image: radial-gradient(circle, #d0d5dd 1.5px, transparent 1.5px); background-size: 24px 24px; } #charity-split .container { width: min(42rem, 100%); margin-inline: auto; } #charity-split .two-col { display: grid; grid-template-columns: minmax(0, 1fr); gap: 48px; } #charity-split .col-left { width: min(580px, 100%); margin-inline: auto; } #charity-split .media-wrapper { position: relative; width: min(404px, 100%); aspect-ratio: 404 / 373; } #charity-split .media { position: relative; z-index: 1; display: block; width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; background: transparent; box-shadow: none; } #charity-split .section-badge-heading { position: absolute; top: 58%; left: 28%; z-index: 2; display: flex; width: min(490px, 135%); min-height: 110px; margin: 0; transform: translateY(-50%) rotate(-5.748deg); flex-direction: column; align-items: flex-start; justify-content: center; color: #ffd723; font-family: 'Archivo', Arial, sans-serif; font-size: clamp(28px, 8vw, 38px); font-weight: 800; line-height: 1.1; letter-spacing: 1.2px; text-transform: uppercase; } #charity-split .badge-line-1, #charity-split .badge-line-2 { display: inline-block; padding: 3px 12px; background: #ba3340; white-space: nowrap; } #charity-split .paragraph { max-width: 600px; margin: 0 0 18px; color: #000; font-family: 'Archivo', Arial, sans-serif; font-size: 15px; font-weight: 400; line-height: 1.45; letter-spacing: 0.02em; } #charity-split .paragraph:first-of-type { margin-top: 54px; } #charity-split .paragraph strong { font-weight: 700; } #charity-split .paragraph.last { margin-bottom: 0; } #charity-split .col-right { min-width: 0; } #charity-split .cloud-scene { position: relative; width: min(648px, 100%); aspect-ratio: 648 / 433; margin: 36px auto 0; } #charity-split .cloud-shape { position: absolute; inset: 0; z-index: 1; display: block; width: 100%; height: 100%; } #charity-split .collect-box-container { position: absolute; top: -4.2%; left: 50%; z-index: 3; display: flex; width: 69.14%; aspect-ratio: 448 / 76; transform: translateX(-50%) rotate(-2.989deg); align-items: center; justify-content: center; border: 3px solid #000; background: #ffd723; } #charity-split .collect-text-styled { margin: 0; color: #ba3340; font-family: 'Archivo', Arial, sans-serif; font-size: clamp(24px, 5vw, 48px); font-weight: 900; line-height: 1; text-transform: uppercase; white-space: nowrap; } #charity-split .cloud-logo { position: absolute; left: 50%; z-index: 2; display: block; height: auto; transform: translateX(-50%); object-fit: contain; } #charity-split .cloud-logo-niepodzielni { top: 24%; width: 55%; } #charity-split .cloud-logo-fdds { top: 55%; width: 56.33%; } @media (min-width: 769px) and (max-width: 1279px) { #charity-split { padding-inline: 32px; } #charity-split .container { width: min(72rem, 100%); } #charity-split .two-col { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: start; } #charity-split .section-badge-heading { font-size: clamp(28px, 3.3vw, 36px); } #charity-split .paragraph:first-of-type { margin-top: 60px; } #charity-split .cloud-scene { margin-top: 72px; } #charity-split .collect-text-styled { font-size: clamp(24px, 3.35vw, 42px); } } @media (min-width: 1280px) { #charity-split { height: 730px; padding: 21px 0 53px; } #charity-split .container { width: 1280px; max-width: 1280px; } #charity-split .two-col { grid-template-columns: 600px 648px; gap: 64px; align-items: start; } #charity-split .col-left { width: 600px; margin-inline: 0; } #charity-split .media-wrapper { width: 463px; height: 434px; margin-left: -31px; } #charity-split .section-badge-heading { top: 58%; left: 31%; width: 560px; min-height: 136px; font-size: 58px; } #charity-split .paragraph { max-width: 600px; font-size: 17px; line-height: 24px; letter-spacing: 0.44px; } #charity-split .paragraph:first-of-type { margin-top: 34px; } #charity-split .cloud-scene { width: 648px; height: 433px; margin-top: 133px; } #charity-split .collect-box-container { top: -5px; left: 44px; width: 448px; height: 76px; transform: rotate(-2.989deg); } #charity-split .collect-text-styled { font-size: 48px; } #charity-split .cloud-logo-niepodzielni { top: 106px; left: calc(50% + 5px); width: 356px; } #charity-split .cloud-logo-fdds { top: 243px; left: calc(50% + 5px); width: 365px; } } @media (max-width: 480px) { #charity-split .section-badge-heading { left: 12%; width: 130%; font-size: clamp(25px, 8.5vw, 34px); } #charity-split .paragraph:first-of-type { margin-top: 48px; } #charity-split .collect-box-container { border-width: 2px; } #charity-split .collect-text-styled { font-size: clamp(21px, 7.2vw, 30px); } } </style> <div class="container"> <div class="two-col"> <div class="col-left"> <div class="media-wrapper"> <h2 class="section-badge-heading" id="charity-split-title"> <span class="badge-line-1">Jak dzielimy</span> <span class="badge-line-2">środki</span> </h2> <img class="media" src="https://app.easy.tools/files/pages/assets/2026-07-24/frame-1410125354_mrz7ovpg.webp" alt="Grupa młodzieży retro bawiąca się przy komputerze" loading="lazy" width="463" height="434" > </div> <p class="paragraph"> Kupując bilet, bawisz się i pomagasz. <strong>50% kwoty z każdego biletu trafia bezpośrednio na cel charytatywny</strong> – wsparcie Fundacji Dajemy Dzieciom Siłę oraz Fundacji Niepodzielni. </p> <p class="paragraph last"> Pozostała część pomaga pokryć koszty organizacji wydarzenia, między innymi przestrzeń, technikę, obsługę i przygotowanie imprezy. Po rozliczeniu kosztów <strong>cała nadwyżka również zostanie przekazana na cel charytatywny.</strong> </p> </div> <div class="col-right"> <div class="cloud-scene" aria-label="Zbieramy na Fundację Niepodzielni i Fundację Dajemy Dzieciom Siłę"> <img class="cloud-shape" src="https://app.easy.tools/files/pages/assets/2026-07-24/chmurka_mrz7plal.webp" alt="" aria-hidden="true" width="648" height="433" > <div class="collect-box-container"> <h3 class="collect-text-styled">Zbieramy na:</h3> </div> <img class="cloud-logo cloud-logo-niepodzielni" src="https://app.easy.tools/files/pages/assets/2026-07-24/active-foundation-1_mrz7pqmq.webp" alt="Fundacja Niepodzielni" loading="lazy" width="356" height="113" > <img class="cloud-logo cloud-logo-fdds" src="https://app.easy.tools/files/pages/assets/2026-07-24/active-foundation_mrz7pobu.webp" alt="Fundacja Dajemy Dzieciom Siłę" loading="lazy" width="365" height="162" > </div> </div> </div> </div> </section>
<!DOCTYPE html> <html lang="pl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;800;900&family=Comic+Neue:wght@400;700&display=swap" rel="stylesheet"> <style>html, body { margin: 0; }</style> </head> <body> <section id="hackathon-cta"> <style> /* Sekcja odwzorowuje frame Figmy „Zarezerwuj czas” 1440 × 698. Wszystkie odległości są zapisane w jednostce --hc-u = 1/1440 szerokości sekcji, dzięki czemu cała plansza skaluje się proporcjonalnie bez JavaScriptu. */ #hackathon-cta, #hackathon-cta * { box-sizing: border-box; } #hackathon-cta { position: relative; overflow: hidden; background: linear-gradient(to right, #fecc00 61.18%, #ad1724 61.18%); font-family: 'Archivo', Arial, sans-serif; --hc-u: 0.0694444vw; } @supports (container-type: inline-size) { #hackathon-cta { container-type: inline-size; container-name: hackathon-cta; } #hackathon-cta .hc-stage { --hc-u: 0.0694444cqw; } } #hackathon-cta .hc-stage { position: relative; height: calc(var(--hc-u) * 698); } /* Ozdobny kształt 90s przy lewej krawędzi — węzeł Figmy jest przycięty krawędzią sekcji. */ #hackathon-cta .hc-decor { position: absolute; top: 0; left: 0; z-index: 1; width: calc(var(--hc-u) * 280); height: calc(var(--hc-u) * 300); pointer-events: none; } #hackathon-cta .hc-content { position: absolute; top: 0; left: calc(var(--hc-u) * 70); z-index: 3; width: calc(var(--hc-u) * 680); } #hackathon-cta .main-heading { margin: 0; padding-top: calc(var(--hc-u) * 213); } #hackathon-cta .heading-line1 { display: block; color: #fff; font-family: 'Archivo', Arial, sans-serif; font-size: calc(var(--hc-u) * 64); font-weight: 800; line-height: calc(var(--hc-u) * 64); letter-spacing: 0; text-transform: uppercase; -webkit-text-stroke-width: calc(var(--hc-u) * 3); -webkit-text-stroke-color: #000; text-shadow: none; } #hackathon-cta .heading-line2 { display: block; margin-top: calc(var(--hc-u) * -4); margin-left: calc(var(--hc-u) * -2); color: #fff; font-family: 'Comic Neue', 'Comic Sans MS', cursive, sans-serif; font-size: calc(var(--hc-u) * 78); font-weight: 700; line-height: calc(var(--hc-u) * 78); letter-spacing: calc(var(--hc-u) * -2.5); -webkit-text-stroke-width: calc(var(--hc-u) * 3); -webkit-text-stroke-color: #000; text-shadow: none; } #hackathon-cta .cta-btn { display: flex; align-items: center; justify-content: center; width: calc(var(--hc-u) * 666); height: calc(var(--hc-u) * 78); margin-top: calc(var(--hc-u) * 18); border: calc(var(--hc-u) * 3) solid #000; border-radius: 0; background-color: #ad1724; color: #fff; font-family: 'Archivo', Arial, Helvetica, sans-serif; font-size: calc(var(--hc-u) * 24); font-weight: 600; line-height: 1.2; letter-spacing: calc(var(--hc-u) * 1); text-align: center; text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background-color 0.2s; } #hackathon-cta .cta-btn:hover { background-color: #920f1c; } #hackathon-cta .cta-btn-text-mobile { display: none; } #hackathon-cta .cta-disclaimer { margin: calc(var(--hc-u) * 12) 0 0; color: #000; font-size: calc(var(--hc-u) * 16); font-weight: 400; line-height: calc(var(--hc-u) * 20); } /* W Figmie ten wiersz jest zwykłej grubości, nie boldem. */ #hackathon-cta .cta-tag { margin-top: calc(var(--hc-u) * 30); } #hackathon-cta .cta-tag-inner { color: #000; font-size: calc(var(--hc-u) * 20); font-weight: 400; line-height: calc(var(--hc-u) * 20); letter-spacing: calc(var(--hc-u) * 1); text-transform: uppercase; } /* Kompozycja z komputerem: naturalne 890 × 690 px z frame'u Figmy. Gwiazda wychodzi poza prawą krawędź sekcji i jest przez nią przycinana. */ #hackathon-cta .illustration-img { position: absolute; top: calc(var(--hc-u) * 4); left: calc(var(--hc-u) * 658); z-index: 2; display: block; width: calc(var(--hc-u) * 890); height: calc(var(--hc-u) * 690); max-width: none; } /* ---------- MOBILE ---------- */ @media (max-width: 1023px) { #hackathon-cta { background: #fecc00; padding: 60px 20px 30px; } #hackathon-cta .hc-stage { height: auto; } #hackathon-cta .hc-decor { display: none; } #hackathon-cta .hc-content { position: static; width: 100%; } #hackathon-cta .main-heading { padding-top: 0; } #hackathon-cta .heading-line1 { font-size: min(32px, 8.5vw); line-height: 1.1; white-space: nowrap; -webkit-text-stroke-width: 1.5px; } #hackathon-cta .heading-line2 { margin-top: 4px; font-size: min(38px, 9.5vw); line-height: 1.15; letter-spacing: -0.5px; white-space: nowrap; -webkit-text-stroke-width: 1.5px; } #hackathon-cta .cta-btn { width: 100%; height: auto; margin-top: 24px; padding: 14px 16px; border-width: 3px; font-size: 18px; line-height: 1.35; letter-spacing: 1px; } #hackathon-cta .cta-btn-text-desktop { display: none; } #hackathon-cta .cta-btn-text-mobile { display: inline; } #hackathon-cta .cta-disclaimer { margin-top: 16px; font-size: 16px; line-height: 1.25; } #hackathon-cta .cta-tag { margin-top: 24px; } #hackathon-cta .cta-tag-inner { font-size: 16px; line-height: 1.2; } #hackathon-cta .illustration-img { position: static; width: 100%; max-width: 520px; height: auto; margin: 32px auto 0; } } </style> <div class="hc-stage"> <!-- OZDOBNY KSZTAŁT PRZY LEWEJ KRAWĘDZI --> <svg class="hc-decor" viewBox="0 0 280 300" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" > <path fill="#000" d="M0 0 L169 127 L161 139 L190 162 L150 215 L30 125 L0 253 L0 110 L5 89 L125 179 L128 178 L165 129 L2 5 Z"/> <path fill="#fecc00" d="M0 4 L164 128 L127 178 L6 88 L4 89 L0 109 Z"/> </svg> <!-- TREŚĆ --> <div class="hc-content"> <h2 class="main-heading" aria-label="Zarezerwuj czas na budowanie z AI"> <span class="heading-line1">Zarezerwuj czas</span> <span class="heading-line2">na budowanie z AI</span> </h2> <a class="cta-btn" href="https://luma.com/unaited" data-unaited-stepper-register data-unaited-source="unaited-hackathon-cta" aria-haspopup="dialog" aria-controls="unaited-stepper-modal" aria-label="Zapisz się na bezpłatny hackathon" > <span class="cta-btn-text-desktop">Zapisz się na bezpłatny hackathon</span> <span class="cta-btn-text-mobile">Zapisz się na<br>bezpłatny hackathon</span> </a> <p class="cta-disclaimer"> Udział w hackathonie jest bezpłatny. Wypełnij krótki formularz bez opuszczania strony. </p> <div class="cta-tag"> <div class="cta-tag-inner">SOLO - FIRMOWO - Z ZESPOŁEM</div> </div> </div> <!-- KOMPUTER, GWIAZDA I KASETY --> <img class="illustration-img" src="https://app.easy.tools/files/pages/assets/2026-07-24/group-1167_mrz7olx8.webp" alt="Retro komputer z pikselową grafiką na ekranie, kasety magnetofonowe i hasło Zgarnij walkmana" width="890" height="690" loading="eager" > </div> </section> </body> </html>
<meta charset="UTF-8"> <section id="buduj-z-ai" aria-labelledby="buduj-z-ai-title"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;700&family=Comic+Neue:wght@400;700&display=swap'); html, body { margin: 0; } #buduj-z-ai, #buduj-z-ai * { box-sizing: border-box; } #buduj-z-ai { position: relative; z-index: 20; overflow: visible; padding: 56px 20px 0; background-color: #f8f8f8; background-image: radial-gradient(circle, #d0d5dd 1.5px, transparent 1.5px); background-size: 24px 24px; } #buduj-z-ai .bza-container { width: min(1232px, 100%); margin-inline: auto; } #buduj-z-ai .bza-heading-wrap { display: flex; flex-direction: column; align-items: center; margin-bottom: 40px; text-align: center; } #buduj-z-ai .bza-heading-block { display: inline-block; max-width: 100%; padding: 5px 16px 6px; background: #ba3340; } #buduj-z-ai .bza-heading-block + .bza-heading-block { margin-top: -1px; } #buduj-z-ai .bza-heading { margin: 0; font-family: 'Archivo', Arial, sans-serif; font-size: clamp(29px, 7.4vw, 48px); font-weight: 700; line-height: 1.12; letter-spacing: -0.01em; } #buduj-z-ai .bza-heading-line { display: block; color: #ffffff; -webkit-text-stroke: 1px #000000; paint-order: stroke fill; } #buduj-z-ai .bza-heading-line-accent { color: #ffd723; } #buduj-z-ai .bza-cards { display: grid; grid-template-columns: 1fr; gap: 20px; align-items: start; } #buduj-z-ai .bza-card { display: flex; min-width: 0; flex-direction: column; gap: 16px; padding: 20px; overflow: hidden; border: 2px solid #0f0f0f; border-radius: 0; background: #ad1724; box-shadow: 0 4px 20px 12px rgba(0, 0, 0, 0.25); transition: transform 160ms ease, box-shadow 160ms ease; } #buduj-z-ai .bza-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px 12px rgba(0, 0, 0, 0.28); } #buduj-z-ai .bza-card-image { width: 100%; height: 173px; flex: 0 0 173px; overflow: hidden; border: 2px solid #000000; background: #ffd723; } #buduj-z-ai .bza-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom; } #buduj-z-ai .bza-card-title { min-height: 44px; margin: 0; padding-top: 8px; color: #ffd723; font-family: 'Comic Neue', 'Comic Sans MS', cursive; font-size: 38px; font-weight: 700; line-height: 20px; letter-spacing: 0.35px; -webkit-text-stroke: 1px #000000; paint-order: stroke fill; } #buduj-z-ai .bza-card:first-child .bza-card-title { font-size: 40px; } #buduj-z-ai .bza-card-description { margin: 0; color: #ffffff; font-family: 'Archivo', Arial, sans-serif; font-size: 16px; font-weight: 400; line-height: 24px; letter-spacing: 0.02em; } @media (min-width: 640px) { #buduj-z-ai .bza-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (min-width: 1024px) { #buduj-z-ai { /* W Figmie nagłówek zaczyna się na 76 px. Nie używamy tu --et-spacing-vertical-lg, bo EasyPage ustawia ją na 128 px. */ padding: 76px 24px 0; } #buduj-z-ai .bza-heading-wrap { margin-bottom: 50px; } #buduj-z-ai .bza-heading-block { padding: 4px 24px 5px; } #buduj-z-ai .bza-heading-block + .bza-heading-block { margin-top: -1px; } #buduj-z-ai .bza-heading { font-size: clamp(46px, 4.45vw, 64px); line-height: 72px; white-space: nowrap; } } @media (min-width: 1200px) { #buduj-z-ai .bza-cards { grid-template-columns: repeat(4, minmax(0, 1fr)); } #buduj-z-ai .bza-card:nth-child(-n + 2) { height: 385px; } #buduj-z-ai .bza-card:nth-child(n + 3) { height: 419px; } } @media (max-width: 639px) { #buduj-z-ai .bza-card { padding: 16px; box-shadow: 0 4px 14px 7px rgba(0, 0, 0, 0.22); } #buduj-z-ai .bza-card-image { height: auto; min-height: 180px; flex-basis: auto; aspect-ratio: 253 / 173; } #buduj-z-ai .bza-card-title, #buduj-z-ai .bza-card:first-child .bza-card-title { min-height: 36px; font-size: 34px; } #buduj-z-ai .bza-card-description { font-size: 15px; line-height: 1.45; } } @media (prefers-reduced-motion: reduce) { #buduj-z-ai .bza-card { transition: none; } #buduj-z-ai .bza-card:hover { transform: none; } } </style> <div class="bza-container"> <div class="bza-heading-wrap"> <div class="bza-heading-block"> <h2 class="bza-heading" id="buduj-z-ai-title" aria-label="Przekonaj się, ile można zbudować w jeden dzień z AI." > <span class="bza-heading-line" aria-hidden="true">Przekonaj się, ile można zbudować</span> </h2> </div> <div class="bza-heading-block"> <p class="bza-heading" aria-hidden="true"> <span class="bza-heading-line bza-heading-line-accent">w jeden dzień z AI.</span> </p> </div> </div> <div class="bza-cards" role="list"> <article class="bza-card" role="listitem"> <div class="bza-card-image"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/container1_mrz7phj0.webp" alt="Chłopak w okularach przeciwsłonecznych trzymający klawiaturę" loading="lazy" width="253" height="173" > </div> <h3 class="bza-card-title">Solo</h3> <p class="bza-card-description"> Nie musisz mieć własnej ekipy. Jeśli chcesz budować z innymi, znajdziemy Ci odpowiedni zespół. </p> </article> <article class="bza-card" role="listitem"> <div class="bza-card-image"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/container2_mrz7pegk.webp" alt="Grupa znajomych w stylistyce lat dziewięćdziesiątych" loading="lazy" width="253" height="173" > </div> <h3 class="bza-card-title">Ze znajomymi</h3> <p class="bza-card-description"> Przychodź z ekipą. Podzielcie role, podzielcie zadania, zbudujcie wspólny projekt albo podejmijcie nasz challenge. </p> </article> <article class="bza-card" role="listitem"> <div class="bza-card-image"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/container3_mrz7p4wo.webp" alt="Dwie osoby pozujące na żółtym tle" loading="lazy" width="253" height="173" > </div> <h3 class="bza-card-title">Dla firm</h3> <p class="bza-card-description"> Zatrzymujemy bieżączkę! Bierzcie projekt, który od miesięcy czeka na realizację. Jeden dzień może wystarczyć na pierwsze działające demo. </p> </article> <article class="bza-card" role="listitem"> <div class="bza-card-image"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/container4_mrz7p2sa.webp" alt="Grupa znajomych przy starym monitorze" loading="lazy" width="253" height="173" > </div> <h3 class="bza-card-title">Dla fundacji</h3> <p class="bza-card-description"> Fundacje przysłały nam swoje realne problemy. Wybierzcie jeden i zbudujcie rozwiązanie, które zmieni ich codzienną pracę. </p> </article> </div> </div> </section>
<section id="top-bar-announcement"> <style> #top-bar-announcement { background-color: #AD1724; padding-block: 10px; padding-inline: var(--et-spacing-horizontal, 1rem); position: sticky; top: 0; z-index: 1001; } @media (min-width: 1024px) { #top-bar-announcement { padding-inline: var(--et-spacing-horizontal-lg, 2rem); } } #top-bar-announcement .container { margin-inline: auto; max-width: 42rem; display: flex; align-items: center; justify-content: center; gap: 12px; flex-wrap: wrap; } @media (min-width: 1024px) { #top-bar-announcement .container { max-width: 80rem; } } #top-bar-announcement .bar-text { color: #fff; font-size: 14px; font-weight: 500; line-height: 1.4; text-wrap: balance; margin: 0; opacity: 1; } #top-bar-announcement .bar-link { color: #fff; font-family: Arial, Helvetica, sans-serif; font-size: 14px; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; border-bottom: 1px solid rgba(255, 255, 255, 0.5); line-height: 1.4; transition: border-bottom-color 0.15s ease; } #top-bar-announcement .bar-link:hover { border-bottom-color: #fff; } #top-bar-announcement .bar-link:focus-visible { outline: 2px solid #fff; outline-offset: 2px; border-radius: 2px; } #top-bar-announcement [data-zrzutka]:not(.zrzutka-ready) { visibility: hidden; } </style> <div class="container" role="banner" aria-label="Ogłoszenie o rejestracji na hackathon"> <p class="bar-text"> 🎟️ Zostało <strong><span data-zrzutka="remaining_hackathon">0</span> miejsc</strong> na hackathon! </p> <a class="bar-link" href="#cta-28-sierpnia"> Zapisz się <span aria-hidden="true">→</span> </a> </div> <script> (function () { var topBar = document.getElementById('top-bar-announcement'); function applyNavbarOffset() { if (!topBar) return; var barHeight = topBar.offsetHeight; var navbar = document.getElementById('sticky-header'); if (navbar) { navbar.style.setProperty('top', barHeight + 'px', 'important'); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', applyNavbarOffset); } else { applyNavbarOffset(); } window.addEventListener('resize', applyNavbarOffset); if (window.ResizeObserver && topBar) { new ResizeObserver(applyNavbarOffset).observe(topBar); } })(); </script> <script src="https://zrzutka-tickets.contact-225.workers.dev/embed.js"></script> </section>
<meta charset="UTF-8"> <section id="zapisy-counter-section" aria-labelledby="zapisy-counter-title"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@700;800;900&family=Comic+Neue:wght@700&family=Patrick+Hand&display=swap'); html, body { margin: 0; } #zapisy-counter-section { box-sizing: border-box; position: relative; overflow: hidden; padding: 24px 20px 68px; background-color: #6ABFFF; font-family: 'Archivo', sans-serif; } #zapisy-counter-section * { box-sizing: border-box; } /* Branding pod CTA jest osobnym blokiem EasyPage. Używamy tego samego fontu co w poprawionym podpisie jury. */ #cta-branding-footer, #cta-branding-footer * { font-family: 'Patrick Hand', cursive !important; } #zapisy-counter-section .counter-container { max-width: 760px; margin: 0 auto; text-align: center; } #zapisy-counter-section .section-title-wrap { display: inline-block; margin-bottom: 48px; padding: 12px 32px; transform: rotate(-2deg); border: 3px solid #000; background: #FFD000; box-shadow: 6px 6px 0 #000; } #zapisy-counter-section .section-title { margin: 0; color: #BA3340; font-family: 'Archivo', sans-serif; font-size: clamp(26px, 5vw, 44px); font-weight: 900; letter-spacing: -0.5px; line-height: 1.05; text-transform: uppercase; } #zapisy-counter-section .counter-card { width: min(100%, 520px); margin: 0 auto; padding: 36px 24px; display: flex; flex-direction: column; align-items: center; justify-content: center; position: relative; border: 3px solid #000; background: #AD1724; box-shadow: 8px 8px 0 #000; } #zapisy-counter-section .card-header { margin-bottom: 24px; color: #FFD723; font-family: 'Archivo', sans-serif; font-size: clamp(28px, 4vw, 36px); font-weight: 900; letter-spacing: 1px; line-height: 1; text-shadow: -2px 2px 0 #000; text-transform: uppercase; -webkit-text-stroke: 1.5px #000; } #zapisy-counter-section .flip-ticker-board { margin-bottom: 20px; padding: 16px 24px; display: inline-flex; align-items: center; justify-content: center; gap: 12px; border: 3px solid #000; border-radius: 8px; background: #111; box-shadow: inset 0 0 12px rgba(0, 0, 0, 0.9), 4px 4px 0 #000; } #zapisy-counter-section .flip-leaf { min-width: 65px; padding: 6px 18px; display: inline-block; position: relative; border: 2px solid #000; border-radius: 6px; background: linear-gradient(180deg, #2b2b2b 48%, #141414 52%); box-shadow: 0 4px 8px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.25); color: #fff; font-family: 'Archivo', monospace; font-size: clamp(36px, 6vw, 54px); font-weight: 900; line-height: 1.1; text-align: center; } #zapisy-counter-section .flip-leaf::after { content: ''; height: 2px; position: absolute; top: 50%; right: 0; left: 0; transform: translateY(-50%); background: #000; box-shadow: 0 1px 0 rgba(255, 255, 255, 0.2); } #zapisy-counter-section .ticker-denom { color: #FFD723; font-family: 'Archivo', sans-serif; font-size: clamp(24px, 4vw, 36px); font-weight: 800; letter-spacing: 1px; white-space: nowrap; } #zapisy-counter-section .card-subtitle { margin: 0; color: #fff; font-family: 'Comic Neue', cursive, sans-serif; font-size: clamp(20px, 3vw, 24px); font-weight: 700; letter-spacing: 0.5px; } @media (max-width: 480px) { #zapisy-counter-section { padding: 20px 18px 56px; } #zapisy-counter-section .section-title-wrap { margin-bottom: 38px; padding: 11px 18px; box-shadow: 5px 5px 0 #000; } #zapisy-counter-section .counter-card { padding: 30px 16px; box-shadow: 6px 6px 0 #000; } #zapisy-counter-section .card-header { margin-bottom: 20px; } #zapisy-counter-section .flip-ticker-board { padding: 13px 14px; gap: 8px; } #zapisy-counter-section .flip-leaf { min-width: 60px; padding-inline: 12px; } } </style> <div class="counter-container"> <div class="section-title-wrap"> <h2 class="section-title" id="zapisy-counter-title">Nie czekaj, zapisz się!</h2> </div> <div class="counter-card"> <div class="card-header">Hackathon:</div> <div class="flip-ticker-board" role="status" aria-live="polite" aria-atomic="true"> <span class="flip-leaf" data-zrzutka="remaining_hackathon">0</span> <span class="ticker-denom">/ 1000</span> </div> <p class="card-subtitle">Wolnych miejsc</p> </div> </div> <!-- Embed aktualizuje elementy obecne w DOM tylko w chwili wykonania, dlatego sekcja licznika wywołuje go ponownie po swoim wyrenderowaniu. --> <script src="https://zrzutka-tickets.contact-225.workers.dev/embed.js"></script> </section>
<meta charset="UTF-8"> <section id="cta-28-sierpnia" style="background-color: #6abfff; min-height: 0px; padding: 600px 20px 56px; position: relative; overflow: visible; text-align: center; scroll-margin-top: 120px;"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;700;900&family=Comic+Neue:wght@700&family=Manrope:wght@400;600&display=swap'); html, body { margin: 0; } #cta-28-sierpnia, #cta-28-sierpnia * { box-sizing: border-box; } #cta-28-sierpnia .container { max-width: 1200px; margin: 0 auto; position: relative; display: flex; flex-direction: column; align-items: center; } #cta-28-sierpnia .final-keyboard { position: absolute; top: -80px; left: 50%; display: block; width: 92.85%; max-width: 1320px; height: auto; z-index: 3; filter: drop-shadow(0 4px 24px rgba(0, 0, 0, 0.35)); transform: translateX(-50%) rotate(-1.85deg); pointer-events: none; } /* NAGŁÓWEK "28 SIERPNIA ZBUDUJ COŚ Z AI" W STYLU OUTLINE */ #cta-28-sierpnia .heading-wrap { position: relative; margin-bottom: 24px; } #cta-28-sierpnia .main-heading { font-family: 'Archivo', sans-serif; font-size: clamp(3rem, 7.5vw, 6.5rem); font-weight: 900; text-transform: uppercase; line-height: 1.1; color: #ba3340; -webkit-text-stroke: 3px #ffffff; text-stroke: 3px #ffffff; margin: 0; letter-spacing: -1px; } /* Układ domyślny na desktop */ #cta-28-sierpnia .desktop-br { display: inline; } #cta-28-sierpnia .mobile-br { display: none; } /* OPIS POD NAGŁÓWKIEM */ #cta-28-sierpnia .description { font-family: 'Manrope', sans-serif; font-size: 1.25rem; font-weight: 500; line-height: 1.6; color: #000000; max-width: 820px; margin: 0 0 45px 0; text-align: center; } /* GRUPA PRZYCISKÓW HACKATHON / BILET */ #cta-28-sierpnia .buttons-group { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; width: 100%; max-width: 651px; } #cta-28-sierpnia .btn-cta { flex: 1; min-width: 290px; max-width: 651px; background-color: #ffd000; color: #000000; border: 3px solid #000000; border-radius: 0; font-family: Arial, Helvetica, sans-serif; font-weight: 700; font-size: 1.35rem; line-height: 1.2; text-transform: uppercase; text-decoration: none; padding: 22px 20px; text-align: center; box-shadow: none; transition: transform 0.15s ease, background-color 0.15s ease; display: inline-flex; align-items: center; justify-content: center; } #cta-28-sierpnia .event-note { margin: 40px 0 0; color: #000; font-family: 'Comic Neue', 'Comic Sans MS', cursive; font-size: 1rem; font-weight: 700; line-height: 1.2; letter-spacing: 0.09em; text-transform: uppercase; } #cta-28-sierpnia .btn-cta:hover { background-color: #ffd723; } @media (max-width: 768px) { #cta-28-sierpnia { min-height: 0 !important; padding: 285px 20px 32px !important; } #cta-28-sierpnia .final-keyboard { top: 42px; width: min(620px, 128vw); transform: translateX(-50%) rotate(2.4deg); } #cta-28-sierpnia .desktop-br { display: none !important; } #cta-28-sierpnia .mobile-br { display: inline !important; } #cta-28-sierpnia .main-heading { -webkit-text-stroke: 1.5px #ffffff; text-stroke: 1.5px #ffffff; letter-spacing: 0; font-size: 2.4rem !important; line-height: 1.25 !important; } #cta-28-sierpnia .description { font-size: 1rem !important; } #cta-28-sierpnia .btn-cta { font-size: 0.92rem !important; padding: 14px 12px; min-width: 0; width: 100%; } #cta-28-sierpnia .event-note { margin-top: 28px; font-size: 0.74rem; line-height: 1.35; } } </style> <img class="final-keyboard" src="https://app.easy.tools/files/pages/assets/2026-07-24/final-keyboard_mrz7qs1x.webp" alt="" aria-hidden="true" > <div class="container"> <!-- Nagłówek CTA --> <div class="heading-wrap"> <h2 class="main-heading"> 28 sierpnia<span class="desktop-br"><br></span><span class="mobile-br"><br></span>zbuduj<span class="mobile-br"><br></span> coś z ai. </h2> </div> <!-- Opis --> <p class="description"> Solo, z zespołem albo firmowo. Z własnym pomysłem, projektem firmowym albo challenge'em od fundacji. Bezpłatnie, konkretnie i z gotową ramą działania od BRAVE. </p> <!-- Zapisy --> <div class="buttons-group"> <a class="btn-cta" href="https://luma.com/unaited" data-unaited-stepper-register data-unaited-source="unaited-final-cta" aria-haspopup="dialog" aria-controls="unaited-stepper-modal" > Zapisz się na bezpłatny hackathon </a> </div> </div> </section>
<meta charset="UTF-8"> <section id="o-co-chodzi" aria-labelledby="o-co-chodzi-title"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300;400;600;700;800;900&display=swap'); html, body { margin: 0; } #o-co-chodzi, #o-co-chodzi * { box-sizing: border-box; } #o-co-chodzi { position: relative; min-height: 756px; overflow: hidden; background-color: #f6f6f6; background-image: radial-gradient(circle, rgba(15, 15, 15, 0.08) 1px, transparent 1.25px); background-size: 20px 20px; color: #000; font-family: 'Archivo', Arial, sans-serif; } #o-co-chodzi::before { content: ""; position: absolute; inset: 0 0 auto; height: 117px; background: #ffd000; } #o-co-chodzi .oco-stage { position: relative; width: min(1440px, 100%); min-height: 756px; margin-inline: auto; } #o-co-chodzi .oco-title { position: absolute; top: 61px; left: 4.8%; z-index: 6; margin: 0; padding: 7px 16px 8px; background: #ba3340; color: #ffd723; font-size: clamp(42px, 4vw, 58px); font-weight: 800; line-height: 1; letter-spacing: 0.03em; text-transform: uppercase; transform: rotate(-5.75deg); transform-origin: left center; } #o-co-chodzi .oco-collage { position: absolute; top: 55px; right: 4.236%; left: 42.292%; aspect-ratio: 770 / 249; overflow: hidden; background: transparent; } #o-co-chodzi .oco-collage img { display: block; width: 100%; height: 100%; object-fit: contain; } #o-co-chodzi .oco-keyboard { position: absolute; top: 139px; left: 2.1%; z-index: 2; width: 29.4%; height: auto; filter: drop-shadow(0 10px 20px rgba(0, 0, 0, 0.24)); transform: rotate(-11.48deg); } #o-co-chodzi .oco-photo { position: absolute; top: 95px; left: 26.45%; z-index: 4; width: 19.8%; height: auto; filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.2)); transform: rotate(-8.81deg); } #o-co-chodzi .oco-copy-grid { position: absolute; top: 418px; right: 10.5%; left: 7.6%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(24px, 2.9vw, 42px); } #o-co-chodzi .oco-column { min-width: 0; } #o-co-chodzi .oco-lead { max-width: 610px; margin: 0 0 24px; font-size: clamp(30px, 2.8vw, 40px); font-weight: 300; line-height: 1.08; letter-spacing: 0.02em; } #o-co-chodzi .oco-lead strong { font-weight: 600; } #o-co-chodzi .oco-column:nth-child(2) .oco-lead { max-width: 540px; } #o-co-chodzi .oco-detail { max-width: 610px; margin: 0; font-size: clamp(17px, 1.55vw, 22px); font-weight: 300; line-height: 1.04; letter-spacing: 0.02em; } @media (max-width: 980px) { #o-co-chodzi { min-height: 0; padding-bottom: 72px; } #o-co-chodzi::before { height: 92px; } #o-co-chodzi .oco-stage { min-height: 0; padding: 24px clamp(20px, 5vw, 48px) 0; } #o-co-chodzi .oco-title { position: relative; top: auto; left: auto; display: inline-block; max-width: 92%; margin: 0 0 24px; padding: 8px 12px; font-size: clamp(34px, 8vw, 52px); } #o-co-chodzi .oco-visual { position: relative; height: clamp(300px, 66vw, 480px); margin-inline: calc(clamp(20px, 5vw, 48px) * -1); } #o-co-chodzi .oco-collage { top: 26px; right: 4%; left: 24%; } #o-co-chodzi .oco-keyboard { top: 38%; left: 2%; width: 51%; } #o-co-chodzi .oco-photo { top: 32%; left: 34%; width: 30%; } #o-co-chodzi .oco-copy-grid { position: relative; inset: auto; grid-template-columns: 1fr; gap: 44px; } #o-co-chodzi .oco-lead, #o-co-chodzi .oco-detail { max-width: none; } } @media (max-width: 560px) { #o-co-chodzi { padding-bottom: 56px; } #o-co-chodzi .oco-stage { padding-inline: 20px; } #o-co-chodzi .oco-title { font-size: clamp(29px, 10vw, 40px); } #o-co-chodzi .oco-visual { height: 300px; margin-inline: -20px; } #o-co-chodzi .oco-collage { top: 12px; right: -7%; left: 18%; } #o-co-chodzi .oco-keyboard { top: 43%; left: -3%; width: 58%; } #o-co-chodzi .oco-photo { top: 37%; left: 34%; width: 36%; } #o-co-chodzi .oco-lead { margin-bottom: 16px; font-size: 29px; } #o-co-chodzi .oco-detail { font-size: 17px; line-height: 1.18; } } </style> <div class="oco-stage"> <h2 class="oco-title" id="o-co-chodzi-title">O co chodzi?</h2> <div class="oco-visual" aria-hidden="true"> <div class="oco-collage" role="img" aria-label="Kolaż społeczności BRAVE w stylistyce lat dziewięćdziesiątych"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/o-co-chodzi-collage_mrz7qb9d.webp" alt=""> </div> <img class="oco-keyboard" src="https://app.easy.tools/files/pages/assets/2026-07-24/o-co-chodzi-keyboard_mrz7q8g0.webp" alt=""> <img class="oco-photo" src="https://app.easy.tools/files/pages/assets/2026-07-24/o-co-chodzi-photo_mrz7q5n9.webp" alt=""> </div> <div class="oco-copy-grid"> <div class="oco-column"> <p class="oco-lead"> BRAVE UnAIted<br> to <strong>pierwszy Hackathon AI</strong> całej naszej społeczności BRAVE. </p> <p class="oco-detail"> W piątek 28 sierpnia wspólnie zbudujemy to, na co przez cały rok nie było czasu. </p> </div> <div class="oco-column"> <p class="oco-lead"> Nie musisz być programistą ani programistką - <strong>liczy się Twój zapał</strong> do robienia fajnych rzeczy. </p> <p class="oco-detail"> W zespołach pomieszamy trzy światy: developers, product heroes i creative. Hackathon UnAIted jest wydarzeniem online, ilość miejsc limitowana. </p> </div> </div> </div> </section>
<meta charset="UTF-8"> <section id="nagrody-i-jury" aria-labelledby="nagrody-i-jury-title"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@300;400;600;700;800;900&family=Comic+Neue:wght@400;700&family=Patrick+Hand&display=swap'); html, body { margin: 0; } #nagrody-i-jury, #nagrody-i-jury * { box-sizing: border-box; } #nagrody-i-jury { position: relative; height: var(--ng-section-height, 1117px); min-height: var(--ng-section-height, 1117px); overflow: hidden; background-color: #f6f6f6; background-image: radial-gradient(circle, rgba(15, 15, 15, 0.08) 1px, transparent 1.25px); background-size: var(--ng-dot-size, 20px) var(--ng-dot-size, 20px); color: #000; font-family: 'Archivo', Arial, sans-serif; } #nagrody-i-jury .ng-blue-band { position: absolute; inset: var(--ng-blue-top, 499px) 0 0; background: #6abfff; } #nagrody-i-jury .ng-stage { position: relative; width: 1440px; min-height: 1117px; margin: 0; transform: scale(var(--ng-stage-scale, 1)); transform-origin: left top; } #nagrody-i-jury .ng-title { position: absolute; top: 70px; right: 3.6%; z-index: 8; margin: 0; padding: 7px 17px 9px; background: #ba3340; color: #ffd723; font-size: clamp(42px, 4vw, 58px); font-weight: 800; line-height: 1; letter-spacing: 0.03em; text-transform: uppercase; transform: rotate(5.73deg); transform-origin: right center; } #nagrody-i-jury .ng-intro { position: absolute; top: 165px; left: 43%; z-index: 4; width: min(59%, 851px); } #nagrody-i-jury .ng-heading { max-width: 850px; margin: 0 0 22px; font-size: clamp(34px, 3vw, 42px); font-weight: 700; line-height: 1.085; letter-spacing: 0.02em; text-transform: uppercase; } #nagrody-i-jury .ng-description { max-width: 620px; margin: 0; font-size: clamp(18px, 1.7vw, 24px); font-weight: 300; line-height: 1.08; letter-spacing: 0.02em; } #nagrody-i-jury .ng-golden-scene { position: absolute; top: -90px; left: 1.45%; z-index: 5; width: 628px; height: 799px; max-width: 44%; } #nagrody-i-jury .ng-golden-photo-frame { position: absolute; top: 145px; left: 68px; width: 416px; height: 363px; overflow: hidden; border: 10px solid #fecc00; background: #71b7ff; box-shadow: 0 10px 26px rgba(0, 0, 0, 0.36); transform: rotate(6.19deg); } #nagrody-i-jury .ng-golden-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; transform: rotate(-6.19deg) scale(1.34); } #nagrody-i-jury .ng-golden-cutout { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; } #nagrody-i-jury .ng-prize { position: absolute; top: 373px; left: 14.8%; z-index: 3; width: 445px; max-width: 31%; aspect-ratio: 1 / 1; transform: rotate(-5.26deg); } #nagrody-i-jury .ng-prize-shape { position: absolute; inset: 0; display: block; width: 100%; height: 100%; } #nagrody-i-jury .ng-prize-copy { position: absolute; inset: 30% 14% auto; text-align: center; transform: rotate(5.26deg); } #nagrody-i-jury .ng-prize-title { display: block; margin-bottom: 12px; font-family: 'Comic Neue', 'Comic Sans MS', cursive; font-size: clamp(29px, 2.65vw, 38px); font-weight: 700; line-height: 1.1; } #nagrody-i-jury .ng-prize-text { display: block; font-size: clamp(16px, 1.55vw, 22px); font-weight: 300; line-height: 1.04; } #nagrody-i-jury .ng-jury-photo-frame { position: absolute; top: 690px; left: 7.8%; z-index: 4; width: 475px; height: 285px; overflow: hidden; border: 10px solid #fecc00; background: #71b7ff; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32); transform: rotate(-10deg); } #nagrody-i-jury .ng-jury-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 58%; } #nagrody-i-jury .ng-jury-scene { position: absolute; top: 425px; right: 5.2%; z-index: 5; width: 650px; max-width: 50%; min-height: 650px; text-align: center; } #nagrody-i-jury .ng-jury-cloud { position: absolute; top: 13px; left: 0; display: block; width: 100%; height: auto; } #nagrody-i-jury .ng-jury-label { position: absolute; top: 15px; left: 55px; z-index: 4; margin: 0; padding: 7px 22px; border: 3px solid #000; background: #ffd723; color: #ba3340; font-size: clamp(32px, 3.35vw, 48px); font-weight: 900; line-height: 1.12; text-transform: uppercase; transform: rotate(-2.99deg); } #nagrody-i-jury .ng-person-card { position: absolute; top: 74px; left: 169px; z-index: 3; width: 305px; height: 399px; overflow: hidden; border: 4px solid #000; background: #fecc00; } #nagrody-i-jury .ng-person { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; } #nagrody-i-jury .ng-arrow { position: absolute; top: 190px; z-index: 4; display: block; width: 48px; height: 98px; transform-origin: center; } #nagrody-i-jury .ng-arrow-left { left: 47px; transform: rotate(90deg); } #nagrody-i-jury .ng-arrow-right { right: 35px; transform: rotate(-90deg); } #nagrody-i-jury .ng-juror-name { position: absolute; top: 505px; left: 0; width: 100%; margin: 0; font-family: 'Patrick Hand', cursive; font-size: clamp(31px, 2.8vw, 40px); font-weight: 400; line-height: 1; } #nagrody-i-jury .ng-juror-note { position: absolute; top: 570px; left: 2.5%; width: 95%; margin: 0; font-family: 'Patrick Hand', cursive; font-size: clamp(19px, 1.7vw, 24px); font-weight: 400; line-height: 1.25; } @media (max-width: 980px) { #nagrody-i-jury { height: auto; min-height: 0; background-image: none; } #nagrody-i-jury .ng-blue-band { display: none; } #nagrody-i-jury .ng-stage { width: 100%; min-height: 0; transform: none; } #nagrody-i-jury .ng-title, #nagrody-i-jury .ng-intro, #nagrody-i-jury .ng-golden-scene, #nagrody-i-jury .ng-prize, #nagrody-i-jury .ng-jury-photo-frame, #nagrody-i-jury .ng-jury-scene { position: relative; inset: auto; } #nagrody-i-jury .ng-title { display: table; max-width: calc(100% - 40px); margin: 34px 20px 28px auto; font-size: clamp(34px, 8vw, 52px); } #nagrody-i-jury .ng-intro { width: auto; padding: 0 24px 24px; } #nagrody-i-jury .ng-heading, #nagrody-i-jury .ng-description { max-width: 760px; } #nagrody-i-jury .ng-golden-wrap { position: relative; min-height: 720px; overflow: hidden; background-color: #f6f6f6; background-image: radial-gradient(circle, rgba(15, 15, 15, 0.08) 1px, transparent 1.25px); background-size: 20px 20px; } #nagrody-i-jury .ng-golden-scene { width: min(628px, 90vw); max-width: none; height: min(799px, 114vw); margin-left: -4vw; transform: scale(0.82); transform-origin: left top; } #nagrody-i-jury .ng-prize { position: absolute; top: 285px; right: 2vw; left: auto; width: min(400px, 54vw); max-width: none; } #nagrody-i-jury .ng-jury-photo-frame { position: absolute; top: 495px; left: 9vw; width: min(475px, 62vw); } #nagrody-i-jury .ng-jury-wrap { padding: 50px 20px 70px; background: #6abfff; } #nagrody-i-jury .ng-jury-scene { width: min(650px, 100%); max-width: none; min-height: 650px; margin-inline: auto; } } @media (max-width: 620px) { #nagrody-i-jury .ng-title { font-size: clamp(30px, 9vw, 40px); } #nagrody-i-jury .ng-heading { font-size: 31px; } #nagrody-i-jury .ng-description { font-size: 18px; line-height: 1.2; } #nagrody-i-jury .ng-golden-wrap { min-height: 590px; } #nagrody-i-jury .ng-golden-scene { margin-left: -24vw; transform: scale(0.7); } #nagrody-i-jury .ng-prize { top: 235px; right: -8vw; width: 66vw; } #nagrody-i-jury .ng-jury-photo-frame { top: 420px; left: 4vw; width: 70vw; height: 205px; } #nagrody-i-jury .ng-prize-title { font-size: clamp(24px, 7vw, 34px); } #nagrody-i-jury .ng-prize-text { font-size: 15px; } #nagrody-i-jury .ng-jury-wrap { padding-inline: 12px; } #nagrody-i-jury .ng-jury-scene { min-height: 535px; } #nagrody-i-jury .ng-jury-label { left: 4%; padding: 6px 14px; font-size: clamp(27px, 9vw, 38px); } #nagrody-i-jury .ng-person-card { top: 66px; left: 27%; width: 46%; height: 305px; } #nagrody-i-jury .ng-arrow { top: 175px; width: 68px; } #nagrody-i-jury .ng-arrow-left { left: 5%; } #nagrody-i-jury .ng-arrow-right { right: 4%; } #nagrody-i-jury .ng-juror-name { top: 405px; font-size: 31px; } #nagrody-i-jury .ng-juror-note { top: 460px; font-size: 18px; } } </style> <div class="ng-blue-band" aria-hidden="true"></div> <div class="ng-stage"> <h2 class="ng-title" id="nagrody-i-jury-title">Nagrody i jury</h2> <div class="ng-intro"> <h3 class="ng-heading">Najlepsze projekty<br>nagradzamy Golden Ticket</h3> <p class="ng-description"> Po dniu budowania zespoły zgłaszają gotowe projekty na konkurs. Zwycięzców wybiera jury złożone z autorów BRAVE oraz głosy publiczności. </p> </div> <div class="ng-golden-wrap"> <div class="ng-golden-scene" aria-hidden="true"> <div class="ng-golden-photo-frame"> <img class="ng-golden-photo" src="https://app.easy.tools/files/pages/assets/2026-07-24/golden-photo_mrz7qpmx.webp" alt=""> </div> <img class="ng-golden-cutout" src="https://app.easy.tools/files/pages/assets/2026-07-24/golden-ticket_mrz7qkgc.webp" alt=""> </div> <div class="ng-prize"> <img class="ng-prize-shape" src="https://app.easy.tools/files/pages/assets/2026-07-24/jury-starburst_mrz7mizd.svg" alt=""> <div class="ng-prize-copy"> <span class="ng-prize-title">GOLDEN<br>TICKET</span> <span class="ng-prize-text"><strong>Darmowa</strong> wejściówka<br>na programy BRAVE.</span> </div> </div> <div class="ng-jury-photo-frame" aria-hidden="true"> <img class="ng-jury-photo" src="https://app.easy.tools/files/pages/assets/2026-07-24/jury-photo_mrz7qg6g.webp" alt=""> </div> </div> <div class="ng-jury-wrap"> <div class="ng-jury-scene"> <img class="ng-jury-cloud" src="https://app.easy.tools/files/pages/assets/2026-07-24/jury-cloud_mrz7mmwd.svg" alt="" aria-hidden="true"> <h3 class="ng-jury-label">Skład jury:</h3> <div class="ng-person-card" aria-hidden="true"> <img class="ng-person" src="https://app.easy.tools/files/pages/assets/2026-07-24/jury-person_mrz7qi37.webp" alt=""> </div> <img class="ng-arrow ng-arrow-left" src="https://app.easy.tools/files/pages/assets/2026-07-24/jury-arrow_mrz7msvs.svg" alt="" aria-hidden="true"> <img class="ng-arrow ng-arrow-right" src="https://app.easy.tools/files/pages/assets/2026-07-24/jury-arrow_mrz7msvs.svg" alt="" aria-hidden="true"> <p class="ng-juror-name">Imię i Nazwisko</p> <p class="ng-juror-note"> Skład jury odkrywamy stopniowo: na razie widzicie sylwetki, kolejne nazwiska pokażemy już wkrótce! </p> </div> </div> </div> <script> (function () { var section = document.getElementById('nagrody-i-jury'); if (!section) return; function syncDesktopCanvas() { if (window.matchMedia('(max-width: 980px)').matches) { section.style.removeProperty('--ng-stage-scale'); section.style.removeProperty('--ng-section-height'); section.style.removeProperty('--ng-blue-top'); section.style.removeProperty('--ng-dot-size'); return; } var scale = section.clientWidth / 1440; section.style.setProperty('--ng-stage-scale', scale); section.style.setProperty('--ng-section-height', (1117 * scale) + 'px'); section.style.setProperty('--ng-blue-top', (499 * scale) + 'px'); section.style.setProperty('--ng-dot-size', (20 * scale) + 'px'); } syncDesktopCanvas(); window.addEventListener('resize', syncDesktopCanvas); if (window.ResizeObserver) { new ResizeObserver(syncDesktopCanvas).observe(section); } })(); </script> </section>
<section id="free-friday-hero" class="free-friday-hero-section" style="--et-colors-brand: #9568d3; --et-colors-background: #f9fafb; --et-colors-text: #101828; --et-colors-card-background: #fff; --et-colors-border: #e5e7eb; --et-colors-brand-rgb: 149,104,211; overflow: visible; position: relative; background-color: var(--et-colors-background); padding-top: 0px !important;"> <style> @import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;700&display=swap'); #free-friday-hero { padding-top: 0px !important; padding-bottom: 0; padding-inline: var(--et-spacing-horizontal, 1.5rem); overflow: visible; position: relative; background-color: var(--et-colors-background); margin-top: -150px !important; } @media (min-width: 1024px) { #free-friday-hero { padding-top: 0px !important; padding-inline: var(--et-spacing-horizontal-lg, 4rem); } } #free-friday-hero .container { margin-inline: auto; max-width: 42rem; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 100px; } @media (min-width: 1024px) { #free-friday-hero .container { max-width: 80rem; min-height: 120px; } } /* Zdjęcie jest nad tłem kolejnej sekcji, ale pod jej treścią i nagłówkiem. */ #free-friday-hero .image-frame-wrapper { position: relative; display: flex; justify-content: center; z-index: 90; margin-top: 20px; transform: translateY(180px); } #free-friday-hero .image-frame { width: 416px; height: 363px; transform: rotate(6.195deg); border: 6px solid #FFD000; border-radius: var(--et-radius-image, 8px); overflow: hidden; box-shadow: 0 8px 32px rgba(0,0,0,0.13); background: #f3f4f6; position: relative; } #free-friday-hero .image-frame img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; } /* Paseczek z przewijanym tekstem */ #free-friday-hero .ticker-bar { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; background-color: #FFD000; overflow: hidden; height: 80px; display: flex; align-items: center; z-index: 8; } #free-friday-hero .ticker-track { display: flex; align-items: center; white-space: nowrap; animation: ticker-scroll-custom 12s linear infinite; gap: 4rem; } #free-friday-hero .ticker-item { color: #000; font-family: 'Archivo', sans-serif; font-size: 32px; font-style: normal; font-weight: 400; line-height: normal; letter-spacing: 2.24px; flex-shrink: 0; } #free-friday-hero .ticker-item strong { font-weight: 700; } @keyframes ticker-scroll-custom { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } } /* Responsive styling for image on smaller screens */ @media (max-width: 640px) { /* MODYFIKACJA MOBILNA DLA ODSĘPÓW */ #free-friday-hero { margin-top: 60px !important; /* Zamieniono ujemny margines na dodatni 60px na mobile */ } #free-friday-hero .image-frame-wrapper { transform: none !important; margin-top: 20px !important; /* Zresetowano ujemny i zamieniono na dodatni oddech u góry */ margin-bottom: 120px !important; /* ZWIĘKSZONO MARGINES DOLNY (odstęp między obrazkiem a ruchomym paskiem) */ } #free-friday-hero .image-frame { width: 290px; height: 253px; } #free-friday-hero .ticker-bar { height: 60px; } #free-friday-hero .ticker-item { font-size: 22px; letter-spacing: 1.5px; } } </style> <div class="container"> <!-- Rotated image frame centered and shifted down --> <div class="image-frame-wrapper"> <div class="image-frame"> <img src="https://app.easy.tools/files/pages/assets/2026-07-24/frame-1410125372_mrz7oqir.webp" alt="Wolny piątek – czas na skupioną pracę" loading="lazy" width="800" height="600" > </div> </div> </div> <!-- Ticker bar at the bottom with higher z-index overlap layout --> <div class="ticker-bar"> <div class="ticker-track"> <span class="ticker-item"><strong>WOLNY PIĄTEK</strong> OD BIEŻĄCZKI!</span> <span class="ticker-item"><strong>WOLNY PIĄTEK</strong> OD BIEŻĄCZKI!</span> <!-- Duplicator track for infinite smooth scroll effect --> <span class="ticker-item" aria-hidden="true"><strong>WOLNY PIĄTEK</strong> OD BIEŻĄCZKI!</span> <span class="ticker-item" aria-hidden="true"><strong>WOLNY PIĄTEK</strong> OD BIEŻĄCZKI!</span> </div> </div> </section>