:root{
  --navy:#061b49;
  --navy2:#0a2b67;
  --blue:#087fd9;
  --blue2:#16a5f7;
  --cyan:#59d8ff;
  --green:#22c55e;
  --text:#12213d;
  --muted:#64748b;
  --light:#f4f8fc;
  --white:#fff;
  --border:#e5edf5;
  --shadow:0 20px 60px rgba(6,27,73,.12);
  --radius:24px;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:90px;
}

body{
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:#fff;
  line-height:1.65;
  overflow-x:hidden;
}

img{
  display:block;
  max-width:100%;
  height:auto;
}

a{
  color:inherit;
  text-decoration:none;
}

button{
  font:inherit;
}

.container{
  width:min(1160px,calc(100% - 32px));
  margin:auto;
}

.section{
  padding:92px 0;
}

.section.alt{
  background:var(--light);
}

.eyebrow{
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--blue);
  margin-bottom:12px;
}

.section-title{
  font-size:clamp(32px,4vw,50px);
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.04em;
}

.section-title span{
  color:var(--blue);
}

.section-lead{
  max-width:720px;
  color:var(--muted);
  margin:18px auto 0;
  font-size:17px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:15px 23px;
  border-radius:14px;
  font-weight:800;
  transition:.25s;
  border:1px solid transparent;
  cursor:pointer;
}

.btn-primary{
  background:linear-gradient(135deg,var(--blue),#0b6dd1);
  color:#fff;
  box-shadow:0 12px 28px rgba(8,127,217,.28);
}

.btn-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 35px rgba(8,127,217,.35);
}

.btn-light{
  background:#fff;
  color:var(--navy);
  box-shadow:0 10px 25px rgba(0,0,0,.12);
}

.btn-outline{
  border-color:#d8e5f1;
  color:var(--navy);
  background:#fff;
}

.btn-outline:hover{
  border-color:var(--blue);
  color:var(--blue);
}


/* =========================================
   TOPBAR
========================================= */

.topbar{
  background:var(--navy);
  color:#cbd8ee;
  font-size:12px;
}

.topbar .container{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.topbar-left,
.topbar-right{
  display:flex;
  gap:20px;
  align-items:center;
}

.topbar a:hover{
  color:#fff;
}


/* =========================================
   NAVIGATION
========================================= */

.nav{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(18px);
  border-bottom:1px solid #e8eef5;
}

.nav-inner{
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
}

.logo{
  display:flex;
  align-items:center;
  gap:11px;
  font-weight:900;
  color:var(--navy);
  font-size:23px;
  flex-shrink:0;
}

.logo-mark{
  width:42px;
  height:42px;
  border-radius:13px;
  background:linear-gradient(135deg,var(--blue),#52d6ff);
  display:grid;
  place-items:center;
  color:white;
  box-shadow:0 8px 20px rgba(8,127,217,.25);
}

.logo small{
  display:block;
  font-size:8px;
  letter-spacing:.16em;
  color:#5c718d;
  margin-top:-4px;
}

.nav-links{
  display:flex;
  align-items:center;
  gap:19px;
  font-size:13px;
  font-weight:700;
  color:#50617b;
}

.nav-links a:hover{
  color:var(--blue);
}


/* =========================================
   PIHETEX NAV BUTTON
========================================= */

.btn-pihtex-nav{
  padding:11px 15px;
  border-radius:12px;
  background:linear-gradient(
    135deg,
    #087fd9,
    #16a5f7,
    #59d8ff
  );
  color:#fff !important;
  box-shadow:0 8px 22px rgba(8,127,217,.25);
  white-space:nowrap;
  transition:
    transform .25s ease,
    box-shadow .25s ease;
}

.btn-pihtex-nav:hover{
  color:#fff !important;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(8,127,217,.35);
}

.mobile-btn{
  display:none;
  border:0;
  background:var(--navy);
  color:#fff;
  width:44px;
  height:44px;
  border-radius:12px;
  cursor:pointer;
}

.mobile-menu{
  display:none;
  padding:10px 0 18px;
}

.mobile-menu.open{
  display:block;
}

.mobile-menu a{
  display:block;
  padding:14px;
  border-radius:12px;
  font-weight:700;
}

.mobile-menu a:hover{
  background:#edf7ff;
  color:var(--blue);
}

.mobile-pihtex-link{
  margin-top:8px;
  background:linear-gradient(
    135deg,
    #087fd9,
    #16a5f7
  );
  color:#fff !important;
  box-shadow:0 8px 20px rgba(8,127,217,.20);
}

.mobile-pihtex-link:hover{
  background:linear-gradient(
    135deg,
    #076fc0,
    #0d94df
  ) !important;
  color:#fff !important;
}


/* =========================================
   HERO
========================================= */

.hero{
  position:relative;
  min-height:680px;
  display:flex;
  align-items:center;
  overflow:hidden;
  color:#fff;
  background:#071b42;
}

.hero-bg{
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(
      90deg,
      rgba(4,20,53,.96) 0%,
      rgba(5,25,59,.82) 42%,
      rgba(5,25,59,.18) 78%
    ),
    url('images/hero.avif');
  background-size:cover;
  background-position:center;
}

.hero-glow{
  position:absolute;
  width:550px;
  height:550px;
  right:-150px;
  top:-150px;
  background:rgba(40,185,255,.18);
  filter:blur(80px);
  border-radius:50%;
}

.hero-content{
  position:relative;
  z-index:2;
  padding:90px 0;
  max-width:800px;
}

.hero-badge{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 13px;
  border:1px solid rgba(255,255,255,.2);
  background:rgba(255,255,255,.09);
  backdrop-filter:blur(10px);
  border-radius:999px;
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
}

.hero h1{
  font-size:clamp(43px,6vw,78px);
  line-height:1.02;
  letter-spacing:-.055em;
  font-weight:900;
  margin:24px 0;
}

.hero h1 span{
  color:#58d9ff;
}

.hero p{
  font-size:18px;
  color:#dcecff;
  max-width:700px;
}

.hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:32px;
}

.hero-trust{
  display:flex;
  gap:25px;
  flex-wrap:wrap;
  margin-top:36px;
  color:#d8e8fb;
  font-size:13px;
}

.hero-trust strong{
  color:#fff;
  display:block;
  font-size:15px;
}

.floating-card{
  position:absolute;
  right:5%;
  bottom:50px;
  z-index:3;
  background:rgba(255,255,255,.95);
  color:var(--navy);
  padding:20px 22px;
  border-radius:18px;
  box-shadow:0 25px 60px rgba(0,0,0,.22);
  min-width:220px;
}

.floating-card b{
  font-size:25px;
  display:block;
}

.floating-card span{
  font-size:12px;
  color:var(--muted);
}


/* =========================================
   STATS
========================================= */

.stats{
  position:relative;
  z-index:5;
  margin-top:-45px;
}

.stats-box{
  background:#fff;
  border-radius:22px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:28px;
}

.stat{
  padding:5px 25px;
  border-right:1px solid #e7edf4;
}

.stat:last-child{
  border-right:0;
}

.stat strong{
  display:block;
  color:var(--blue);
  font-size:28px;
  line-height:1.1;
}

.stat span{
  font-size:12px;
  color:var(--muted);
  font-weight:600;
}


/* =========================================
   ABOUT
========================================= */

.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:70px;
  align-items:center;
}

