/* Home page content below the scroll-expand hero.
   The section layout (lead space with a rail of links, mission pictures, feature cards, band of horizontal cards, picture + statement, column footer) on Pulse's own look: the dark page
   background with its glows, Plus Jakarta Sans, frosted glass cards and the white call to action.
   Everything is scoped to .hp so the header, the hero and the other pages are untouched. */
.hp {
  --hp-text: #f4f4f6; --hp-text-2: rgba(244,244,246,.72); --hp-text-3: rgba(244,244,246,.55);
  --hp-glass: rgba(255,255,255,.07); --hp-glass-hover: rgba(255,255,255,.12);
  --hp-line: rgba(255,255,255,.14); --hp-line-soft: rgba(255,255,255,.1);
  --hp-accent: #ffffff; --hp-accent-hover: #e7e8ec; --hp-on-accent: #111216; --hp-link: #FF9C94;
  --hp-ease: cubic-bezier(0.23, 1, 0.32, 1);
  position: relative; z-index: 3;
  color: var(--hp-text); font-size: 16px; line-height: 1.55; font-weight: 400;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
.hp *, .hp *::before, .hp *::after { box-sizing: border-box; }
/* :where keeps this reset at zero specificity, so every class below can set its own spacing */
:where(.hp) :where(h1, h2, h3, p, ul) { margin: 0; padding: 0; }
.hp ul { list-style: none; }
.hp img { display: block; max-width: 100%; height: auto; }
.hp a { color: inherit; text-decoration: none; }
.hp p a { color: var(--hp-link); text-decoration: underline; text-underline-offset: 3px; }
.hp p a:hover { color: #ffffff; }
.hp p a.hp-link { text-decoration: none; }

.hp-wrap { max-width: 1366px; margin: 0 auto; padding: 0 var(--lp-x); }
.hp-arrow { width: 20px; height: 20px; flex: none; fill: currentColor; }

/* The one card surface: frosted glass over the page glows */
.hp-hcard, .hp-band, .hp-btn--ghost {
  background: var(--hp-glass); border: 1px solid var(--hp-line);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12);
  -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%);
}
.hp-hcard { transition: background-color 180ms var(--hp-ease), border-color 180ms var(--hp-ease); }
.hp-arrow { transition: transform 180ms var(--hp-ease); }
@media (hover: hover) and (pointer: fine) {
  .hp-hcard:hover { background: var(--hp-glass-hover); border-color: rgba(255,255,255,.24); }
  a:hover > .hp-arrow, a:hover .hp-corner .hp-arrow { transform: translateX(3px); }
}

/* Cards in one row share a height */
.hp-band-grid > li { display: flex; }
.hp-band-grid > li > a { flex: 1; min-width: 0; }

