/* =========================================================
   HUN-BAU V5 — HEADER / HERO / TYPOGRAPHY / RHYTHM
   ========================================================= */
:root{
  --hb-dark:#121715;
  --hb-green:#2F6B57;
  --hb-green-soft:#7EA391;
  --hb-surface:#F7F8F6;
  --hb-section-space:112px;
  --hb-header-h:94px;
}
html{scroll-behavior:smooth}
#about,#szolgaltatasok,#szakmai-hatter,#projektek,#contact{scroll-margin-top:92px}

/* Header: light/translucent over hero; sticky becomes dark. */
.Hotelza-header-area{
  position:absolute !important;
  top:0;left:0;right:0;
  z-index:50 !important;
  background:rgba(247,248,246,.92) !important;
  box-shadow:none !important;
  -webkit-backdrop-filter:blur(16px);
  backdrop-filter:blur(16px);
  transition:background .35s ease,box-shadow .35s ease,transform .35s ease;
}
.Hotelza-header-area .hunbau-header-inner{
  border-bottom:1px solid rgba(18,23,21,.10) !important;
}
.Hotelza-header-area .hunbau-brand a,
.Hotelza-header-area .hunbau-brand span{color:var(--hb-dark) !important}
.Hotelza-header-area .hunbau-desktop-nav ul li a{color:var(--hb-dark) !important}
.Hotelza-header-area .hunbau-desktop-nav ul li a:hover{color:var(--hb-green) !important}
.Hotelza-header-area .hunbau-desktop-nav ul li a::after{background:var(--hb-green) !important}
.Hotelza-header-area .hunbau-menu-toggle{
  border-left-color:rgba(18,23,21,.15) !important;
}
.Hotelza-header-area .hunbau-menu-toggle a{color:var(--hb-green) !important}
.Hotelza-header-area .hunbau-menu-toggle a:hover{color:var(--hb-dark) !important}
.hb-brand-logo{
  position:relative;
  display:block;
  width:48px;
  height:58px;
  flex:0 0 48px;
}
.hb-brand-logo img{
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  object-fit:contain;
  transition:opacity .28s ease,transform .35s ease;
}
.hb-brand-logo-top{opacity:1;transform:scale(1)}
.hb-brand-logo-sticky{opacity:0;transform:scale(.94)}
.Hotelza-header-area.sticky{
  background:var(--hb-dark) !important;
  box-shadow:0 10px 30px rgba(0,0,0,.18) !important;
}
.Hotelza-header-area.sticky .hunbau-header-inner{border-bottom-color:rgba(255,255,255,.08) !important}
.Hotelza-header-area.sticky .hunbau-brand a,
.Hotelza-header-area.sticky .hunbau-brand span{color:#fff !important}
.Hotelza-header-area.sticky .hunbau-desktop-nav ul li a{color:#F5F7F5 !important}
.Hotelza-header-area.sticky .hunbau-desktop-nav ul li a:hover{color:#9AB0A5 !important}
.Hotelza-header-area.sticky .hunbau-menu-toggle{border-left-color:rgba(255,255,255,.14) !important}
.Hotelza-header-area.sticky .hunbau-menu-toggle a{color:#9AB0A5 !important}
.Hotelza-header-area.sticky .hunbau-menu-toggle a:hover{color:#fff !important}
.Hotelza-header-area.sticky .hb-brand-logo-top{opacity:0;transform:scale(.94)}
.Hotelza-header-area.sticky .hb-brand-logo-sticky{opacity:1;transform:scale(1)}

/* Full-bleed animated hero. */
.hero-section-one.hb-hero{
  position:relative;
  width:100%;
  height:clamp(720px,100svh,940px);
  min-height:720px;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden;
  background:#0c100e !important;
}
.hb-hero-slides,.hb-hero-slide,.hb-hero-media,.hb-hero-overlay{
  position:absolute;
  inset:0;
}
.hb-hero-slide{
  opacity:0;
  visibility:hidden;
  transition:opacity 1.05s cubic-bezier(.4,0,.2,1),visibility 1.05s;
}
.hb-hero-slide.is-active{opacity:1;visibility:visible;z-index:2}
.hb-hero-media{
  background-position:center center;
  background-repeat:no-repeat;
  background-size:cover;
  transform:scale(1.055);
  transition:transform 7.2s cubic-bezier(.16,1,.3,1);
}
.hb-hero-slide.is-active .hb-hero-media{transform:scale(1)}
.hb-hero-overlay{
  background:
    linear-gradient(90deg,rgba(7,12,10,.83) 0%,rgba(7,12,10,.58) 48%,rgba(7,12,10,.16) 78%,rgba(7,12,10,.10) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.18) 100%);
}
.hb-hero-container{
  position:relative;
  z-index:3;
  height:100%;
  display:flex;
  align-items:center;
  padding-top:var(--hb-header-h);
}
.hb-hero-copy{max-width:1180px;padding-right:120px}
.hb-hero-copy h1{margin:0;padding:0}
.hb-hero-line{
  display:block;
  color:#fff;
  font-family:var(--title-font);
  font-size:clamp(58px,6.4vw,102px);
  line-height:.99;
  font-weight:800;
  letter-spacing:-.045em;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(38px);
  transition:opacity .72s ease,transform .86s cubic-bezier(.16,1,.3,1);
}
.hb-hero-line.hb-accent{color:#A8BBB1}
.hb-hero-line.hb-line-small{font-size:clamp(48px,5.6vw,88px)}
.hb-hero-slide.is-active .hb-hero-line{opacity:1;transform:translateY(0)}
.hb-hero-slide.is-active .hb-hero-line:nth-child(1){transition-delay:.18s}
.hb-hero-slide.is-active .hb-hero-line:nth-child(2){transition-delay:.29s}
.hb-hero-slide.is-active .hb-hero-line:nth-child(3){transition-delay:.40s}
.hb-hero-cta{
  display:inline-flex;
  align-items:center;
  gap:13px;
  margin-top:34px;
  padding:15px 28px;
  border-radius:999px;
  background:var(--hb-green);
  color:#fff !important;
  font-family:var(--title-font);
  font-size:14px;
  font-weight:600;
  letter-spacing:.04em;
  opacity:0;
  transform:translateY(22px);
  transition:background .25s ease,transform .75s cubic-bezier(.16,1,.3,1),opacity .7s ease;
}
.hb-hero-slide.is-active .hb-hero-cta{opacity:1;transform:translateY(0);transition-delay:.52s}
.hb-hero-cta:hover{background:#244f41;color:#fff !important;transform:translateY(-2px) !important}
.hb-hero-dots{
  position:absolute;
  z-index:7;
  right:38px;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.hb-hero-dot{
  appearance:none;
  width:20px;
  height:20px;
  padding:0;
  margin:0;
  border:1px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:transparent;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .28s ease,border-color .28s ease,background .28s ease;
}
.hb-hero-dot span{
  width:7px;height:7px;border-radius:50%;
  background:#fff;
  opacity:0;
  transform:scale(.35);
  transition:opacity .28s ease,transform .35s cubic-bezier(.16,1,.3,1);
}
.hb-hero-dot.is-active{
  transform:scale(1.12);
  border-color:#fff;
  background:rgba(255,255,255,.10);
  animation:hbDotPulse 1.8s ease-in-out infinite;
}
.hb-hero-dot.is-active span{opacity:1;transform:scale(1)}
@keyframes hbDotPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,255,255,.14)}50%{box-shadow:0 0 0 7px rgba(255,255,255,0)}}

/* Uniform section rhythm. */
.about-section-one,
.our-room-suites-section-one,
.our-facilities-section-one,
.blog-section-one{
  margin:0 !important;
  padding:var(--hb-section-space) 0 !important;
}
.video-section{margin:0 !important}
.subcribe-section-one{margin:0 !important;padding:88px 0 !important}
.landing-contact-heading{padding:var(--hb-section-space) 0 52px !important}
.Hotelza-appoinment{padding:0 0 var(--hb-section-space) !important}
.contact-section{padding:var(--hb-section-space) 0 !important}

/* Shared section heading. */
.hb-section-heading{max-width:980px;margin:0 0 54px}
.hb-section-heading-wide{max-width:1120px}
.hb-eyebrow{
  display:inline-block;
  margin-bottom:15px;
  color:var(--hb-green);
  font-family:var(--title-font);
  font-size:14px;
  line-height:1;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.hb-section-heading h2{
  margin:0;
  color:var(--hb-dark);
  font-family:var(--title-font);
  font-size:clamp(42px,4.7vw,70px);
  line-height:1.03;
  font-weight:700;
  letter-spacing:-.035em;
}
.hb-section-lead{max-width:780px;margin:20px 0 0;font-size:18px;line-height:1.75;color:#66706a}

/* About rebuilt, no inherited absolute positioning. */
.hb-about{background:var(--hb-surface) !important}
.hb-about-main{row-gap:32px}
.hb-about-image{height:100%;min-height:520px;margin:0;overflow:hidden;background:#e9ece8}
.hb-about-image img{width:100%;height:100%;object-fit:cover;display:block}
.hb-about-copy{
  height:100%;
  padding:52px 0 48px 58px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hb-about-intro{margin:0;color:#4f5953;font-size:19px;line-height:1.8;max-width:690px}
.hb-about-metrics{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  margin:34px 0 36px;
  border-top:1px solid rgba(18,23,21,.12);
  border-bottom:1px solid rgba(18,23,21,.12);
}
.hb-about-metric{padding:25px 28px 25px 0}
.hb-about-metric + .hb-about-metric{padding-left:28px;border-left:1px solid rgba(18,23,21,.12)}
.hb-about-metric strong{display:block;color:var(--hb-green);font-size:30px;line-height:1.1;margin-bottom:7px;font-family:var(--title-font)}
.hb-about-metric span{display:block;color:#66706a;font-size:15px;line-height:1.5}
.hb-pill-button{
  align-self:flex-start;
  display:inline-flex;align-items:center;gap:13px;
  background:var(--hb-green);color:#fff !important;
  border-radius:999px;padding:15px 30px;
  font-family:var(--title-font);font-size:14px;font-weight:600;letter-spacing:.04em;
  transition:background .25s ease,transform .25s ease;
}
.hb-pill-button:hover{background:#244f41;color:#fff !important;transform:translateY(-2px)}

/* Professional background cards – verbatim company copy. */
.hb-background{background:#EEF1EE !important}
.hb-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.hb-profile-card{
  position:relative;
  padding:38px 40px 40px;
  min-height:100%;
  background:#F8F9F7;
  border:1px solid rgba(18,23,21,.10);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.hb-profile-card:hover{transform:translateY(-4px);border-color:rgba(47,107,87,.28);box-shadow:0 18px 48px rgba(18,23,21,.06)}
.hb-profile-no{display:block;color:var(--hb-green-soft);font-family:var(--title-font);font-weight:700;font-size:13px;letter-spacing:.14em;margin-bottom:18px}
.hb-profile-card h3{margin:0 0 16px;color:var(--hb-dark);font-size:22px;line-height:1.25;font-weight:650}
.hb-profile-card p{margin:0;color:#5e6862;font-size:16px;line-height:1.78}

/* Reference intro. */
.hb-reference-title p{max-width:780px;margin:19px 0 0;color:#6a736e;font-size:17px;line-height:1.7}

/* Company data, all official data visible. */
.hb-company-data{background:var(--hb-surface) !important}
.hb-company-data-heading{margin-bottom:28px}
.hb-data-card{
  height:100%;
  padding:30px 28px;
  background:#EEF1EE;
  border:1px solid rgba(18,23,21,.09);
}
.hb-data-card i{font-size:22px;color:var(--hb-green);margin-bottom:22px}
.hb-data-card h3{font-size:20px;line-height:1.25;margin:0 0 12px;color:var(--hb-dark)}
.hb-data-card p{margin:0;color:#626c66;font-size:15px;line-height:1.75;overflow-wrap:anywhere}

@media (max-width:1199px){
  :root{--hb-section-space:96px}
  .hb-hero-copy{padding-right:90px}
  .hb-hero-dots{right:26px}
  .hb-about-copy{padding-left:36px}
}
@media (max-width:991px){
  :root{--hb-section-space:80px}
  .Hotelza-header-area{display:none !important}
  .hb-hero{height:760px !important;min-height:720px !important}
  .hb-hero-container{padding-top:35px}
  .hb-hero-copy{padding:0 70px 0 0}
  .hb-hero-dots{right:20px}
  .hb-about-image{min-height:440px}
  .hb-about-copy{padding:42px 0 0}
  .hb-profile-grid{grid-template-columns:1fr}
}
@media (max-width:575px){
  :root{--hb-section-space:68px}
  .hero-section-one.hb-hero{height:720px !important;min-height:680px !important}
  .hb-hero-copy{padding-right:38px}
  .hb-hero-line{font-size:clamp(42px,13vw,62px);line-height:1.01}
  .hb-hero-line.hb-line-small{font-size:clamp(34px,10.7vw,52px)}
  .hb-hero-dots{right:12px;gap:12px}
  .hb-hero-dot{width:17px;height:17px}
  .hb-hero-dot span{width:6px;height:6px}
  .hb-section-heading{margin-bottom:38px}
  .hb-about-image{min-height:340px}
  .hb-about-metrics{grid-template-columns:1fr}
  .hb-about-metric + .hb-about-metric{padding-left:0;border-left:0;border-top:1px solid rgba(18,23,21,.12)}
  .hb-profile-card{padding:30px 26px}
}
@media (prefers-reduced-motion:reduce){
  .hb-hero-slide,.hb-hero-media,.hb-hero-line,.hb-hero-cta,.hb-hero-dot{transition:none !important;animation:none !important}
}