.about-photo{
  position:relative;
}

.about-photo img{
  width:100%;
  height:510px;
  object-fit:cover;
  border-radius:30px;
  box-shadow:var(--shadow);
}

.photo-badge{
  position:absolute;
  left:-18px;
  bottom:25px;
  background:linear-gradient(135deg,var(--blue),#0b5fc0);
  color:#fff;
  border-radius:18px;
  padding:18px 20px;
  box-shadow:0 18px 35px rgba(8,127,217,.3);
}

.photo-badge strong{
  font-size:30px;
  display:block;
  line-height:1;
}

.photo-badge span{
  font-size:11px;
  font-weight:700;
}

.about-copy p{
  color:var(--muted);
  margin-top:16px;
}

.checks{
  list-style:none;
  margin-top:25px;
  display:grid;
  gap:12px;
}

.checks li{
  font-weight:600;
}


/* =========================================
   SERVICES
========================================= */

.center-head{
  text-align:center;
  max-width:760px;
  margin:0 auto 50px;
}

.services-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}

.service{
  background:#fff;
  border:1px solid #e5edf5;
  border-radius:22px;
  overflow:hidden;
  box-shadow:0 10px 30px rgba(6,27,73,.06);
  transition:.3s;
}

.service:hover{
  transform:translateY(-7px);
  box-shadow:0 25px 55px rgba(6,27,73,.12);
}

.service-img{
  height:190px;
  width:100%;
  object-fit:cover;
}

.service-body{
  padding:25px;
}

.icon{
  width:45px;
  height:45px;
  border-radius:13px;
  background:#eaf6ff;
  color:var(--blue);
  display:grid;
  place-items:center;
  font-size:20px;
  margin-bottom:17px;
}

.service h3{
  font-size:20px;
  line-height:1.25;
  margin-bottom:9px;
}

.service p{
  color:var(--muted);
  font-size:14px;
}

.service-link{
  display:inline-block;
  margin-top:16px;
  color:var(--blue);
  font-weight:800;
  font-size:13px;
}


/* =========================================
   PROCESS
========================================= */

.process{
  background:linear-gradient(135deg,#071c4a,#0a3c84);
  color:#fff;
  position:relative;
  overflow:hidden;
}

.process:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(61,205,255,.2),
      transparent 30%
    ),
    radial-gradient(
      circle at 10% 90%,
      rgba(34,197,94,.08),
      transparent 30%
    );
}

.process .container{
  position:relative;
}

.process .eyebrow{
  color:#63d8ff;
}

.process .section-lead{
  color:#c7d8ee;
}

.steps{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  margin-top:48px;
}

.step{
  position:relative;
  padding:22px 14px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  border-radius:18px;
}

.step-number{
  font-size:12px;
  font-weight:900;
  color:#65d9ff;
}

.step h3{
  font-size:16px;
  margin:12px 0 7px;
}

.step p{
  font-size:12px;
  color:#bfd0e7;
}


/* =========================================
   BENEFITS
========================================= */

.benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  margin-top:48px;
}

.benefit{
  padding:30px 22px;
  background:#fff;
  border:1px solid #e5edf5;
  border-radius:20px;
  text-align:center;
}

.benefit .icon{
  margin:0 auto 16px;
}

.benefit h3{
  font-size:17px;
}

.benefit p{
  font-size:13px;
  color:var(--muted);
  margin-top:8px;
}


/* =========================================
   PARTNER
========================================= */

.partner{
  background:#071b42;
  color:#fff;
  position:relative;
  overflow:hidden;
}

.partner-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:55px;
  align-items:center;
}

.partner h2{
  font-size:clamp(32px,4vw,52px);
  line-height:1.05;
  letter-spacing:-.04em;
}

.partner h2 span{
  color:#5ad9ff;
}

.partner p{
  color:#bfd0e6;
  margin-top:18px;
}

.partner-list{
  display:grid;
  gap:14px;
  margin-top:25px;
}

.partner-item{
  display:flex;
  gap:13px;
}