/* Type */
.hp-h-xl { font-size: clamp(1.875rem, 3.4vw, 3rem); font-weight: 800; line-height: 1.1; letter-spacing: -0.03em; }
.hp-h-lg { font-size: clamp(1.5rem, 2.2vw, 2rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; }
.hp-label { font-size: 1rem; font-weight: 700; line-height: 1.375; }
.hp-lead-copy { font-size: clamp(1.0625rem, 1.4vw, 1.25rem); line-height: 1.5; color: var(--hp-text-2); }
.hp-muted { color: var(--hp-text-3); }

/* Text link with an arrow */
.hp-link { display: inline-flex; align-items: center; gap: 10px; min-height: 32px; font-size: 1rem; font-weight: 600; line-height: 1.375; color: var(--hp-text) !important; }
.hp-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* Lead space: headline and calls to action, picture, news rail */
.hp-lead { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr) 184px; column-gap: 32px; padding: 96px 0 80px; }
.hp-lead-text { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-width: 0; }
/* Size, weight and tracking come from the site-wide h1 rule in pulse-background.css (44px / 800). */
.hp-lead h1#hp-h1, .hp-lead h2#hp-h1 { font-size: 44px !important; display: flex; align-items: center; gap: clamp(12px, 2vw, 24px); text-wrap: balance; overflow-wrap: break-word; }
.hp-product-icon { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 9px; }
.hp-lead h1 > span { min-width: 0; }
.hp-store-cta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hp-store-cta .lp-store-btn { min-height: 64px; padding: 12px 18px; justify-content: flex-start; background: #0A0A0A; color: #fff; }
.hp-store-cta .lp-store-btn img { width: 24px; height: 28px; object-fit: contain; }
.hp-store-cta .lp-store-sub { color: #bdbdc4; }
.hp-store-cta .lp-store-main { font-size: 16px; }
.hp-lead-body { display: grid; gap: 16px; }
.hp-lead-body .hp-lede { font-size: 1.125rem; line-height: 1.55; color: var(--hp-text-2); }
.hp-cta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.hp-btn {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 16px;
  min-height: 88px; padding: 16px 18px; border-radius: 18px;
  font-size: 1rem; font-weight: 600; line-height: 1.35; cursor: pointer;
  transition: background-color 180ms var(--hp-ease), transform 150ms ease, box-shadow 180ms var(--hp-ease);
}
.hp-btn--primary { background: var(--hp-accent); border: 1px solid transparent; color: var(--hp-on-accent) !important; }
.hp-btn--ghost { color: var(--hp-text) !important; }
.hp-btn:active { transform: scale(0.98); }
@media (hover: hover) and (pointer: fine) {
  .hp-btn--primary:hover { background: var(--hp-accent-hover); box-shadow: 0 10px 28px rgba(255,255,255,.16); }
  .hp-btn--ghost:hover { background: var(--hp-glass-hover); }
}
.hp-lead-media { border-radius: 24px; overflow: hidden; background: var(--hp-glass); border: 1px solid var(--hp-line-soft); }
.hp-lead-media img { width: 100%; height: 100%; min-height: 380px; object-fit: cover; }
.hp-news { min-width: 0; }
.hp-news .hp-label { padding: 10px 0 20px; }
.hp-news li { border-top: 1px solid var(--hp-line-soft); }
.hp-news a { display: grid; gap: 14px; padding: 22px 0; color: var(--hp-text-2); font-size: 0.9375rem; line-height: 1.45; transition: color 160ms ease; }
.hp-news a:hover { color: #ffffff; }

/* Arrow in the bottom corner of a card */
.hp-corner { position: absolute; right: 16px; bottom: 16px; color: var(--hp-text-2); }

/* Feature block: title in the first column, three picture cards beside it */
.hp-train { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 32px; padding: 24px 0 88px; }
.hp-train-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.hp-icard { display: flex; flex-direction: column; }
.hp-icard img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 20px; background: var(--hp-glass); }
.hp-icard h3 { margin-top: 24px; font-size: 1.125rem; font-weight: 700; line-height: 1.35; letter-spacing: -0.01em; }
.hp-icard p { margin: 8px 0 20px; color: var(--hp-text-2); }
.hp-icard .hp-link { margin-top: auto; align-self: flex-start; }

/* Split heading: large title on the left, a paragraph on the right */
.hp-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 32px; padding: 0 0 40px; align-items: end; }

/* Mission: heading and paragraph, then three tall pictures with the text laid over them */
.hp-mission { padding: 8px 0 88px; }
.hp-mission-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hp-mcard { position: relative; aspect-ratio: 4 / 5; border-radius: 24px; overflow: hidden; border: 1px solid var(--hp-line-soft); background: var(--hp-glass); }
.hp-mcard img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hp-mcard::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(8,9,12,.9) 0%, rgba(8,9,12,.42) 42%, rgba(8,9,12,0) 68%); }
.hp-mcard-text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 24px; }
.hp-mcard h3 { font-size: 1.5rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.02em; }
.hp-mcard p { margin-top: 8px; color: rgba(244,244,246,.88); font-size: 0.9375rem; line-height: 1.5; }

/* Band with horizontal cards */
.hp-band { border-radius: 28px; padding: 28px; }
.hp-band-title { font-size: 1.25rem; font-weight: 700; line-height: 1.4; padding-bottom: 20px; }
.hp-band-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.hp-hcard { position: relative; display: flex; align-items: flex-start; min-height: 148px; border-radius: 18px; overflow: hidden; }
.hp-hcard-media { position: relative; }
.hp-hcard-media img { width: 100%; height: 100%; object-fit: cover; }
.hp-tag { position: absolute; left: 10px; top: 10px; padding: 3px 10px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(11,12,16,.62); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #ffffff; font-size: 0.75rem; font-weight: 600; line-height: 1.35; }
.hp-hcard-text { padding: 22px 52px 22px 22px; font-size: 0.9375rem; line-height: 1.4; color: var(--hp-text-2); }
.hp-hcard-text strong { display: block; margin-bottom: 6px; font-weight: 700; color: var(--hp-text); }

/* Picture on the left, a statement and two links on the right */
.hp-connect { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px 72px; align-items: center; padding: 88px 0; }
.hp-connect-media img { width: 100%; aspect-ratio: 12 / 7; object-fit: cover; border-radius: 24px; }
.hp-connect-text { display: grid; gap: 20px; }
.hp-connect-links { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 8px; }

/* Footer */
.hp-footer { padding: 56px 0 40px; border-top: 1px solid var(--hp-line-soft); }
.hp-footer-top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 40px 32px; }
.hp-footer-brand img { width: auto; height: 28px; }
.hp-footer-stores { display: grid; gap: 12px; justify-items: start; margin-top: 28px; }
.hp-footer-cols { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 32px; }
.hp-footer h3 { font-size: 0.875rem; font-weight: 700; line-height: 2; }
.hp-footer li a, .hp-footer-legal ul a { display: inline-flex; align-items: center; min-height: 30px; font-size: 0.875rem; line-height: 1.3; color: var(--hp-text-2); transition: color 160ms ease; }
.hp-footer li a:hover, .hp-footer-legal ul a:hover { color: #ffffff; }
.hp-footer-legal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); gap: 16px 32px; margin-top: 44px; }
.hp-footer-legal > div { border-top: 1px solid var(--hp-line-soft); padding-top: 18px; }
.hp-footer-legal > div:first-child { border-top: 0; }
.hp-footer-legal ul { display: flex; flex-wrap: wrap; gap: 4px 40px; }
.hp-footer-legal p { max-width: 62em; margin-top: 18px; color: var(--hp-text-3); font-size: 0.75rem; line-height: 1.55; }

