/* ==========================================================================
   ICE TUNING — közös stíluslap
   Minden oldal ezt használja. Ha itt átírsz valamit, mindenhol változik.
   ========================================================================== */
:root{
  --head:'Archivo','Arial Black',Helvetica,Arial,sans-serif;
  --body:'Inter','Helvetica Neue',Helvetica,Arial,sans-serif;
  --line:#DEDEDE;
  --soft:#F5F5F5;
  --muted:#666;
  --ice:#12B5D6;
  --wrap:1400px;
  --pad:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; scroll-padding-top:90px}
body{
  margin:0; background:#fff; color:#000;
  font-family:var(--body); font-size:15px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button{font:inherit}
.wrap{max-width:var(--wrap); margin:0 auto; padding:0 var(--pad)}

/* --- szekció fejléc rendszer ------------------------------------------- */
.eyebrow{font-size:12px; font-weight:800; letter-spacing:.22em; color:var(--muted); text-transform:uppercase}
.eyebrow .no{color:#000; margin-right:6px}
.title{
  font-family:var(--head); font-weight:800; text-transform:uppercase;
  font-size:clamp(34px,4.6vw,64px); line-height:.94; letter-spacing:-.04em; margin:0 0 34px;
}
.title--tight{margin-bottom:10px}
.copy{font-size:14.5px; line-height:1.5; color:var(--muted); margin:0; max-width:52ch}
.head-row{display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:14px}
.top-row{display:flex; align-items:flex-end; justify-content:space-between; gap:22px; margin-bottom:26px}

/* --- gombok ------------------------------------------------------------- */
.cta{
  display:inline-flex; align-items:center; justify-content:center;
  height:52px; padding:0 30px; background:#000; color:#fff;
  font-size:13.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
  border:1.5px solid #000; border-radius:999px; white-space:nowrap;
  transition:opacity .2s ease; cursor:pointer;
}
.cta:hover{opacity:.85}
.cta--ghost{background:#fff; color:#000; border-color:var(--line)}
.cta--ghost:hover{border-color:#000; opacity:1}
.cta--light{background:#fff; color:#000; border-color:#fff}
.cta--outline{background:transparent; color:#fff; border-color:rgba(255,255,255,.6)}
.cta--outline:hover{background:#fff; color:#000; border-color:#fff; opacity:1}
.cta--sm{height:42px; padding:0 20px; font-size:12px}
.cta-row{display:flex; gap:12px; flex-wrap:wrap}

/* ==========================================================================
   FEJLÉC
   ========================================================================== */
.hdr{
  position:fixed; top:0; left:0; right:0; z-index:90;
  transition:background .34s ease, box-shadow .34s ease, border-color .34s;
  border-bottom:1px solid transparent;
}
.hdr-in{max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); height:72px; display:flex; align-items:center; gap:26px}
.brand{display:inline-flex; align-items:center}
.brand img{display:block; height:22px; width:auto}
.brand .logo-dark{display:none}

/* --- fejléc logó: fehér változat sötét/áttetsző fejlécen, sötét változat fehér fejlécen --- */
.hdr.stuck .brand .logo-light, .hdr--solid .brand .logo-light{display:none}
.hdr.stuck .brand .logo-dark, .hdr--solid .brand .logo-dark{display:block}
.nav{display:flex; gap:24px; margin-left:auto; align-items:center}
.nav > a{font-size:12.5px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:#fff; opacity:.9; transition:opacity .2s, color .3s}
.nav > a:hover{opacity:1}
.nav > a.is-active{opacity:1; text-decoration:underline; text-underline-offset:6px; text-decoration-thickness:2px}
.burger{display:none; margin-left:auto; width:44px; height:40px; background:transparent; border:1px solid rgba(255,255,255,.45); border-radius:999px; color:#fff; cursor:pointer}

/* fehér fejléc: aloldalakon alapból, kezdőlapon görgetés után */
.hdr.stuck, .hdr--solid{background:#fff; border-bottom-color:var(--line); box-shadow:0 6px 24px rgba(16,24,40,.06)}
.hdr.stuck .brand, .hdr--solid .brand{color:#000}
.hdr.stuck .nav > a, .hdr--solid .nav > a{color:#000}
.hdr.stuck .nav .cta--light, .hdr--solid .nav .cta--light{background:#000; color:#fff; border-color:#000}
.hdr.stuck .burger, .hdr--solid .burger{border-color:var(--line); color:#000}

/* ==========================================================================
   HERO (kezdőlap) — 1920x1080 háttérkép, felirat a jobb oldalon
   ========================================================================== */
.hero{
  position:relative; display:flex; align-items:center; justify-content:flex-end;
  min-height:clamp(560px, 56.25vw, 100vh);   /* 56.25vw = 16:9, mint az 1920x1080 kép */
  color:#fff; overflow:hidden; background:#0b1116;
  padding:120px var(--pad) 80px;
}
.hero-bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; opacity:1}
/* sötétítés jobbról, hogy a felirat olvasható legyen a képen */
.hero::before{
  content:''; position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(270deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 34%, rgba(0,0,0,.18) 62%, rgba(0,0,0,.05) 100%),
    linear-gradient(0deg, rgba(0,0,0,.45), transparent 40%);
}
.hero-in{
  position:relative; z-index:2; text-align:left;
  width:100%; max-width:520px; margin-left:auto; margin-right:0;
  padding-right:clamp(0px, 3vw, 60px);
}
.hero-kicker{font-size:11px; font-weight:900; letter-spacing:.22em; text-transform:uppercase; display:flex; align-items:center; gap:9px; margin-bottom:16px}
.hero-kicker b{color:var(--ice)}
.hero h1{
  font-family:var(--head); font-weight:900; text-transform:uppercase;
  font-size:clamp(30px,3.9vw,58px); line-height:.94; letter-spacing:-.04em; margin:0 0 14px;
}
.hero-sub{font-size:clamp(14px,1.25vw,17px); font-weight:600; color:rgba(255,255,255,.85); margin:0 0 26px; max-width:44ch}
.hero .cta-row{justify-content:flex-start}
.scroll-hint{position:absolute; left:var(--pad); bottom:26px; z-index:2; font-size:10px; font-weight:800; letter-spacing:.24em; text-transform:uppercase; color:rgba(255,255,255,.7)}

/* ==========================================================================
   ALOLDAL FEJRÉSZ
   ========================================================================== */
body.sub{padding-top:72px}
.pagehead{border-bottom:1px solid var(--line); padding:56px 0 44px}
.pagehead .eyebrow{margin-bottom:12px}
.pagehead .title{margin-bottom:18px}
.pagehead .copy{max-width:62ch; font-size:16px}
.crumb{font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:20px}
.crumb a:hover{color:#000}

/* ==========================================================================
   SÁVOK / MÉDIA / PIRULÁK
   ========================================================================== */
.band{padding:74px 0 34px}
.band--compact{padding:48px 0 22px}
.band--soft{background:var(--soft)}
.duo{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.duo-cap{position:absolute; left:0; right:0; bottom:0; z-index:3; padding:26px 24px; background:linear-gradient(0deg, rgba(0,0,0,.8), transparent); color:#fff; text-align:left; display:block}
.duo-cap h3{font-family:var(--head); font-weight:800; text-transform:uppercase; letter-spacing:-.02em; font-size:clamp(20px,2.3vw,30px); line-height:1; margin:0 0 12px}

.media{position:relative; display:block; border-radius:16px; overflow:hidden; background:var(--soft); border:1px solid var(--line); min-height:430px}
.media--tall{min-height:460px}
.media--map{min-height:340px}
.media > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s cubic-bezier(.22,.61,.36,1); z-index:1}
.media:hover > img{transform:scale(1.03)}
.media::before{
  content:attr(data-ph); position:absolute; inset:0; z-index:0;
  display:flex; align-items:center; justify-content:center; text-align:center; padding:24px;
  font-family:var(--head); font-weight:800; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#9aa3ad;
  background:repeating-linear-gradient(135deg,#F2F4F6 0 14px,#EDEFF2 14px 28px);
}
.pill{position:absolute; z-index:3; bottom:14px; font-size:12px; font-weight:900; letter-spacing:.05em; border-radius:999px; padding:9px 14px; text-transform:uppercase}
.pill--price{left:14px; background:#000; color:#fff}
.pill--meta{right:14px; background:#fff; color:#000; border:1px solid var(--line)}

.split{display:grid; grid-template-columns:1.25fr 1fr; gap:34px; align-items:stretch; margin-bottom:44px}
.split--mirror{grid-template-columns:1fr 1.25fr}
.split--mirror .media{order:2}
.split-body{display:flex; flex-direction:column; justify-content:center; padding:8px 0}
.split-body h3{font-family:var(--head); font-weight:800; text-transform:uppercase; letter-spacing:-.03em; font-size:clamp(24px,2.8vw,36px); line-height:.98; margin:0 0 14px}
.split-body .copy{margin-bottom:24px}

/* ==========================================================================
   KÁRTYASOR
   ========================================================================== */
.rail-label{font-size:12px; font-weight:800; letter-spacing:.22em; color:var(--muted); text-transform:uppercase; margin:0 0 12px}
.rail{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-bottom:34px}
.rail--5{grid-template-columns:repeat(5,1fr)}
.rail--3{grid-template-columns:repeat(3,1fr)}
.rail--wrap{display:grid !important}
.card{display:block; color:#000; border:1px solid var(--line); border-radius:16px; overflow:hidden; background:#fff; transition:box-shadow .25s ease, transform .25s ease}
.card:hover{box-shadow:0 18px 42px rgba(16,24,40,.10); transform:translateY(-2px)}
.card-media{position:relative; display:block; background:var(--soft); aspect-ratio:1/1}
.card-media > img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:1}
.card-media::before{
  content:attr(data-ph); position:absolute; inset:0; z-index:0;
  display:flex; align-items:center; justify-content:center; text-align:center; padding:14px;
  font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#9aa3ad;
  background:repeating-linear-gradient(135deg,#F2F4F6 0 14px,#EDEFF2 14px 28px);
}
.card-name{display:block; font-family:var(--head); font-weight:700; font-size:14px; letter-spacing:.01em; text-transform:uppercase; padding:12px 14px 2px; line-height:1.2}
.card-price{display:block; font-size:13px; font-weight:800; color:var(--muted); padding:0 14px 14px}
.card-note{display:block; font-size:13.5px; color:var(--muted); padding:0 14px 16px; line-height:1.45}
.badge{position:absolute; top:10px; left:10px; z-index:3; background:#000; color:#fff; font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; border-radius:999px; padding:6px 11px}
.card--plain{padding:22px 20px}
.card--plain .card-name{padding:0 0 6px}
.card--plain .card-price, .card--plain .card-note{padding:0}

/* ==========================================================================
   MÁRKA SZALAG
   ========================================================================== */
.strip{overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:#fff; margin:10px 0 34px}
.strip-track{display:flex; align-items:center; width:max-content; animation:run 34s linear infinite}
.strip-item{display:inline-flex; align-items:center; gap:10px; padding:16px 26px; font-family:var(--head); font-weight:800; font-size:15px; letter-spacing:.06em; text-transform:uppercase; color:#000}
.strip-item em{font-style:normal; color:#c3c9d0}
@keyframes run{to{transform:translateX(-50%)}}

/* ==========================================================================
   ÁRAK
   ========================================================================== */
.plans{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:34px}
.plan{border:1px solid var(--line); border-radius:16px; padding:28px 24px 24px; display:flex; flex-direction:column; background:#fff}
.plan--hot{border-color:#000; box-shadow:0 18px 42px rgba(16,24,40,.10)}
.plan-tag{font-size:11px; font-weight:900; letter-spacing:.2em; color:var(--muted); text-transform:uppercase}
.plan h3{font-family:var(--head); font-weight:800; text-transform:uppercase; letter-spacing:-.03em; font-size:clamp(26px,3vw,38px); line-height:1; margin:10px 0 0}
.plan-price{font-family:var(--head); font-weight:900; font-size:26px; letter-spacing:-.02em; margin:16px 0 2px}
.plan-price small{display:block; font-family:var(--body); font-size:12px; font-weight:700; color:var(--muted); letter-spacing:.06em; margin-top:6px; text-transform:uppercase}
.plan ul{list-style:none; margin:20px 0 24px; padding:0; flex:1}
.plan li{font-size:14px; color:var(--muted); padding:10px 0 10px 20px; border-top:1px solid var(--line); position:relative}
.plan li::before{content:''; position:absolute; left:0; top:17px; width:8px; height:8px; border-radius:50%; background:#000}
.plan .cta{width:100%}

.table{border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-bottom:8px}
.table .tr{display:flex; justify-content:space-between; gap:20px; padding:15px 20px; border-bottom:1px solid var(--line); font-size:14.5px; font-weight:600}
.table .tr:last-child{border-bottom:0}
.table .tr:nth-child(odd){background:var(--soft)}
.table .tr b{font-family:var(--head); font-weight:800; letter-spacing:-.01em; white-space:nowrap}
.fineprint{font-size:12px; font-weight:600; color:var(--muted); margin-top:14px}

/* ==========================================================================
   KAPCSOLAT / ŰRLAP
   ========================================================================== */
.contact{display:grid; grid-template-columns:1fr 1.25fr; gap:34px; align-items:start}
.facts{border:1px solid var(--line); border-radius:16px; overflow:hidden}
.fact{padding:18px 22px; border-bottom:1px solid var(--line)}
.fact:last-child{border-bottom:0}
.fact span{display:block; font-size:11px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:5px}
.fact b{font-family:var(--head); font-weight:700; font-size:17px; letter-spacing:-.01em}
form{border:1px solid var(--line); border-radius:16px; padding:28px 26px}
.field{margin-bottom:16px}
.two{display:grid; grid-template-columns:1fr 1fr; gap:14px}
label{display:block; font-size:11px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:7px}
input,select,textarea{width:100%; padding:13px 15px; font:inherit; font-size:14.5px; color:#000; background:#fff; border:1px solid var(--line); border-radius:10px}
input:focus,select:focus,textarea:focus{outline:2px solid #000; outline-offset:1px; border-color:#000}
textarea{min-height:112px; resize:vertical}
.result{display:none; margin-top:18px; border:1px solid #000; border-radius:12px; padding:18px 20px; font-size:14px}
.result.on{display:block}
.result h4{font-family:var(--head); font-weight:800; text-transform:uppercase; font-size:17px; margin:0 0 8px}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-bottom:34px}
.step{border:1px solid var(--line); border-radius:16px; padding:24px 22px}
.step b{display:block; font-family:var(--head); font-weight:900; font-size:26px; letter-spacing:-.03em; margin-bottom:10px}
.step h4{font-family:var(--head); font-weight:800; text-transform:uppercase; font-size:15px; letter-spacing:.01em; margin:0 0 8px}
.step p{font-size:14px; color:var(--muted); margin:0}

/* ==========================================================================
   ZÁRÓ SÁV + LÁBLÉC
   ========================================================================== */
.join{background:#0b1116; color:#fff; border-radius:16px; padding:clamp(34px,5vw,62px); text-align:center; margin-bottom:20px}
.join h2{font-family:var(--head); font-weight:900; text-transform:uppercase; font-size:clamp(28px,4vw,52px); line-height:.94; letter-spacing:-.04em; margin:0 0 12px}
.join p{color:rgba(255,255,255,.72); font-size:14.5px; margin:0 0 26px}
.join .cta-row{justify-content:center}

footer{background:var(--soft); border-top:1px solid var(--line); padding:56px 0 0; margin-top:40px}
.f-cols{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:34px}
.f-cols h4{font-size:11px; font-weight:900; letter-spacing:.2em; text-transform:uppercase; color:#000; margin:0 0 14px}
.f-cols a, .f-cols p{display:block; font-size:14px; font-weight:600; color:var(--muted); padding:5px 0; margin:0}
.f-cols a:hover{color:#000}
.f-brand{font-family:var(--head); font-weight:900; font-size:26px; letter-spacing:-.03em; text-transform:uppercase; margin-bottom:12px}
.f-brand i{font-style:normal; color:var(--ice)}
.f-bottom{margin-top:44px; border-top:1px solid var(--line); padding:20px 0 26px; display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:12px; font-weight:700; color:var(--muted)}

/* ==========================================================================
   RESPONSZÍV
   ========================================================================== */
@media (max-width:1240px){
  .nav{gap:15px}
  .nav > a{font-size:11px; letter-spacing:.1em}
}
@media (max-width:1100px){
  .rail,.rail--5{grid-template-columns:repeat(3,1fr)}
  .plans,.steps{grid-template-columns:1fr}
  .f-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .hero{min-height:78vh; align-items:flex-end; padding-bottom:60px}
  .hero-bg{object-position:10% center}
  .hero-in{max-width:100%; margin:0; padding-right:0}
  .hero::before{background:linear-gradient(0deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.45) 45%, rgba(0,0,0,.25) 100%)}
  .scroll-hint{display:none}
  .split,.split--mirror,.duo,.contact{grid-template-columns:1fr}
  .split--mirror .media{order:0}
  .media{min-height:0; aspect-ratio:4/3}
  .rail,.rail--5,.rail--3{
    display:flex; overflow-x:auto; gap:11px; scroll-snap-type:x mandatory;
    padding-bottom:6px; scrollbar-width:none; -webkit-overflow-scrolling:touch;
  }
  .rail::-webkit-scrollbar{display:none}
  .rail .card{flex:0 0 62%; scroll-snap-align:start}
  .rail--wrap{display:grid !important; grid-template-columns:1fr}
  .two{grid-template-columns:1fr}
  .nav{
    position:fixed; top:72px; left:0; right:0; background:#fff; flex-direction:column;
    gap:0; padding:8px 0 20px; border-bottom:1px solid var(--line); display:none;
  }
  .nav.open{display:flex}
  .nav > a{color:#000; width:100%; padding:15px var(--pad); font-size:16px}
  .nav .cta{margin:12px var(--pad) 0; width:calc(100% - var(--pad)*2); background:#000; color:#fff; border-color:#000}
  .burger{display:block}
  .cta-row .cta{flex:1 1 100%; max-width:340px; margin-inline:auto}
}
@media (max-width:560px){
  html,body{overflow-x:hidden}
  .wrap{padding:0 16px}
  .band{padding:48px 0 22px}
  .pagehead{padding:40px 0 30px}
  .pagehead .copy{font-size:14.5px}
  .title{font-size:clamp(28px,9vw,44px); margin-bottom:22px}
  .hero{padding:100px 16px 56px}
  .hero-kicker{margin-bottom:12px}
  .duo-cap{padding:18px 16px}
  .f-cols{grid-template-columns:1fr; gap:26px}
  .f-brand{font-size:22px}
  .f-bottom{flex-direction:column; gap:8px}
  .join{padding:30px 22px}
  .plan,.step,.facts,form{padding-left:20px; padding-right:20px}
  .contact,.two{gap:12px}
  .cta{padding:0 22px; font-size:12.5px}
  .cta-row{gap:10px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important; scroll-behavior:auto}
}