.partner-item i{
  color:#5ad9ff;
  margin-top:5px;
}

.partner-card{
  background:#fff;
  color:var(--text);
  border-radius:25px;
  padding:30px;
  box-shadow:0 25px 70px rgba(0,0,0,.2);
}

.partner-card h3{
  font-size:23px;
  margin-bottom:18px;
}

.offer{
  display:flex;
  align-items:center;
  gap:15px;
  padding:17px 0;
  border-bottom:1px solid #e8eef4;
}

.offer:last-child{
  border-bottom:0;
}

.offer-icon{
  width:43px;
  height:43px;
  border-radius:12px;
  background:#e9f9ef;
  color:#159947;
  display:grid;
  place-items:center;
  flex-shrink:0;
}


/* =========================================
   PIHETEX ÁTJÁRÓ
========================================= */

.pihtex-bridge{
  position:relative;
  background:
    linear-gradient(
      180deg,
      #f4f8fc 0%,
      #edf6fc 100%
    );
  padding-top:90px;
  padding-bottom:90px;
  overflow:hidden;
}

.pihtex-bridge:before{
  content:"";
  position:absolute;
  width:600px;
  height:600px;
  left:-300px;
  top:50%;
  transform:translateY(-50%);
  border-radius:50%;
  background:rgba(22,165,247,.06);
  pointer-events:none;
}

.pihtex-card{
  position:relative;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  min-height:440px;
  overflow:hidden;
  border-radius:32px;
  background:
    radial-gradient(
      circle at 85% 20%,
      rgba(66,198,255,.20),
      transparent 35%
    ),
    linear-gradient(
      135deg,
      #ffffff 0%,
      #eef7ff 100%
    );
  box-shadow:
    0 30px 80px rgba(6,27,73,.18);
  isolation:isolate;
}

.pihtex-content{
  position:relative;
  z-index:3;
  padding:60px;
}

.pihtex-content .eyebrow{
  color:#1777c8;
  font-weight:800;
}

.pihtex-content h2{
  max-width:650px;
  margin:14px 0 20px;
  color:#061b49;
  font-size:clamp(36px,4vw,58px);
  line-height:1.04;
  letter-spacing:-.04em;
}

.pihtex-content h2 span{
  display:block;
  color:#1599e8;
}

.pihtex-content p{
  max-width:620px;
  margin:0 0 28px;
  color:#4d6078;
  font-size:18px;
  line-height:1.7;
}

.pihtex-features{
  display:flex;
  flex-wrap:wrap;
  gap:14px 24px;
  margin-bottom:34px;
}

.pihtex-features div{
  display:flex;
  align-items:center;
  gap:8px;
  color:#173456;
  font-size:14px;
  font-weight:700;
}

.pihtex-features strong{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:#1599e8;
  color:#fff;
  font-size:13px;
  flex-shrink:0;
}

.btn-pihtex{
  display:inline-flex;
  align-items:center;
  gap:14px;
  padding:16px 24px;
  border-radius:14px;
  background:#061b49;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 12px 30px rgba(6,27,73,.25);
  transition:
    transform .25s ease,
    background .25s ease,
    box-shadow .25s ease;
}

.btn-pihtex span{
  font-size:22px;
  line-height:1;
  transition:transform .25s ease;
}

.btn-pihtex:hover{
  background:#1599e8;
  color:#fff;
  transform:translateY(-3px);
  box-shadow:
    0 18px 35px rgba(21,153,232,.30);
}

.btn-pihtex:hover span{
  transform:translateX(5px);
}


/* =========================================
   PIHETEX LÁTVÁNY
========================================= */

.pihtex-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:440px;
  background:
    linear-gradient(
      145deg,
      #0a2b67 0%,
      #064f91 50%,
      #1599e8 100%
    );
  overflow:hidden;
}

.pihtex-glow{
  position:absolute;
  width:380px;
  height:380px;
  border-radius:50%;
  background:
    radial-gradient(
      circle,
      rgba(255,255,255,.20) 0%,
      rgba(255,255,255,.06) 45%,
      transparent 70%
    );
  filter:blur(4px);
  animation:pihtexPulse 5s ease-in-out infinite;
}

.pihtex-logo{
  position:relative;
  z-index:4;
  display:flex;
  flex-direction:column;
  align-items:center;
  color:#fff;
  text-align:center;
  animation:pihtexFloat 5s ease-in-out infinite;
}

.pihtex-star{
  margin-bottom:5px;
  color:#8de1ff;
  font-size:42px;
  text-shadow:
    0 0 15px rgba(255,255,255,.5),
    0 0 35px rgba(89,216,255,.45);
}

.pihtex-logo strong{
  font-size:clamp(48px,5vw,76px);
  line-height:.9;
  letter-spacing:-.06em;
}

.pihtex-logo strong span{
  color:#8de1ff;
}

.pihtex-logo small{
  margin-top:18px;
  color:rgba(255,255,255,.78);
  font-size:11px;
  font-weight:800;
  letter-spacing:.22em;
}

.pihtex-circle{
  position:absolute;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  animation:pihtexRotate 18s linear infinite;
}

.circle-1{
  width:500px;
  height:500px;
}

.circle-2{
  width:680px;
  height:680px;
  border-color:rgba(255,255,255,.12);
  animation-direction:reverse;
  animation-duration:25s;
}

@keyframes pihtexFloat{

  0%,
  100%{
    transform:translateY(0);
  }

  50%{
    transform:translateY(-8px);
  }

}

@keyframes pihtexPulse{

  0%,
  100%{
    transform:scale(.95);
    opacity:.7;
  }

  50%{
    transform:scale(1.08);
    opacity:1;
  }

}

@keyframes pihtexRotate{

  from{
    transform:rotate(0deg);
  }

  to{
    transform:rotate(360deg);
  }

}


