/* Scoped landing stylesheet — all rules apply only under .inf04-landing-root */
.inf04-landing-root {
  --black: #0a0a0a;
  --dark: #111111;
  --card: #161616;
  --border: #222222;
  --red-glow: rgba(22, 163, 74, 0.15);
  --white: #f5f0eb;
  --muted: #888888;
  --accent: #ffca28;
}

.inf04-landing-root *,
.inf04-landing-root *::before,
.inf04-landing-root *::after {
  box-sizing: border-box;
}

.inf04-landing-root { scroll-behavior: smooth; }

.inf04-landing-root { background: var(--black); color: var(--white); font-family: 'Syne', sans-serif; overflow-x: hidden; cursor: default; }

.inf04-landing-root::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 100;
  opacity: 0.5;
}

.inf04-landing-root .hide { display: none; }

.inf04-landing-root .cookie-box {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0;
  background: var(--card);
  border-top: 1px solid var(--border);
  z-index: 500;
  backdrop-filter: blur(12px);
  animation: slideUpCookie 0.5s ease;
}

@keyframes slideUpCookie {
  from { transform: translateY(100%); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

.inf04-landing-root .cookie-box .container { display:flex; justify-content:space-between; align-items:center; gap:24px; padding:24px 40px; max-width:1200px; margin:0 auto; }

.inf04-landing-root .cookie-box__text { font-size:14px; line-height:1.6; color:rgba(245,240,235,0.8); flex:1; }
.inf04-landing-root .cookie-box__text a { color:var(--color-primary); text-decoration:underline; transition:color .2s; }
.inf04-landing-root .cookie-box__text a:hover { color:var(--color-primary-hover); }

.inf04-landing-root .cookie-box__cookie-btn { padding:12px 32px; font-family:'Syne',sans-serif; font-weight:700; font-size:13px; letter-spacing:1px; text-transform:uppercase; color:var(--white); background:var(--color-primary); border:none; cursor:pointer; transition:background .2s, transform .1s; white-space:nowrap; flex-shrink:0; }
.inf04-landing-root .cookie-box__cookie-btn:hover { background:var(--color-primary-hover); transform:translateY(-2px); }
.inf04-landing-root .cookie-box__cookie-btn:active { transform:translateY(0); }

@media (max-width: 768px) {
  .inf04-landing-root .cookie-box .container { flex-direction:column; gap:16px; padding:20px; text-align:center; }
  .inf04-landing-root .cookie-box__cookie-btn { width:100%; }
}

.inf04-landing-root .topbar { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:16px 40px; background:rgba(10,10,10,0.85); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }

.inf04-landing-root .logo { font-family:'Bebas Neue',sans-serif; font-size:28px; letter-spacing:3px; color:var(--white); }
.inf04-landing-root .logo span { color:var(--red); }

.inf04-landing-root .nav-cta { background:var(--color-primary); color:var(--white); font-family:'Syne',sans-serif; font-weight:700; font-size:13px; letter-spacing:1.5px; text-transform:uppercase; padding:10px 24px; border:none; cursor:pointer; text-decoration:none; transition:background .2s, transform .1s; display:inline-block; }
.inf04-landing-root .nav-cta:hover { background:var(--color-primary-hover); transform:translateY(-1px); }

.inf04-landing-root .countdown-strip { position:fixed; top:65px; left:0; right:0; z-index:50; padding:8px 0; text-align:center; font-family:'JetBrains Mono',monospace; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; animation:pulse-strip 2s ease-in-out infinite; }
@keyframes pulse-strip { 0%,100% { background:var(--color-primary-strong); } 50% { background:var(--color-primary); } }
.inf04-landing-root .countdown-strip strong { color:var(--accent); margin:0 8px; }

.inf04-landing-root .hero { min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 24px 80px; position:relative; text-align:center; overflow:hidden; }
.inf04-landing-root .hero-bg { position:absolute; inset:0; background: radial-gradient(ellipse 60% 50% at 50% 60%, rgba(22,163,74,0.08) 0%, transparent 70%), radial-gradient(ellipse 40% 30% at 20% 20%, rgba(22,163,74,0.04) 0%, transparent 60%); }
.inf04-landing-root .hero-grid { position:absolute; inset:0; background-image: linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px); background-size:60px 60px; mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 0%, transparent 100%); }