@media (max-width: 1100px) {
  .hp-lead { grid-template-columns: minmax(0, 1fr); row-gap: 40px; padding: 64px 0 56px; }
  .hp-lead-media img { min-height: 0; aspect-ratio: 16 / 10; }
  .hp-news ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 24px; }
  .hp-band-grid { grid-template-columns: minmax(0, 1fr); }
  .hp-split, .hp-train, .hp-connect { grid-template-columns: minmax(0, 1fr); }
  .hp-split { align-items: start; }
  .hp-connect { gap: 48px; padding: 64px 0; }
  .hp-footer-top, .hp-footer-legal { grid-template-columns: minmax(0, 1fr); }
  .hp-footer-legal > div:first-child { display: none; }
}
@media (max-width: 700px) {
  .hp-lead { padding: 40px 0; }
  /* the site-wide 44px h1 would split "középiskolásoknak" on a phone */
  .hp-lead h1#hp-h1, .hp-lead h2#hp-h1 { font-size: clamp(1.4rem, 7.6vw, 1.75rem) !important; gap: 10px; }
  .hp-product-icon { width: 32px; height: 32px; border-radius: 7px; }
  .hp-btn { min-height: 60px; align-items: center; }
  .hp-cta-row, .hp-train-cards, .hp-mission-cards, .hp-news ul { grid-template-columns: minmax(0, 1fr); }
  .hp-mcard { aspect-ratio: 1 / 1; }
  .hp-band { padding: 18px; border-radius: 22px; }
  .hp-hcard { min-height: 120px; }
  .hp-train-cards { gap: 44px; }
  .hp-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (pointer: coarse) {
  .hp-footer li a, .hp-footer-legal ul a, .hp-link { min-height: 44px; }
}


@font-face {
  font-family: Anton;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/Anton-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Anton;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("/assets/fonts/Anton-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
.pulse-hero { isolation: isolate; color: #f4f4f6; background: #0b0c10; font-family: "Plus Jakarta Sans", system-ui, sans-serif; }
.pulse-hero nav a { text-decoration: none; }
.ph-display { font-family: Anton, Impact, "Arial Narrow", sans-serif !important; font-weight: 400; text-transform: uppercase; letter-spacing: .005em; line-height: .92; font-size: clamp(58px, 9.4vw, 138px) !important; }
.ph-glass { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(24px) saturate(160%); -webkit-backdrop-filter: blur(24px) saturate(160%); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
@keyframes phFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes phFloatB { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
@keyframes phPhone { 0%,100% { transform: translateX(-50%) translateY(0); } 50% { transform: translateX(-50%) translateY(-12px); } }
.ph-float { animation: phFloat 6s ease-in-out infinite; }
.ph-floatB { animation: phFloatB 7s ease-in-out infinite; }
.ph-phone { animation: phPhone 7s ease-in-out infinite; }
.ph-node { transition: transform .09s ease-out; }
.ph-node:active { transform: translateY(4px); }
@media (prefers-reduced-motion: reduce) {
  .pulse-hero .ph-float, .pulse-hero .ph-floatB, .pulse-hero .ph-phone { animation: none !important; }
  .pulse-hero .ph-node { transition: none !important; }
  .pulse-hero .ph-node:active { transform: none; }
}
@media (max-width: 900px) {
  .pulse-hero .ph-links { display: none !important; }
  .pulse-hero .ph-card { position: static !important; width: 100% !important; max-width: 360px; box-sizing: border-box; margin: 0 auto !important; animation: none !important; }
  .pulse-hero .ph-cards { display: none !important; }
  .pulse-hero .ph-stage { height: 560px !important; margin-top: 28px !important; overflow: visible; }
  .pulse-hero .ph-phone { transform: translateX(-50%) scale(.88) !important; transform-origin: 50% 0; animation: none !important; }
  .pulse-hero .ph-card > .ph-glass { width: 100%; box-sizing: border-box; }
  .pulse-hero .ph-display { font-size: clamp(35px, 9.8vw, 78px) !important; }
}