/* =========================================
   QUALITY
========================================= */

.quality-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:45px;
}

.quality-card{
  background:#fff;
  border:1px solid #e3ebf4;
  border-radius:22px;
  padding:30px;
}

.quality-card ul{
  list-style:none;
  display:grid;
  gap:13px;
  margin-top:20px;
  color:var(--muted);
}

.quality-text{
  color:var(--muted);
  margin-top:14px;
}

.document-box{
  margin-top:25px;
  padding:16px;
  background:#f6f9fc;
  border-radius:14px;
}


/* =========================================
   TRIAL
========================================= */

.trial{
  background:linear-gradient(135deg,#0f9f59,#087f83);
  color:#fff;
  text-align:center;
  position:relative;
  overflow:hidden;
}

.trial:before{
  content:"";
  position:absolute;
  width:400px;
  height:400px;
  border-radius:50%;
  background:rgba(255,255,255,.09);
  right:-120px;
  top:-180px;
}

.trial .container{
  position:relative;
}

.trial h2{
  font-size:clamp(34px,4vw,55px);
  line-height:1.05;
  letter-spacing:-.04em;
}

.trial p{
  max-width:700px;
  margin:18px auto 28px;
  color:#e8fff2;
}

.trial-icon{
  font-size:48px;
  margin-bottom:12px;
}


/* =========================================
   CONTACT
========================================= */

.contact-wrap{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:stretch;
}

.contact-info{
  width:100%;
  min-width:0;
  padding:42px;
  background:linear-gradient(145deg,#071b42,#0b3575);
  color:#fff;
  border-radius:28px;
  box-shadow:0 20px 60px rgba(6,27,73,.16);
}

.contact-eyebrow{
  color:#62d9ff;
}

.contact-info h2{
  font-size:clamp(34px,4vw,50px);
  line-height:1.05;
  letter-spacing:-.04em;
}

.contact-info p{
  color:#c4d5e9;
  margin:18px 0 28px;
  max-width:850px;
}

.contact-items{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}

.contact-item{
  display:flex;
  gap:13px;
  align-items:center;
  min-width:0;
}

.contact-item .icon{
  margin:0;
  background:rgba(255,255,255,.08);
  color:#5ad9ff;
  flex-shrink:0;
}

.contact-item small{
  display:block;
  color:#8fa7c5;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-weight:800;
}

.contact-item strong{
  display:block;
  color:#fff;
  overflow-wrap:anywhere;
}

.contact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:30px;
}


/* =========================================
   FOOTER
========================================= */

.footer{
  background:#041432;
  color:#9db1ce;
  padding:55px 0 20px;
}

.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:35px;
}

.footer h4{
  color:#fff;
  margin-bottom:14px;
  font-size:14px;
}

.footer p,
.footer a{
  font-size:12px;
}

.footer a{
  display:block;
  margin:8px 0;
}

.footer a:hover{
  color:#5ad9ff;
}

.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:35px;
  padding-top:18px;
  display:flex;
  justify-content:space-between;
  font-size:11px;
}

.footer-bottom div+div{
  margin-left:15px;
}

.footer-logo{
  color:#fff;
  font-size:22px;
  font-weight:900;
  margin-bottom:10px;
}


/* =========================================
   FLOATING PHONE
========================================= */

.float-phone{
  position:fixed;
  right:20px;
  bottom:20px;
  z-index:90;
  width:56px;
  height:56px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#16a34a;
  color:#fff;
  box-shadow:0 15px 30px rgba(22,163,74,.35);
  font-size:21px;
}

.float-phone:hover{
  transform:scale(1.05);
}


/* =========================================
   TO TOP
========================================= */

.to-top{
  position:fixed;
  right:20px;
  bottom:88px;
  z-index:90;
  width:42px;
  height:42px;
  border:0;
  border-radius:12px;
  background:#fff;
  color:var(--navy);
  box-shadow:0 8px 25px rgba(0,0,0,.15);
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transition:.2s;
}

.to-top.show{
  opacity:1;
  pointer-events:auto;
}


/* =========================================
   REVEAL
========================================= */

.reveal{
  opacity:0;
  transform:translateY(25px);
  transition:.7s ease;
}

.reveal.visible{
  opacity:1;
  transform:none;
}


/* =========================================
   TABLET / LARGE
========================================= */

@media(max-width:1100px){

  .nav-links{
    gap:12px;
    font-size:12px;
  }

  .btn-pihtex-nav{
    padding:10px 12px;
  }

}


/* =========================================
   TABLET
========================================= */

@media(max-width:900px){

  .nav-links{
    display:none;
  }

  .mobile-btn{
    display:grid;
    place-items:center;
  }

  .hero{
    min-height:620px;
  }

  .floating-card{
    display:none;
  }

  .stats-box{
    grid-template-columns:1fr 1fr;
  }

  .stat:nth-child(2){
    border-right:0;
  }

  .stat:nth-child(-n+2){
    padding-bottom:18px;
  }

  .stat:nth-child(n+3){
    padding-top:18px;
    border-top:1px solid #e7edf4;
  }

  .about-grid,
  .partner-grid{
    grid-template-columns:1fr;
    gap:40px;
  }

  .services-grid{
    grid-template-columns:1fr 1fr;
  }

  .steps{
    grid-template-columns:repeat(3,1fr);
  }

  .benefits{
    grid-template-columns:1fr 1fr;
  }

  .quality-grid{
    grid-template-columns:1fr;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
  }


  /* PIHETEX */

  .pihtex-card{
    grid-template-columns:1fr;
  }

  .pihtex-visual{
    min-height:360px;
  }

  .pihtex-content{
    padding:50px 45px;
  }

}