.inf04-landing-root .hero-eyebrow { font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:4px; text-transform:uppercase; color:var(--color-primary); margin-bottom:24px; position:relative; display:flex; align-items:center; gap:12px; }
.inf04-landing-root .hero-eyebrow::before, .inf04-landing-root .hero-eyebrow::after { content:''; width:40px; height:1px; background:var(--red); }

.inf04-landing-root .hero-headline { font-family:'Bebas Neue',sans-serif; font-size:clamp(72px,14vw,160px); line-height:0.9; letter-spacing:-2px; position:relative; margin-bottom:8px; }
.inf04-landing-root .hero-headline .line-1 { color:var(--white); display:block; }
.inf04-landing-root .hero-headline .line-2 { color:var(--color-primary); display:block; text-shadow:0 0 80px rgba(40, 110, 46, 0.25); -webkit-text-stroke:0px transparent; }
.inf04-landing-root .hero-headline .line-3 { color:transparent; -webkit-text-stroke:1px rgba(245,240,235,0.2); display:block; }

.inf04-landing-root .hero-sub { font-size:clamp(16px,2.5vw,22px); font-weight:400; color:var(--muted); max-width:600px; line-height:1.6; margin:32px auto; position:relative; }
.inf04-landing-root .hero-sub strong { color:var(--white); font-weight:700; }

.inf04-landing-root .hero-cta-group { display:flex; flex-wrap:wrap; gap:16px; justify-content:center; position:relative; margin-top:8px; }
.inf04-landing-root .btn-primary { background:var(--color-primary); color:var(--white); font-family:'Syne',sans-serif; font-weight:800; font-size:16px; letter-spacing:1px; text-transform:uppercase; padding:18px 48px; border:none; cursor:pointer; text-decoration:none; display:inline-block; position:relative; overflow:hidden; transition: transform .2s; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); }
.inf04-landing-root .btn-primary::before { content:''; position:absolute; inset:0; background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 50%); opacity:0; transition: opacity .2s; }
.inf04-landing-root .btn-primary:hover { transform: translateY(-3px); }
.inf04-landing-root .btn-primary:hover::before { opacity:1; }
.inf04-landing-root .btn-secondary { color:var(--white); font-family:'Syne',sans-serif; font-weight:600; font-size:14px; padding:18px 32px; border:1px solid var(--border); background:transparent; cursor:pointer; text-decoration:none; display:inline-block; transition: border-color .2s, color .2s; letter-spacing:0.5px; }
.inf04-landing-root .btn-secondary:hover { border-color: var(--muted); }

.inf04-landing-root .hero-trust { display:flex; align-items:center; gap:32px; margin-top:56px; flex-wrap:wrap; justify-content:center; position:relative; }
.inf04-landing-root .trust-item { display:flex; flex-direction:column; align-items:center; gap:4px; }
.inf04-landing-root .trust-number { font-family:'Bebas Neue',sans-serif; font-size:36px; color:var(--white); line-height:1; }
.inf04-landing-root .trust-label { font-size:11px; color:var(--muted); letter-spacing:2px; text-transform:uppercase; }
.inf04-landing-root .trust-divider { width:1px; height:40px; background:var(--border); }

.inf04-landing-root .pain-section { padding:120px 24px; background:var(--dark); border-top:1px solid var(--border); border-bottom:1px solid var(--border); position:relative; overflow:hidden; }
.inf04-landing-root .pain-section::before { content:'OBLAŁEŚ?'; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); font-family:'Bebas Neue',sans-serif; font-size:200px; color:rgba(232,38,58,0.04); white-space:nowrap; pointer-events:none; letter-spacing:20px; }

.inf04-landing-root .pain-text { color: var(--color-danger-light);}

.inf04-landing-root .container { max-width:1100px; margin:0 auto; position:relative; }
.inf04-landing-root .section-tag { font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:4px; text-transform:uppercase; color:var(--red); margin-bottom:20px; display:block; }
.inf04-landing-root .section-title { font-family:'Bebas Neue',sans-serif; font-size:clamp(48px,7vw,96px); line-height:0.95; margin-bottom:24px; }

