/* Strona główna DevaGuard wg wzoru tryplayground.com: kremowy hero, ciasne pogrubione nagłówki, zakładki nad ramką aplikacji,
   lista funkcji z kolorową kartą podglądu, kafelki „bento” z fragmentami interfejsu, kremowa oś „pierwszy dzień”. Kolor akcentu: czerwień. */
.home {
  --g: #00743C; --g-dark: #005A2E; --g-soft: #E5F1EA; --cream: #F4F4F2; --cream2: #F9F9F8; --tile: #FAF9F7;
  --ink: #1C1917; --text: #44403C; --muted: #78716C; --line: #ECEAE6;
  --head: "Open Sans", Arial, sans-serif; --body: "Open Sans", Arial, sans-serif;
  background: #fff; color: var(--ink); font: 16px/1.55 var(--body);
}
.home h1, .home h2, .home h3 { font-family: var(--head); color: var(--ink); }
.home .wrap { max-width: 1216px; }

/* pasek ogłoszeń i nagłówek */
.announce { background: var(--g); color: #fff; text-align: center; font: 600 14px var(--body); padding: 10px 16px; }
.announce a { color: #fff; text-decoration: none; }
.home .top { background: #fff; border: 0; position: sticky; top: 0; z-index: 10; transition: background .2s, box-shadow .2s; }
.home .top.scrolled { background: #fff; box-shadow: 0 1px 0 var(--line); }
.home .top .wrap { min-height: 76px; border-bottom: 1px solid #E8E8E5; }
.home .top.scrolled .wrap { border-color: transparent; }
.home .brand { font: 700 20px var(--head); letter-spacing: -.5px; }
.home .top nav { margin: 0 auto; }
.home .top nav a { color: #57534E; font-size: 15px; font-weight: 500; }
.top .mail { color: var(--g); font-weight: 600; text-decoration: none; font-size: 15px; margin-right: 8px; }
.gbtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: var(--g); color: #fff; border: 0; border-radius: 9px; font: 600 16px var(--body); padding: 0 18px; height: 42px; text-decoration: none; white-space: nowrap;
  box-shadow: inset 0 1px 0 #ffffff40, 0 1px 2px #005A2E40, 0 4px 10px -2px #00743C40; }
.gbtn:hover { background: var(--g-dark); color: #fff; }
.gbtn.lg { height: 52px; padding: 0 24px; font-size: 18px; }

/* hero */
.hero2 { background: linear-gradient(var(--cream) 0, var(--cream) 62%, var(--cream2) 82%, #fff 100%); text-align: center; padding: 56px 0 0; overflow: hidden; }
.chip { display: inline-flex; align-items: center; gap: 10px; padding: 5px 14px; background: #EEF6F1; border: 1px solid #C9E2D3; border-radius: 30px; font: 500 14px var(--body); color: #00552C; text-decoration: none; }
.chip .ar { width: 20px; height: 20px; border-radius: 50%; background: var(--g); color: #fff; display: grid; place-items: center; font-size: 12px; }
.hero2 h1 { font-size: clamp(40px, 6.4vw, 72px); font-weight: 800; line-height: 1.02; letter-spacing: -.025em; max-width: 960px; margin: 26px auto 22px; }
.hero2 .lead { font-size: 18px; color: var(--text); max-width: 660px; margin: 0 auto 28px; }
.trust { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; margin-top: 18px; font: 500 15px var(--body); color: var(--text); }
.trust span::before { content: "✓"; color: var(--g); font-weight: 800; margin-right: 6px; }

/* zakładki i ramka aplikacji */
.tourbar { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 54px auto 0; max-width: 1000px; padding: 0 16px; }
.round { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid #E7E2D9; background: #fff; display: grid; place-items: center; cursor: pointer; font-size: 18px; color: var(--ink); box-shadow: 0 1px 2px #0000000d; }
.round:hover { background: #F7F5F1; }
.tablist { display: flex; gap: 4px; padding: 5px; background: #EDEDEB; border: 1px solid #E2E2DF; border-radius: 40px; overflow-x: auto; scrollbar-width: none; }
.tablist::-webkit-scrollbar { display: none; }
.tablist button { flex: none; border: 0; background: none; padding: 9px 18px; border-radius: 30px; font: 500 16px var(--body); color: #78716C; cursor: pointer; white-space: nowrap; }
.tablist button[aria-selected="true"] { background: #fff; color: var(--g); box-shadow: 0 1px 3px #00000014, 0 0 0 1px #E7E2D9; }
.appframe { max-width: 1000px; margin: 22px auto 0; padding: 8px; background: #F4F2EE; border: 1px solid #E7E4DE; border-radius: 18px; position: relative; box-shadow: 0 24px 60px -30px #44403C59; }
.appframe img { display: block; width: 100%; height: auto; border-radius: 12px; border: 1px solid #E7E4DE; background: #fff; }
.appframe .playpill { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); display: inline-flex; align-items: center; gap: 10px; background: #fff; border-radius: 40px; padding: 8px 18px 8px 8px; font: 600 17px var(--head); color: var(--ink); text-decoration: none; box-shadow: 0 8px 28px -6px #1C191740; }
.playpill .pl { width: 34px; height: 34px; border-radius: 50%; background: #E0F0E6; color: var(--g); display: grid; place-items: center; font-size: 14px; }
.playpill small { color: var(--muted); font: 500 14px var(--body); }

/* pas źródeł */
.sources { text-align: center; padding: 56px 0 24px; color: var(--muted); font-size: 16px; }
.sources ul { list-style: none; padding: 0; margin: 22px auto 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 46px; }
.sources li { font: 700 19px var(--head); color: #A8A29E; letter-spacing: -.3px; }

/* „Poznaj DevaGuard”: nagłówek + lista z kartą podglądu */
.sec2 { padding: 110px 0; }
.intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 40px; align-items: start; margin-bottom: 60px; }
.big { font-size: clamp(36px, 5vw, 60px); font-weight: 800; line-height: 1.08; letter-spacing: -.025em; margin: 0; }
.intro p { color: var(--text); font-size: 18px; max-width: 520px; margin: 14px 0 12px; }
.tlink { color: var(--g); font-weight: 600; text-decoration: none; }
.tlink:hover { text-decoration: underline; }
.pick { display: grid; grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 50px; align-items: start; }
.pick-list { margin: 0; padding: 0; list-style: none; }
.pick-list li { border-bottom: 1px solid var(--line); }
.pick-list li:first-child { border-top: 2px solid var(--g); }
.pick-list button { width: 100%; display: flex; align-items: center; gap: 12px; padding: 22px 0; background: none; border: 0; cursor: pointer; text-align: left; font: 500 20px var(--head); color: var(--ink); }
.pick-list .ico { width: 22px; text-align: center; color: var(--muted); }
.pick-list li.on .ico { color: var(--g); }
.pick-list .go { margin-left: auto; width: 30px; height: 30px; border-radius: 50%; border: 1px solid #E2DED8; display: grid; place-items: center; font-size: 14px; color: var(--muted); }
.pick-list .desc { display: none; color: var(--text); font-size: 16px; padding: 0 0 22px 34px; margin-top: -8px; }
.pick-list li.on .desc { display: block; }
.pick-list li.on .go { border-color: var(--g); color: var(--g); }
.peek { border-radius: 18px; padding: 28px 0 0 28px; overflow: hidden; border: 1px solid #F0E3E3; background: #FBF0F0; min-height: 420px; }
.peek[data-tone="green"] { background: #EEF7F1; border-color: #DCEDE2; }
.peek[data-tone="cream"] { background: #FBF4E8; border-color: #F1E5CF; }
.peek[data-tone="blue"] { background: #EEF3FB; border-color: #DCE5F3; }
.peek img { display: block; width: 125%; max-width: none; height: auto; border-radius: 12px 0 0 0; border: 1px solid #E7E4DE; border-right: 0; border-bottom: 0; box-shadow: 0 10px 40px -12px #44403C40; background: #fff; }

/* sekcja kategorii + bento */
.cat { text-align: center; max-width: 820px; margin: 0 auto 50px; }
.cat .lbl { display: inline-flex; gap: 8px; align-items: center; color: var(--g); font: 600 16px var(--body); }
.cat .big { margin: 14px 0 18px; }
.cat p { color: var(--text); font-size: 18px; max-width: 560px; margin: 0 auto; }
.bento { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 16px; }
.tile { background: var(--tile); border-radius: 16px; padding: 32px 0 0 32px; overflow: hidden; display: flex; flex-direction: column; min-height: 380px; }
.tile h3 { font: 500 22px var(--head); letter-spacing: -.4px; margin: 0 32px 10px 0; }
.tile p { color: var(--text); font-size: 16px; margin: 0 32px 24px 0; }
.tile .shot { margin-top: auto; }
.tile .shot img { display: block; width: 100%; height: auto; border-radius: 10px 0 0 0; border: 1px solid #E7E4DE; border-right: 0; border-bottom: 0; box-shadow: 0 10px 30px -14px #44403C40; background: #fff; }
.tile.pad .shot { padding-right: 32px; padding-bottom: 32px; }
.tile.pad .shot img { border-radius: 10px; border: 1px solid #E7E4DE; }
.w4 { grid-column: span 4; } .w2 { grid-column: span 2; } .w3 { grid-column: span 3; } .w6 { grid-column: span 6; }
.owners { display: grid; gap: 14px; margin: 0 32px 32px 0; }
.owners > div { background: #fff; border: 1px solid #ECEAE6; border-radius: 12px; padding: 14px 16px; font-size: 15px; }
.owners strong { display: block; font-family: var(--head); }
.owners .bar { height: 7px; background: #F0EEEA; border-radius: 7px; margin-top: 10px; overflow: hidden; }
.owners .bar i { display: block; height: 100%; background: var(--ink); border-radius: 7px; }

/* kremowa oś „pierwszy dzień” */
.cream { background: var(--cream); padding: 110px 0; }
.days { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-top: 50px; }
.day { background: #fff; border: 1px solid #F0E6D6; border-radius: 16px; padding: 26px; }
.day .when { display: inline-block; background: var(--g); color: #fff; font: 600 14px var(--body); padding: 5px 12px; border-radius: 20px; margin-bottom: 16px; }
.day h3 { font: 600 20px var(--head); letter-spacing: -.3px; margin: 0 0 8px; }
.day p { color: var(--text); font-size: 15px; margin: 0; }

/* film */
.film2 { max-width: 1000px; margin: 0 auto; border-radius: 18px; overflow: hidden; border: 1px solid #E7E4DE; box-shadow: 0 24px 60px -30px #44403C59; background: #111; }
.film2 video { display: block; width: 100%; height: auto; }

/* cennik */
.plans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 920px; margin: 0 auto; }
.plan { background: var(--tile); border-radius: 18px; padding: 34px; }
.plan .amt { font: 800 46px var(--head); letter-spacing: -.05em; margin: 6px 0 4px; }
.plan ul { list-style: none; padding: 0; margin: 20px 0 26px; }
.plan li { padding: 7px 0 7px 28px; position: relative; color: var(--text); }
.plan li::before { content: "✓"; position: absolute; left: 0; color: var(--g); font-weight: 800; }
.plan.dark { background: #1C1917; color: #fff; }
.plan.dark h3, .plan.dark .amt { color: #fff; }
.plan.dark li { color: #D6D3D1; }
.plan.dark .gbtn { background: #fff; color: #1C1917; box-shadow: none; }
.plan .note { color: var(--muted); font-size: 15px; }
.plan.dark .note { color: #A8A29E; }

/* zastrzeżenie, FAQ, finał */
.warn-band { max-width: 920px; margin: 0 auto; background: var(--tile); border: 1px solid #ECEAE6; border-radius: 16px; padding: 24px 28px; color: #57534E; font-size: 16px; }
.warn-band strong { display: block; font: 700 19px var(--head); color: var(--ink); margin-bottom: 6px; }
.home details { background: #fff; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 22px 0; }
.home details + details { margin-top: 0; }
.home summary { font: 500 19px var(--head); list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.home summary::-webkit-details-marker { display: none; }
.home summary::after { content: "+"; font-size: 24px; line-height: 1; color: var(--muted); }
.home details[open] summary::after { content: "–"; }
.home details p { color: var(--text); }
.final2 { background: linear-gradient(135deg, #005A2E, #00743C); color: #fff; border-radius: 24px; padding: 72px 24px; text-align: center; }
.final2 .big { color: #fff; }
.final2 p { color: #DDEFE4; font-size: 18px; margin: 16px 0 28px; }
.final2 .gbtn { background: #fff; color: var(--g-dark); box-shadow: 0 6px 20px -6px #00000040; }
.final2 a:not(.gbtn) { color: #fff; }

@media (max-width: 1020px) {
  .home .top nav { display: none; }
  .intro, .pick { grid-template-columns: minmax(0, 1fr); }
  .bento { grid-template-columns: minmax(0, 1fr); }
  .w4, .w2, .w3, .w6 { grid-column: auto; }
  .days { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .plans { grid-template-columns: minmax(0, 1fr); }
  .sec2, .cream { padding: 72px 0; }
}
@media (max-width: 600px) {
  .top .mail { display: none; }
  .tourbar .round { display: none; }
  .tablist button { padding: 8px 13px; font-size: 14px; }
  .appframe { margin-left: 12px; margin-right: 12px; padding: 5px; }
  .appframe .playpill { bottom: 10px; font-size: 14px; padding: 5px 12px 5px 5px; }
  .playpill .pl { width: 26px; height: 26px; }
  .days { grid-template-columns: minmax(0, 1fr); }
  .tile { min-height: 0; padding: 24px 0 0 24px; }
  .tile h3, .tile p { margin-right: 24px; }
  .peek { min-height: 0; padding: 18px 0 0 18px; }
  .final2 { border-radius: 0; margin: 0 -20px; }
}

/* stopka wg wzoru Pengon (footer.design): jasnoszare tło, pionowe linie siatki, zegary w monospace, linia stanu, rycina gór z kropek */
.pfoot { background: #ECEBE8; color: #57534E; position: relative; overflow: hidden; padding: 120px 0 0; border: 0; font-size: 16px; }
.pfoot .wrap { display: grid; }
.pf-grid { position: absolute; inset: 0 0 auto 0; height: 120px; display: grid; grid-template-columns: repeat(6, 1fr); pointer-events: none; }
.pf-grid i { border-right: 1px solid #DEDCD7; background: linear-gradient(#ECEBE800, #ECEBE8); }
.pf-top { grid-template-columns: minmax(0, 1fr) 180px 160px; gap: 40px; align-items: start; }
.pf-logo { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: #1C1917; font: 700 30px var(--head); letter-spacing: -.8px; }
.pf-brand p { margin: 18px 0 30px; max-width: 520px; line-height: 1.7; }
.pf-clocks { display: flex; gap: 34px; flex-wrap: wrap; }
.pf-clocks div { display: grid; gap: 2px; }
.pf-clocks b { font: 600 17px var(--mono); color: #1C1917; letter-spacing: .5px; }
.pf-clocks span { font-size: 15px; color: #57534E; }
.pf-clocks small { font: 11px var(--mono); letter-spacing: 1.4px; text-transform: uppercase; color: #A8A29E; }
.pf-col { display: grid; gap: 14px; align-content: start; }
.pf-h { font: 12px var(--mono); letter-spacing: 1.8px; text-transform: uppercase; color: #78716C; margin-bottom: 24px; }
.pf-col a { color: #57534E; text-decoration: none; font-size: 19px; }
.pf-col a:hover { color: var(--g); }
.pf-line { display: flex !important; flex-wrap: wrap; justify-content: center !important; gap: 10px 16px; margin-top: 110px; font: 13px var(--mono); letter-spacing: 1.4px; text-transform: uppercase; color: #78716C; }
.pf-line a { color: #57534E; }
.pf-ok { display: inline-flex; align-items: center; gap: 8px; }
.pf-ok i { width: 9px; height: 9px; border-radius: 50%; background: #2F9E57; box-shadow: 0 0 0 3px #2F9E5722; }
.pf-note { text-align: center; font-size: 14px; color: #78716C; margin: 14px auto 0; display: block !important; }
.pf-art { margin-top: 40px; line-height: 0; }
.pf-art img { width: 100%; height: auto; opacity: .55; }
@media (max-width: 860px) {
  .pfoot { padding-top: 80px; }
  .pf-top { grid-template-columns: 1fr 1fr; }
  .pf-brand { grid-column: 1 / -1; }
  .pf-line { margin-top: 60px; }
}

/* cennik: przyciski obu kart na tej samej wysokości (przy dole karty) */
.plan { display: flex; flex-direction: column; }
.plan ul { flex: 1; }
.plan .gbtn { align-self: flex-start; }

/* lupa na zrzutach aplikacji (tylko z myszą) */
.zoomable { cursor: zoom-in; }
.lens { position: fixed; z-index: 50; width: 260px; height: 260px; border-radius: 50%; pointer-events: none; display: none;
  border: 3px solid #fff; box-shadow: 0 14px 40px -8px #1C191766, 0 0 0 1px #1C191722; background-repeat: no-repeat; background-color: #fff; transform: translate(-50%, -50%); }
.lens.on { display: block; }
@media (hover: none), (pointer: coarse) { .lens { display: none !important; } .zoomable { cursor: auto; } }

/* Księga znaku DevaGroup: znak DevaGuard z polem ochronnym 1/4 wysokości; w belce wersja pozioma (Deva, tarcza, Guard), w stopce pionowa. DevaGroup jako autor w oryginalnej postaci. */
.top .brand img, .home .top .brand img { width: auto; height: 40px; flex: none; }
@media (max-width: 480px) { .top .brand img, .home .top .brand img { height: 30px; } }
.home .top .wrap { min-height: 80px; }
.top .brand { padding: 16px 18px 16px 0; }
.pf-logo { padding: 22px 22px 22px 0; }
.pf-logo img { width: auto; height: 90px; display: block; }
.pf-author { display: inline-flex; flex-direction: column; gap: 10px; margin-top: 34px; padding: 15px 15px 15px 0; text-decoration: none; }
.pf-author span { font: 11px var(--mono); letter-spacing: 1.4px; text-transform: uppercase; color: #78716C; }
.pf-author img { width: auto; height: 60px; display: block; }
.tile.center .shot { margin: auto 0; }
/* Telefon: treści, przyciski i kafelki wyśrodkowane (FAQ i lista z strzałkami zostają do lewej). */
@media (max-width: 600px) {
  .intro, .intro p, .tile, .day, .plan, .warn-band, .pf-brand, .pf-col { text-align: center; }
  .intro p { margin-left: auto; margin-right: auto; }
  .plan { align-items: center; }
  .plan ul { align-self: center; text-align: left; flex: none; }
  .plan .gbtn { align-self: center; }
  .pf-logo { padding: 22px 0; display: inline-block; }
  .pf-author { margin-left: auto; margin-right: auto; align-items: center; padding: 15px 0; }
  .pf-author img { margin: 0 auto; }
  .pf-clocks { justify-content: center; }
  .pf-clocks div { justify-items: center; }
}
.film-note { text-align: center; color: var(--muted); font-size: 14px; margin: 14px 0 0; }