/* =========================================
   MOBILE
========================================= */

@media(max-width:600px){

  .container{
    width:min(100% - 24px,1160px);
  }

  .section{
    padding:68px 0;
  }

  .topbar{
    display:none;
  }

  .nav-inner{
    min-height:68px;
  }

  .logo{
    font-size:20px;
  }

  .logo-mark{
    width:38px;
    height:38px;
  }

  .hero{
    min-height:650px;
  }

  .hero-bg{
    background-image:
      linear-gradient(
        180deg,
        rgba(4,20,53,.88),
        rgba(4,20,53,.82)
      ),
      url('images/hero.avif');

    background-position:center;
  }

  .hero-content{
    padding:70px 0;
  }

  .hero h1{
    font-size:clamp(39px,12vw,58px);
  }

  .hero p{
    font-size:16px;
  }

  .hero-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .hero-actions .btn{
    width:100%;
  }

  .hero-trust{
    gap:15px;
    display:grid;
    grid-template-columns:1fr 1fr;
  }

  .stats{
    margin-top:-25px;
  }

  .stats-box{
    padding:18px 8px;
  }

  .stat{
    padding:10px 12px;
  }

  .stat strong{
    font-size:20px;
  }

  .stat span{
    font-size:10px;
  }

  .about-photo img{
    height:360px;
  }

  .photo-badge{
    left:12px;
    bottom:12px;
  }

  .services-grid{
    grid-template-columns:1fr;
  }

  .service-img{
    height:210px;
  }

  .steps{
    grid-template-columns:1fr 1fr;
  }

  .benefits{
    grid-template-columns:1fr;
  }

  .partner-card{
    padding:22px;
  }


  /* =========================================
     PIHETEX MOBIL
  ========================================= */

  .pihtex-bridge{
    padding-top:68px;
    padding-bottom:68px;
  }

  .pihtex-card{
    border-radius:24px;
  }

  .pihtex-content{
    padding:38px 24px 42px;
  }

  .pihtex-content h2{
    font-size:40px;
  }

  .pihtex-content p{
    font-size:16px;
    line-height:1.65;
  }

  .pihtex-features{
    display:grid;
    gap:12px;
    margin-bottom:28px;
  }

  .pihtex-features div{
    font-size:13px;
  }

  .btn-pihtex{
    width:100%;
    padding:15px 17px;
    font-size:14px;
  }

  .pihtex-visual{
    min-height:290px;
  }

  .pihtex-logo strong{
    font-size:54px;
  }

  .pihtex-logo small{
    font-size:8px;
    letter-spacing:.16em;
  }

  .pihtex-star{
    font-size:32px;
  }

  .pihtex-circle.circle-1{
    width:340px;
    height:340px;
  }

  .pihtex-circle.circle-2{
    width:460px;
    height:460px;
  }


  /* CONTACT */

  .contact-info{
    padding:28px 22px;
  }

  .contact-info h2{
    font-size:34px;
  }

  .contact-items{
    grid-template-columns:1fr;
  }

  .contact-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .contact-actions .btn{
    width:100%;
  }


  /* FOOTER */

  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    display:block;
  }

  .footer-bottom div+div{
    margin-top:8px;
    margin-left:0;
  }

}
@media (prefers-reduced-motion: reduce){

  html{
    scroll-behavior:auto;
  }

  *,
  *::before,
  *::after{
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }

}


/* =========================================
   2026 VISUAL REFRESH
   A működés változatlan, csak a megjelenés erősödik.
========================================= */

::selection{
  background:#20b9ee;
  color:#fff;
}

body{
  background:
    radial-gradient(circle at 8% 18%,rgba(22,165,247,.08),transparent 24rem),
    radial-gradient(circle at 92% 42%,rgba(34,197,94,.055),transparent 26rem),
    #fff;
}

a:focus-visible,
button:focus-visible{
  outline:3px solid #59d8ff;
  outline-offset:4px;
}

.section{
  position:relative;
}

.section-title span{
  background:linear-gradient(110deg,#087fd9 10%,#16a5f7 48%,#10b9a5 100%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:7px 12px;
  border:1px solid rgba(8,127,217,.14);
  border-radius:999px;
  background:rgba(234,246,255,.72);
  box-shadow:0 8px 24px rgba(8,127,217,.06);
}

.eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:linear-gradient(135deg,#16a5f7,#22c55e);
  box-shadow:0 0 0 5px rgba(22,165,247,.1);
}

.center-head .eyebrow{
  justify-content:center;
}

.btn{
  position:relative;
  overflow:hidden;
  min-height:52px;
  border-radius:16px;
  isolation:isolate;
}

.btn::after{
  content:"";
  position:absolute;
  top:-80%;
  left:-45%;
  width:32%;
  height:260%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);
  transform:rotate(18deg);
  transition:left .65s ease;
  z-index:0;
  pointer-events:none;
}

.btn:hover::after{
  left:120%;
}