.inf04-landing-root .pain-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:64px; }
.inf04-landing-root .pain-item { background:var(--card); padding:40px; border:1px solid var(--border); position:relative; overflow:hidden; transition: border-color .3s; }
.inf04-landing-root .pain-item:hover { border-color:var(--color-danger); }
.inf04-landing-root .pain-item::before { content:''; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--color-danger); transform:scaleY(0); transition: transform .3s; transform-origin: top; }
.inf04-landing-root .pain-item:hover::before { transform:scaleY(1); }
.inf04-landing-root .pain-number { font-family:'Bebas Neue',sans-serif; font-size:80px; color:var(--color-danger-light); opacity: 0.1; line-height:1; position:absolute; top:20px; right:24px; }
.inf04-landing-root .pain-text { font-size:18px; font-weight:600; line-height:1.5; position:relative; }
.inf04-landing-root .pain-text em { display:block; font-size:14px; font-weight:400; color:var(--muted); font-style:normal; margin-top:8px; }

.inf04-landing-root .transform-section { padding:120px 24px; position:relative; overflow:hidden; }
.inf04-landing-root .transform-inner { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; max-width:1100px; margin:0 auto; }
.inf04-landing-root .transform-left .section-title { margin-bottom:32px; }
.inf04-landing-root .transform-text { font-size:17px; line-height:1.8; color:rgba(245,240,235,0.7); margin-bottom:24px; }
.inf04-landing-root .transform-text strong { color:var(--white); }
.inf04-landing-root .feature-list { list-style:none; margin-top:40px; }
.inf04-landing-root .feature-list li { display:flex; align-items:flex-start; gap:16px; padding:16px 0; border-bottom:1px solid var(--border); font-size:15px; line-height:1.5; }
.inf04-landing-root .feature-list li:last-child { border-bottom:none; }
.inf04-landing-root .feature-icon { width:28px; height:28px; background:var(--red-glow); border:1px solid rgba(40,110,46,0.3); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:14px; margin-top:2px; }