.btn-primary{
  background:linear-gradient(120deg,#087fd9 0%,#15a7ed 55%,#0eb69e 115%);
  box-shadow:0 15px 34px rgba(8,127,217,.32),inset 0 1px rgba(255,255,255,.25);
}

.topbar{
  background:linear-gradient(90deg,#041432,#07316b 58%,#07577a);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.nav{
  background:rgba(255,255,255,.88);
  box-shadow:0 10px 40px rgba(6,27,73,.055);
}

.logo-mark{
  position:relative;
  transform:rotate(-6deg);
  background:linear-gradient(145deg,#087fd9,#20c9ef 65%,#39d3ad);
  box-shadow:0 10px 28px rgba(8,127,217,.3),inset 0 1px rgba(255,255,255,.3);
}

.logo-mark::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(8,127,217,.18);
  border-radius:16px;
}

.nav-links > a:not(.btn){
  position:relative;
}

.nav-links > a:not(.btn)::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-8px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg,#087fd9,#22c5b0);
  transition:right .25s ease;
}

.nav-links > a:not(.btn):hover::after{
  right:0;
}

.hero{
  min-height:760px;
  isolation:isolate;
}

.hero-bg{
  transform:scale(1.025);
  background-image:
    linear-gradient(90deg,rgba(3,15,42,.97) 0%,rgba(4,27,65,.9) 42%,rgba(3,25,59,.38) 72%,rgba(3,22,52,.16) 100%),
    linear-gradient(0deg,rgba(4,20,53,.7),transparent 42%),
    url('images/hero.avif');
  background-position:center 58%;
  animation:heroBreath 14s ease-in-out infinite alternate;
}

.hero::before{
  content:"";
  position:absolute;
  z-index:1;
  inset:0;
  opacity:.23;
  background-image:
    linear-gradient(rgba(255,255,255,.075) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.075) 1px,transparent 1px);
  background-size:72px 72px;
  mask-image:linear-gradient(90deg,#000,transparent 74%);
  -webkit-mask-image:linear-gradient(90deg,#000,transparent 74%);
  pointer-events:none;
}

.hero::after{
  content:"";
  position:absolute;
  z-index:1;
  left:-12%;
  bottom:-310px;
  width:720px;
  height:500px;
  border-radius:50%;
  background:rgba(22,165,247,.22);
  filter:blur(100px);
  pointer-events:none;
}

.hero-glow{
  width:620px;
  height:620px;
  background:linear-gradient(135deg,rgba(40,185,255,.28),rgba(34,197,94,.1));
  animation:glowFloat 7s ease-in-out infinite alternate;
}

.hero-content{
  padding:105px 0 125px;
}

.hero-badge{
  padding:10px 16px;
  border-color:rgba(100,220,255,.32);
  background:rgba(5,42,89,.52);
  box-shadow:inset 0 1px rgba(255,255,255,.14),0 15px 35px rgba(0,0,0,.16);
}

.hero-badge::first-letter{
  color:#65e3ff;
}

.hero h1{
  max-width:920px;
  text-shadow:0 10px 40px rgba(0,0,0,.28);
}

.hero h1 span{
  background:linear-gradient(90deg,#55dcff 0%,#91eafe 48%,#62f0c4 100%);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero p{
  max-width:740px;
  font-size:19px;
  line-height:1.78;
  text-shadow:0 3px 18px rgba(0,0,0,.35);
}

.hero-actions .btn{
  min-height:57px;
  padding-inline:27px;
}

.hero .btn-light{
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(10px);
}

.hero-trust{
  gap:10px;
  margin-top:38px;
}

.hero-trust > div{
  min-width:145px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  background:rgba(255,255,255,.07);
  backdrop-filter:blur(9px);
  box-shadow:inset 0 1px rgba(255,255,255,.08);
}

.floating-card{
  padding:24px 27px;
  border:1px solid rgba(255,255,255,.72);
  background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(232,248,255,.91));
  box-shadow:0 30px 80px rgba(0,0,0,.28),inset 0 1px #fff;
  transform:rotate(-2deg);
  animation:cardFloat 4.5s ease-in-out infinite;
}

.floating-card::before{
  content:"✦";
  position:absolute;
  right:17px;
  top:13px;
  color:#16a5f7;
  font-size:22px;
}

.floating-card b{
  background:linear-gradient(110deg,#087fd9,#10b99f);
  background-clip:text;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.stats{
  margin-top:-62px;
}

.stats-box{
  padding:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.8);
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(18px);
  box-shadow:0 30px 80px rgba(6,27,73,.16);
}

.stat{
  position:relative;
  min-height:135px;
  padding:32px 24px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  transition:background .3s ease,transform .3s ease;
}

.stat::before{
  content:"";
  position:absolute;
  left:24px;
  top:20px;
  width:34px;
  height:3px;
  border-radius:99px;
  background:linear-gradient(90deg,#087fd9,#21c7ad);
}

.stat:hover{
  background:linear-gradient(145deg,#fff,#edf9ff);
  transform:translateY(-3px);
}

.about-photo::before{
  content:"";
  position:absolute;
  inset:-14px 28px 28px -14px;
  border:1px solid rgba(8,127,217,.16);
  border-radius:36px;
  background:linear-gradient(145deg,rgba(22,165,247,.12),rgba(34,197,94,.08));
  z-index:-1;
}

.about-photo img{
  border:8px solid rgba(255,255,255,.9);
  box-shadow:0 32px 80px rgba(6,27,73,.18);
}

.photo-badge{
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(135deg,#087fd9,#0f9cae 70%,#15b98e);
}

.checks li{
  padding:10px 14px;
  border-radius:12px;
  background:linear-gradient(90deg,rgba(234,246,255,.88),rgba(255,255,255,0));
}

.section.alt{
  background:
    radial-gradient(circle at 100% 0,rgba(22,165,247,.12),transparent 26rem),
    radial-gradient(circle at 0 100%,rgba(34,197,94,.065),transparent 24rem),
    linear-gradient(180deg,#f5faff,#edf6fc);
}

.service{
  position:relative;
  border-color:rgba(8,127,217,.12);
  border-radius:26px;
  box-shadow:0 18px 45px rgba(6,27,73,.085);
}

.service::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  box-shadow:inset 0 1px rgba(255,255,255,.8);
}

.service-img{
  height:215px;
  transition:transform .55s ease,filter .55s ease;
}

.service:hover{
  transform:translateY(-10px);
  box-shadow:0 32px 70px rgba(6,27,73,.17);
}

.service:hover .service-img{
  transform:scale(1.055);
  filter:saturate(1.08) contrast(1.03);
}

.service-body{
  position:relative;
  background:linear-gradient(155deg,#fff 45%,#f5fbff);
}

.service .icon,
.benefit .icon{
  background:linear-gradient(145deg,#e4f5ff,#ddfbf4);
  box-shadow:0 10px 24px rgba(8,127,217,.12);
}

.service-link{
  padding:7px 11px;
  margin-left:-11px;
  border-radius:9px;
  transition:background .25s ease,transform .25s ease;
}

.service-link:hover{
  background:#e9f7ff;
  transform:translateX(4px);
}

.process{
  background:
    linear-gradient(135deg,rgba(4,18,49,.98),rgba(6,58,126,.96)),
    url('images/mosoda.avif') center/cover;
}

.process::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#5ad9ff,transparent);
}

.process .eyebrow,
.partner .eyebrow{
  color:#8ce9ff;
  background:rgba(64,200,255,.1);
  border-color:rgba(100,220,255,.2);
}

.steps{
  position:relative;
}

.steps::before{
  content:"";
  position:absolute;
  left:5%;
  right:5%;
  top:36px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(93,221,255,.55),transparent);
}

.step{
  min-height:180px;
  padding:24px 17px;
  background:linear-gradient(145deg,rgba(255,255,255,.115),rgba(255,255,255,.045));
  backdrop-filter:blur(10px);
  box-shadow:inset 0 1px rgba(255,255,255,.1);
  transition:transform .3s ease,background .3s ease,border-color .3s ease;
}

.step:hover{
  transform:translateY(-7px);
  background:rgba(255,255,255,.14);
  border-color:rgba(99,216,255,.45);
}

.step-number{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:50%;
  background:linear-gradient(135deg,#159fe8,#20c6ad);
  color:#fff;
  box-shadow:0 10px 25px rgba(15,173,205,.3);
}

.benefit{
  position:relative;
  overflow:hidden;
  border-radius:24px;
  box-shadow:0 16px 40px rgba(6,27,73,.07);
  transition:transform .3s ease,box-shadow .3s ease;
}

.benefit::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,#087fd9,#24c4b0);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s ease;
}

.benefit:hover{
  transform:translateY(-7px);
  box-shadow:0 28px 60px rgba(6,27,73,.13);
}

.benefit:hover::before{
  transform:scaleX(1);
}

.partner{
  background:
    radial-gradient(circle at 12% 30%,rgba(22,165,247,.2),transparent 28rem),
    radial-gradient(circle at 92% 80%,rgba(34,197,94,.1),transparent 24rem),
    linear-gradient(135deg,#03112e,#062860 65%,#064668);
}

.partner::after{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  right:-300px;
  top:-280px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:50%;
  box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.015);
}

.partner-card{
  position:relative;
  border:1px solid rgba(255,255,255,.78);
  background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(235,248,255,.94));
  transform:rotate(1deg);
}

.offer-icon{
  border-radius:50%;
  background:linear-gradient(145deg,#ddfae8,#dff7ff);
}

.pihtex-card{
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 36px 100px rgba(6,27,73,.2),inset 0 1px #fff;
  transition:transform .4s ease,box-shadow .4s ease;
}

.pihtex-card:hover{
  transform:translateY(-5px);
  box-shadow:0 44px 110px rgba(6,27,73,.24),inset 0 1px #fff;
}

.quality-card{
  position:relative;
  overflow:hidden;
  border-color:rgba(8,127,217,.12);
  background:linear-gradient(145deg,#fff,#f7fbff);
  box-shadow:0 18px 45px rgba(6,27,73,.075);
  transition:transform .3s ease,box-shadow .3s ease;
}

.quality-card::after{
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-65px;
  bottom:-70px;
  border-radius:50%;
  background:linear-gradient(145deg,rgba(22,165,247,.12),rgba(34,197,94,.09));
}

.quality-card:hover{
  transform:translateY(-5px);
  box-shadow:0 28px 65px rgba(6,27,73,.12);
}

.faq-grid .quality-card h3{
  padding-left:42px;
}

.faq-grid .quality-card h3::before{
  content:"?";
  position:absolute;
  left:30px;
  top:27px;
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:10px;
  color:#fff;
  background:linear-gradient(145deg,#087fd9,#20bda8);
  box-shadow:0 9px 20px rgba(8,127,217,.22);
}

.trial{
  background:
    radial-gradient(circle at 20% 20%,rgba(255,255,255,.18),transparent 20rem),
    radial-gradient(circle at 85% 90%,rgba(0,58,92,.28),transparent 22rem),
    linear-gradient(120deg,#0b9f62,#068c9c 54%,#087fd9);
  box-shadow:inset 0 1px rgba(255,255,255,.2),inset 0 -1px rgba(0,0,0,.08);
}

.trial-icon{
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.2));
  animation:giftPulse 2.5s ease-in-out infinite;
}

.contact-wrap{
  max-width:1080px;
}

.contact-info{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(8,127,217,.13);
  background:
    radial-gradient(circle at 100% 0,rgba(22,165,247,.12),transparent 24rem),
    linear-gradient(145deg,#fff,#f4faff);
  box-shadow:0 30px 85px rgba(6,27,73,.13);
  color:var(--text);
}

.contact-info h2,
.contact-info h3,
.contact-item strong{
  color:var(--navy);
}

.contact-info > p{
  color:#536985;
}

.contact-eyebrow{
  color:var(--blue);
}

.contact-info::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,#087fd9,#1bc0ad);
}

.contact-item{
  border:1px solid rgba(8,127,217,.1);
  background:rgba(255,255,255,.76);
  box-shadow:0 10px 28px rgba(6,27,73,.055);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}

a.contact-item:hover{
  transform:translateY(-3px);
  border-color:rgba(8,127,217,.28);
  box-shadow:0 16px 34px rgba(6,27,73,.1);
}

.contact-form-panel{
  margin-top:34px;
  padding:32px;
  border:1px solid rgba(8,127,217,.13);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 18px 50px rgba(6,27,73,.09);
}

.contact-form-heading{
  display:flex;
  align-items:flex-start;
  gap:15px;
  margin-bottom:24px;
}

.contact-form-heading h3{
  font-size:24px;
  line-height:1.2;
}

.contact-form-heading p{
  margin:6px 0 0;
  color:#64748b;
  font-size:14px;
}

.contact-form-icon{
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:grid;
  place-items:center;
  border-radius:15px;
  color:#fff;
  background:linear-gradient(145deg,#087fd9,#20bda8);
  box-shadow:0 12px 25px rgba(8,127,217,.24);
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.form-field{
  display:grid;
  gap:7px;
  color:#29415f;
  font-size:13px;
  font-weight:800;
}

.form-field b{
  color:#dc2626;
}

.form-field-full{
  grid-column:1 / -1;
}

.form-field input,
.form-field textarea{
  width:100%;
  border:1px solid #cfdfed;
  border-radius:13px;
  background:#f9fcff;
  color:#12213d;
  font:inherit;
  font-weight:500;
  padding:13px 15px;
  outline:0;
  transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.form-field textarea{
  min-height:150px;
  resize:vertical;
}

.form-field input:focus,
.form-field textarea:focus{
  border-color:#159fe8;
  background:#fff;
  box-shadow:0 0 0 4px rgba(21,159,232,.12);
}

.form-consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin-top:18px;
  color:#536985;
  font-size:12px;
  line-height:1.55;
  cursor:pointer;
}

.form-consent input{
  width:18px;
  height:18px;
  margin-top:1px;
  flex:0 0 auto;
  accent-color:#087fd9;
}

.form-submit{
  margin-top:22px;
  border:0;
}

.form-required{
  margin:10px 0 0 !important;
  color:#71839a !important;
  font-size:11px;
}

.form-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}

.form-status{
  margin-bottom:20px;
  padding:14px 16px;
  border-radius:12px;
  font-size:14px;
  font-weight:700;
}

.form-status.success{
  color:#116534;
  border:1px solid #a7e1bd;
  background:#eaf9ef;
}

.form-status.error{
  color:#9f2020;
  border:1px solid #f0b7b7;
  background:#fff0f0;
}

.contact-map{
  border:7px solid #fff;
  box-shadow:0 20px 55px rgba(6,27,73,.13);
}

.footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 85% 0,rgba(22,165,247,.16),transparent 25rem),
    linear-gradient(135deg,#020d25,#041a40 55%,#06365a);
}

.footer::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:1px;
  background:linear-gradient(90deg,transparent,#5ad9ff,transparent);
}

.float-phone{
  border:2px solid rgba(255,255,255,.9);
  background:linear-gradient(145deg,#22c55e,#109947);
  box-shadow:0 18px 40px rgba(22,163,74,.38),0 0 0 8px rgba(34,197,94,.1);
  animation:phonePulse 2.8s ease-in-out infinite;
}

@keyframes heroBreath{
  from{transform:scale(1.025)}
  to{transform:scale(1.07)}
}

@keyframes glowFloat{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-55px,45px,0)}
}

@keyframes cardFloat{
  0%,100%{transform:translateY(0) rotate(-2deg)}
  50%{transform:translateY(-10px) rotate(-1deg)}
}

@keyframes giftPulse{
  0%,100%{transform:translateY(0) rotate(-3deg)}
  50%{transform:translateY(-7px) rotate(3deg)}
}

@keyframes phonePulse{
  0%,100%{box-shadow:0 18px 40px rgba(22,163,74,.38),0 0 0 8px rgba(34,197,94,.1)}
  50%{box-shadow:0 20px 46px rgba(22,163,74,.42),0 0 0 14px rgba(34,197,94,.04)}
}

@media(max-width:900px){
  .hero{min-height:680px}
  .hero-bg{background-position:63% center}
  .hero-content{padding:88px 0 110px}
  .steps::before{display:none}
  .partner-card{transform:none}
}

@media(max-width:600px){
  .hero{min-height:660px}
  .hero-bg{
    background-image:
      linear-gradient(90deg,rgba(3,15,42,.97),rgba(4,28,64,.82)),
      linear-gradient(0deg,rgba(4,20,53,.72),transparent 42%),
      url('images/hero.avif');
    background-position:59% center;
  }
  .hero-content{padding:72px 0 100px}
  .hero p{font-size:16px;line-height:1.68}
  .hero-trust > div{min-width:calc(50% - 5px);padding:11px 12px}
  .stats{margin-top:-42px}
  .stat{min-height:112px;padding:29px 13px 18px}
  .stat::before{left:13px;top:18px}
  .about-photo::before{inset:-9px 16px 18px -9px}
  .service-img{height:220px}
  .faq-grid .quality-card h3{padding-left:38px}
  .faq-grid .quality-card h3::before{left:22px;top:25px}
  .contact-form-panel{padding:22px 18px}
  .contact-form-heading h3{font-size:21px}
  .form-grid{grid-template-columns:1fr}
  .form-field-full{grid-column:auto}
  .form-submit{width:100%}
}

@media (prefers-reduced-motion: reduce){
  .hero-bg,
  .hero-glow,
  .floating-card,
  .trial-icon,
  .float-phone{
    animation:none !important;
  }
}