.inf04-landing-root .transform-visual { position:relative; }
.inf04-landing-root .screen-mock { background:var(--card); border:1px solid var(--border); padding:0; position:relative; overflow:hidden; aspect-ratio:4/3; }
.inf04-landing-root .screen-bar { background:#1a1a1a; padding:12px 16px; display:flex; align-items:center; gap:8px; border-bottom:1px solid var(--border); }
.inf04-landing-root .screen-dot { width:10px; height:10px; border-radius:50%; }
.inf04-landing-root .screen-content { padding:32px; }
.inf04-landing-root .code-line { font-family:'JetBrains Mono',monospace; font-size:13px; line-height:2; opacity:0; animation:fadeInLine 0.5s forwards; }
.inf04-landing-root .code-line:nth-child(1) { animation-delay:0.2s; }
.inf04-landing-root .code-line:nth-child(2) { animation-delay:0.5s; }
.inf04-landing-root .code-line:nth-child(3) { animation-delay:0.8s; }
.inf04-landing-root .code-line:nth-child(4) { animation-delay:1.1s; }
.inf04-landing-root .code-line:nth-child(5) { animation-delay:1.4s; }
.inf04-landing-root .code-line:nth-child(6) { animation-delay:1.7s; }
.inf04-landing-root .code-line:nth-child(7) { animation-delay:2s; }

@keyframes fadeInLine { from { opacity:0; transform:translateX(-10px); } to { opacity:1; transform:translateX(0); } }

.inf04-landing-root .cl-keyword { color:var(--color-primary); }
.inf04-landing-root .cl-function { color:#ffd93d; }
.inf04-landing-root .cl-string { color:#6bcb77; }
.inf04-landing-root .cl-comment { color:#555; }
.inf04-landing-root .cl-var { color:#4ecdc4; }

.inf04-landing-root .pass-badge { position:absolute; bottom:-20px; right:-20px; width:100px; height:100px; background:var(--color-primary-strong); display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(12deg); box-shadow:0 0 40px rgba(40,110,46,0.25); }
.inf04-landing-root .pass-badge-text { font-family:'Bebas Neue',sans-serif; font-size:18px; color:#000; line-height:1.2; text-align:center; }

.inf04-landing-root .inside-section { padding:120px 24px; background:var(--dark); border-top:1px solid var(--border); }
.inf04-landing-root .inside-header { text-align:center; margin-bottom:80px; }
.inf04-landing-root .modules-grid { display:grid; grid-template-columns:1fr; gap:16px; }
.inf04-landing-root .module-card { display:flex; flex-direction:column; justify-content:space-between; background:var(--card); border:1px solid var(--border); padding:28px; position:relative; overflow:hidden; transition: transform .3s, border-color .3s; min-height:160px; }
.inf04-landing-root .module-card:hover { transform:translateY(-4px); border-color:rgba(22,163,74,0.4); }
.inf04-landing-root .module-number { font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--red); letter-spacing:3px; margin-bottom:16px; display:block; }
.inf04-landing-root .module-title { font-family:'Syne',sans-serif; font-size:20px; font-weight:800; margin-bottom:12px; line-height:1.3; }
.inf04-landing-root .module-desc { font-size:14px; color:var(--muted); line-height:1.6; }
.inf04-landing-root .module-lessons { margin-top:20px; padding-top:20px; border-top:1px solid var(--border); font-family:'JetBrains Mono',monospace; font-size:11px; color:var(--muted); letter-spacing:1px; }

.inf04-landing-root .proof-section { padding:120px 24px; background:var(--dark); border-top:1px solid var(--border); }
.inf04-landing-root .proof-header { text-align:center; margin-bottom:64px; }
.inf04-landing-root .reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; max-width:1100px; margin:0 auto; }
.inf04-landing-root .review-card { background:var(--card); border:1px solid var(--border); padding:32px; position:relative; transition: border-color .3s, transform .3s; }
.inf04-landing-root .review-card:hover { border-color:rgba(22,163,74,0.3); transform:translateY(-4px); }
.inf04-landing-root .review-stars { color:var(--accent); font-size:16px; letter-spacing:2px; margin-bottom:16px; }
.inf04-landing-root .review-text { font-size:15px; line-height:1.7; color:rgba(245,240,235,0.8); margin-bottom:24px; font-style:italic; }
.inf04-landing-root .review-author { display:flex; align-items:center; gap:12px; }
.inf04-landing-root .author-avatar { width:40px; height:40px; background:var(--border); border-radius:0; display:flex; align-items:center; justify-content:center; font-family:'Bebas Neue',sans-serif; font-size:18px; color:var(--red); border:1px solid var(--border); flex-shrink:0; }
.inf04-landing-root .author-name { font-weight:700; font-size:14px; }
.inf04-landing-root .author-school { font-size:12px; color:var(--muted); }
.inf04-landing-root .review-badge { position:absolute; top:20px; right:20px; background:rgba(0,230,118,0.1); border:1px solid rgba(0,230,118,0.3); color:var(--green); font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:1px; padding:4px 10px; text-transform:uppercase; }

.inf04-landing-root .pricing-section { padding:120px 24px; text-align:center; position:relative; overflow:hidden; }
.inf04-landing-root .pricing-section::before { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:600px; height:600px; pointer-events:none; }
.inf04-landing-root .pricing-card { max-width:520px; margin:64px auto 0; background:var(--card); border:1px solid var(--border); padding:56px 48px; position:relative; text-align:left; }
.inf04-landing-root .pricing-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:var(--color-primary, #286e2e); }
.inf04-landing-root .pricing-badge { display:inline-block; background:var(--color-primary, #286e2e); color:var(--white); font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:3px; padding:6px 16px; text-transform:uppercase; margin-bottom:32px; }
.inf04-landing-root .pricing-name { font-family:'Bebas Neue',sans-serif; font-size:42px; margin-bottom:8px; }
.inf04-landing-root .pricing-price { display:flex; align-items:baseline; gap:12px; margin:24px 0; }
.inf04-landing-root .price-main { font-family:'Bebas Neue',sans-serif; font-size:88px; line-height:1; color:var(--white); }
.inf04-landing-root .price-currency { font-family:'Bebas Neue',sans-serif; font-size:36px; color:var(--muted); }
.inf04-landing-root .price-old { font-family:'JetBrains Mono',monospace; font-size:18px; color:var(--muted); text-decoration:line-through; margin-left:8px; }
.inf04-landing-root .pricing-includes { list-style:none; margin:32px 0; border-top:1px solid var(--border); padding-top:32px; }
.inf04-landing-root .pricing-includes li { display:flex; align-items:center; gap:12px; padding:10px 0; font-size:15px; border-bottom:1px solid rgba(255,255,255,0.04); }
.inf04-landing-root .check { color:var(--green); font-size:16px; }
.inf04-landing-root .pricing-cta { width:100%; background:var(--color-primary, #286e2e); color:var(--white); font-family:'Syne',sans-serif; font-weight:800; font-size:18px; letter-spacing:1px; text-transform:uppercase; padding:22px; border:none; cursor:pointer; text-decoration:none; display:block; text-align:center; transition: background .2s, transform .1s; margin-top:8px; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px)); }
.inf04-landing-root .pricing-cta:hover { background:var(--color-primary-hover, #235f28); transform:translateY(-2px); }
.inf04-landing-root .pricing-note { text-align:center; font-size:13px; color:var(--muted); margin-top:16px; }
.inf04-landing-root .pricing-note span { color:var(--green); }

.inf04-landing-root .faq-section { padding:100px 24px; background:var(--dark); border-top:1px solid var(--border); }
.inf04-landing-root .faq-header { text-align:center; margin-bottom:64px; }
.inf04-landing-root .faq-grid { max-width:800px; margin:0 auto; }
.inf04-landing-root .faq-item { border-bottom:1px solid var(--border); overflow:hidden; }
.inf04-landing-root .faq-q { width:100%; background:none; border:none; color:var(--white); font-family:'Syne',sans-serif; font-weight:700; font-size:17px; text-align:left; padding:24px 0; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:16px; transition: color .2s; }
.inf04-landing-root .faq-q:hover { color:var(--red); }
.inf04-landing-root .faq-arrow { font-size:20px; transition: transform .3s; flex-shrink:0; color:var(--red); }
.inf04-landing-root .faq-item.open .faq-arrow { transform: rotate(45deg); }
.inf04-landing-root .faq-a { max-height:0; overflow:hidden; transition: max-height .4s ease, padding .3s; font-size:15px; line-height:1.8; color:rgba(245,240,235,0.65); padding:0; }
.inf04-landing-root .faq-item.open .faq-a { max-height:300px; padding-bottom:24px; }

.inf04-landing-root .final-cta { padding:140px 24px; text-align:center; position:relative; overflow:hidden; }
.inf04-landing-root .final-cta::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(22,163,74,0.1) 0%, transparent 70%); }
.inf04-landing-root .final-cta .section-title { font-size:clamp(56px,9vw,120px); }
.inf04-landing-root .final-cta .section-title span { color:var(--red); }
.inf04-landing-root .final-cta-sub { font-size:20px; color:var(--muted); max-width:500px; margin:24px auto 48px; line-height:1.6; }

.inf04-landing-root footer { padding:40px 24px; border-top:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; }
.inf04-landing-root .footer-logo { font-family:'Bebas Neue',sans-serif; font-size:22px; letter-spacing:3px; }
.inf04-landing-root .footer-logo span { color:var(--red); }
.inf04-landing-root .footer-links { display:flex; gap:32px; list-style:none; }
.inf04-landing-root .footer-links a { color:var(--muted); text-decoration:none; font-size:13px; transition: color .2s; }
.inf04-landing-root .footer-links a:hover { color:var(--white); }
.inf04-landing-root .footer-copy { font-size:12px; color:var(--muted); width:100%; text-align:center; margin-top:16px; padding-top:16px; border-top:1px solid var(--border); }

.inf04-landing-root .reveal { opacity:0; transform:translateY(30px); transition: opacity .7s ease, transform .7s ease; }
.inf04-landing-root .reveal.visible { opacity:1; transform:translateY(0); }

@media (max-width: 768px) {
  .inf04-landing-root .topbar { padding:14px 20px; }
  .inf04-landing-root .pain-grid { grid-template-columns: 1fr; }
  .inf04-landing-root .transform-inner { grid-template-columns: 1fr; gap: 48px; }
  .inf04-landing-root .modules-grid { grid-template-columns: 1fr; }
  .inf04-landing-root .reviews-grid { grid-template-columns: 1fr; }
  .inf04-landing-root .pricing-card { padding: 40px 28px; }
  .inf04-landing-root .price-main { font-size: 72px; }
  .inf04-landing-root footer { flex-direction: column; text-align: center; }
  .inf04-landing-root .footer-links { flex-wrap: wrap; justify-content: center; }
  .inf04-landing-root .transform-visual { display: none; }
}

@media (min-width: 1024px) {
  .inf04-landing-root .modules-grid { grid-template-columns: repeat(4, 1fr); gap:20px; }
}

@media (max-width: 480px) {
  .inf04-landing-root .topbar .logo { font-size:22px; }
  .inf04-landing-root .hero-cta-group { flex-direction: column; align-items: center; }
  .inf04-landing-root .btn-primary, .inf04-landing-root .btn-secondary { width:100%; text-align:center; }
}
