:root{
  --navy-900:#0a1230;
  --navy-800:#0e1c3f;
  --navy-700:#132a52;
  --blue-500:#2C92FC;
  --blue-400:#2C92FC;
  --coral-500:#F94A4A;
  --coral-600:#E23838;
  --gray-bg:#eef2f8;
  --heading-dark:#1e293b;
  --text-dark:#334155;
  --text-gray:#334155;
  --text-gray-light:#c7cfe0;
  --white:#ffffff;
}

*{box-sizing:border-box;margin:0;padding:0;}

html{scroll-behavior:smooth;}

body{
  font-family:'Inter',sans-serif;
  background:var(--white);
  color:var(--text-dark);
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

h1,h2,h3,.eyebrow,nav,.btn{font-family:'Poppins',sans-serif;}

img{max-width:100%;height:auto;display:block;}

a{color:inherit;}

/* ---------- CONTAINER ---------- */
.container{
  width:100%;
  max-width:1200px;
  margin:0 auto;
  padding:0 50px;
}

/* ---------- HEADER ---------- */
.header{
  background:var(--white);
  position:relative;
  z-index:100;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:22px;
  padding-bottom:22px;
}

.logo{
  height:57px;
  display:flex;
  align-items:center;
  flex-shrink:0;
}
.logo img{height:100%;width:auto;display:block;}

.nav{
  display:flex;
  align-items:center;
  gap:38px;
  flex:1;
  justify-content:center;
}
.nav-link{
  display:flex;
  align-items:center;
  gap:5px;
  text-decoration:none;
  font-size:16px;
  font-weight:500;
  color:var(--text-dark);
  white-space:nowrap;
  transition:color .15s ease;
}
.nav-link:hover{color:var(--blue-500);}
.nav-link.active{color:var(--text-dark);font-weight:600;}
.chevron{color:#9aa4b8;}
.nav .nav-cta{display:none;}

.nav-item{position:relative;display:flex;align-items:center;}
.nav-dropdown{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  padding-top:12px;
  min-width:230px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease, visibility .18s ease;
  z-index:50;
}
.nav-item:hover .nav-dropdown,
.nav-item:focus-within .nav-dropdown{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.nav-dropdown-inner{
  background:#fff;
  border:1px solid #eef1f6;
  border-radius:12px;
  box-shadow:0 14px 34px rgba(15,30,60,.14);
  padding:10px;
}
.nav-dropdown a{
  display:block;
  padding:10px 14px;
  border-radius:8px;
  font-size:14.5px;
  font-weight:500;
  color:var(--text-dark);
  text-decoration:none;
  white-space:nowrap;
  transition:background .15s ease, color .15s ease;
}
.nav-dropdown a:hover{background:var(--gray-bg);color:var(--blue-500);}

.header-cta{flex-shrink:0;}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  font-weight:600;
  border-radius:6px;
  white-space:nowrap;
  letter-spacing:.3px;
  cursor:pointer;
  border:none;
}
.btn-small{padding:12px 24px;font-size:15px;}
.btn-large{padding:17px 36px;font-size:16.5px;}

.hero-actions .btn-large{height:59px;padding-top:0;padding-bottom:0;}

.btn-coral{background:var(--coral-500);color:#fff;transition:background .18s ease;}
.btn-coral:hover{background:var(--blue-500);}

.btn-blue{background:var(--blue-500);color:#fff;transition:background .18s ease;}
.btn-blue:hover{background:var(--coral-500);}

/* ---------- HERO PHONE WIDGET ---------- */
.btn-phone{
  display:inline-flex;
  align-items:center;
  gap:14px;
  text-decoration:none;
  background:rgba(255,255,255,.06);
  border:1.5px solid rgba(255,255,255,.16);
  border-radius:8px;
  padding:0 24px 0 9px;
  height:59px;
  transition:background .18s ease, border-color .18s ease;
}
.btn-phone:hover{
  background:rgba(44,146,252,.14);
  border-color:var(--blue-500);
}
.phone-icon{
  width:44px;
  height:44px;
  border-radius:50%;
  background:var(--blue-500);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.phone-text{display:flex;flex-direction:column;line-height:1.3;}
.phone-label{
  font-size:12.5px;
  font-weight:600;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--text-gray-light);
}
.phone-number{
  font-size:18px;
  font-weight:700;
  color:#fff;
  font-family:'Poppins',sans-serif;
}

/* nav toggle (mobile hamburger) */
.nav-toggle{
  display:none;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:6px;
  width:38px;
  height:38px;
  background:none;
  border:none;
  padding:0;
  margin:0;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  flex-shrink:0;
}
.nav-toggle span{
  display:block;
  width:24px;
  height:3px;
  background:var(--blue-500);
  border-radius:1.5px;
  transition:transform .25s ease, opacity .2s ease;
}
.nav-toggle.open span:nth-child(1){transform:translateY(8.5px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg);}

/* ---------- EYEBROW LABEL ---------- */
.eyebrow{
  font-size:14px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  padding-left:20px;
  position:relative;
  margin-bottom:18px;
}
.eyebrow::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:12px;
  height:2px;
  transform:translateY(-50%);
}
.eyebrow-light{color:var(--blue-400);}
.eyebrow-light::before{background:var(--blue-400);}
.eyebrow-coral{color:var(--coral-500);}
.eyebrow-coral::before{background:var(--coral-500);}

/* ---------- HERO ---------- */
.hero{
  background:
    radial-gradient(1100px 500px at 78% 10%, rgba(60,100,200,.35), transparent 60%),
    linear-gradient(160deg,#0c1636 0%,#0a1230 55%,#0a1128 100%);
  position:relative;
}

.hero-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding-top:50px;
  padding-bottom:50px;
  gap:20px;
}

.hero-text{width:540px;flex-shrink:0;max-width:100%;}

.hero-title{
  font-size:40px;
  font-weight:700;
  line-height:1.25;
  color:#fff;
  margin-bottom:22px;
  white-space:nowrap;
}
.hero-title .accent{color:var(--blue-400);}

.hero-desc{
  font-size:16.5px;
  line-height:1.7;
  color:var(--text-gray-light);
  margin-bottom:32px;
  max-width:430px;
}

.hero-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}

.hero-image{
  width:600px;
  flex-shrink:0;
  display:flex;
  justify-content:center;
}

/* ---------- STATS BAR ---------- */
.stats-bar{
  display:flex;
  background:var(--navy-700);
  border-radius:10px;
  transform:translateY(50%);
  position:relative;
  z-index:2;
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}
.stat{
  flex:1;
  display:flex;
  align-items:center;
  gap:14px;
  padding:26px 30px;
  border-right:1px solid rgba(255,255,255,.08);
}
.stat:last-child{border-right:none;}
.stat-icon{
  width:48px;
  height:48px;
  border-radius:8px;
  background:rgba(91,155,255,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.stat-text{
  font-size:16px;
  font-weight:600;
  color:#fff;
  line-height:1.4;
}

/* ---------- FEATURES ---------- */
.features{
  background:var(--gray-bg);
  padding-top:50px;
  padding-bottom:50px;
}
.features-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}
.features-text{width:520px;flex-shrink:0;max-width:100%;}

.section-title{
  font-size:32px;
  font-weight:700;
  line-height:1.3;
  color:var(--heading-dark);
  margin-bottom:20px;
}

.section-desc{
  font-size:16.5px;
  line-height:1.75;
  color:var(--text-gray);
  margin-bottom:32px;
  max-width:460px;
}

.checklist{
  display:grid;
  grid-template-columns:1fr 1fr;
  row-gap:18px;
  column-gap:16px;
}
.check-item{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:16px;
  font-weight:600;
  color:var(--text-dark);
}
.check-icon{
  width:26px;
  height:26px;
  min-width:26px;
  border-radius:50%;
  background:var(--blue-500);
  color:#fff;
  font-size:14px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.features-image{width:560px;flex-shrink:0;max-width:100%;}

/* ---------- PROCESS ---------- */
.process{
  padding-top:50px;
  padding-bottom:50px;
}
.process .container{position:relative;}
.process .section-title{margin-bottom:40px;}

.process-row{
  display:flex;
  align-items:flex-start;
  gap:30px;
}
.step{
  flex:1;
  position:relative;
  min-width:0;
}
.step-top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:22px;
}
.step-number{
  font-size:33px;
  font-weight:800;
  font-family:'Poppins',sans-serif;
}
.step-number.blue{color:var(--blue-500);}
.step-number.coral{color:var(--coral-500);}
.step-line{
  flex:1;
  align-self:center;
  height:2px;
  background-image:linear-gradient(to right, #9aa7c2 0 6px, transparent 6px 13px);
  background-repeat:repeat-x;
  background-size:13px 2px;
  position:relative;
}
.step-line::after{
  content:"";
  position:absolute;
  right:-5px;
  top:50%;
  transform:translateY(-50%);
  width:7px;
  height:7px;
  border-radius:50%;
  background:#9aa7c2;
}
.step-title{
  font-size:21px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:12px;
}
.step-desc{
  font-size:15.5px;
  line-height:1.7;
  color:var(--text-gray);
  margin-bottom:26px;
  max-width:270px;
}
.step-icon{
  width:50px;
  height:50px;
  border-radius:8px;
  border:1.5px solid #dbe3f2;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

.process-image{
  flex:0 0 230px;
  width:230px;
  align-self:center;
}

/* ---------- CTA ---------- */
.cta-section{
  padding-top:0px;
  padding-bottom:50px;
}
.cta{
  background:linear-gradient(120deg,#0e1c3f,#0a1230);
  border-radius:14px;
  padding:34px 44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  flex-wrap:wrap;
}
.cta-left{
  display:flex;
  align-items:center;
  gap:20px;
}
.cta-icon{
  width:50px;
  height:50px;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.cta-title{
  font-size:21px;
  font-weight:700;
  color:#fff;
  margin-bottom:6px;
}
.cta-desc{
  font-size:15.5px;
  color:var(--text-gray-light);
}

/* ---------- CONTACT + OFFER FORM ---------- */
.contact-section{
  background:linear-gradient(160deg,#0c1636 0%,#0a1230 55%,#0a1128 100%);
  padding-top:50px;
  padding-bottom:50px;
}
.contact-grid{
  display:flex;
  gap:70px;
}
.contact-info{flex:0 0 260px;}
.contact-info h3{
  font-size:22px;
  font-weight:700;
  color:#fff;
  margin-bottom:22px;
}
.contact-info h4{
  font-size:15px;
  font-weight:700;
  color:#fff;
  margin-top:34px;
  margin-bottom:16px;
}
.contact-item{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:15px;
  color:var(--text-gray-light);
  text-decoration:none;
  margin-bottom:16px;
}
.contact-item:hover{color:var(--blue-400);}
.contact-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(44,146,252,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.social-links{display:flex;gap:12px;}
.social-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  border:1.5px solid rgba(255,255,255,.18);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .18s ease, border-color .18s ease;
}
.social-icon:hover{background:var(--blue-500);border-color:var(--blue-500);}

.contact-form-wrap{flex:1;min-width:0;}
.contact-form-wrap h3{
  font-size:22px;
  font-weight:700;
  color:#fff;
  margin-bottom:24px;
}

.offer-form{position:relative;}
.form-row{display:flex;gap:18px;margin-bottom:18px;}
.form-row-3 .form-group{flex:1;}
.form-row-2 .form-group:first-child{flex:0 0 200px;}
.form-row-2 .form-group:last-child{flex:1;}

.form-group{display:flex;flex-direction:column;gap:8px;}
.form-group label{
  font-size:13px;
  font-weight:600;
  color:var(--text-gray-light);
}
.form-group input,
.form-group textarea{
  width:100%;
  background:#fff;
  border:1.5px solid transparent;
  border-radius:7px;
  padding:12px 14px;
  font-size:14.5px;
  font-family:'Inter',sans-serif;
  color:var(--text-dark);
  resize:none;
  transition:border-color .15s ease;
}
.form-group textarea{min-height:46px;}
.form-group input::placeholder,
.form-group textarea::placeholder{color:#9aa4b8;}
.form-group input:focus,
.form-group textarea:focus{
  outline:none;
  border-color:var(--blue-500);
}

.hp-field{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none;}

.form-checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:13.5px;
  color:var(--text-gray-light);
  margin-bottom:14px;
  cursor:pointer;
}
.form-checkbox input{
  width:17px;
  height:17px;
  min-width:17px;
  margin-top:1px;
  accent-color:var(--blue-500);
  cursor:pointer;
}
.form-checkbox a{color:var(--blue-400);text-decoration:underline;}

.form-submit{
  position:relative;
  margin-top:8px;
}
.btn-spinner{
  display:none;
  width:16px;
  height:16px;
  border:2px solid rgba(255,255,255,.4);
  border-top-color:#fff;
  border-radius:50%;
  animation:spin .7s linear infinite;
}
.form-submit.is-loading .btn-label{opacity:.6;}
.form-submit.is-loading .btn-spinner{display:inline-block;}
@keyframes spin{to{transform:rotate(360deg);}}

.form-feedback{
  margin-top:16px;
  font-size:14px;
  font-weight:600;
  padding:12px 16px;
  border-radius:8px;
  display:none;
}
.form-feedback.is-success{
  display:block;
  background:rgba(34,197,94,.12);
  color:#4ade80;
  border:1px solid rgba(34,197,94,.3);
}
.form-feedback.is-error{
  display:block;
  background:rgba(249,74,74,.12);
  color:#ff8080;
  border:1px solid rgba(249,74,74,.3);
}

/* ---------- FOOTER ---------- */
.footer{
  background:var(--navy-900);
  padding-top:22px;
  padding-bottom:26px;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:15px;
  font-weight:700;
  color:#fff;
  text-decoration:none;
  font-family:'Poppins',sans-serif;
}
.footer-brand-icon{
  width:28px;
  height:28px;
  border-radius:7px;
  border:1.5px solid var(--blue-500);
  display:flex;
  align-items:center;
  justify-content:center;
}
.footer-nav{
  display:flex;
  gap:28px;
  flex-wrap:wrap;
}
.footer-nav a{
  font-size:14px;
  color:#c7cfe0;
  text-decoration:none;
  transition:color .18s ease;
}
.footer-nav a:hover{color:var(--blue-500);}
.footer-copy{
  font-size:13.5px;
  color:#8b93aa;
}

/* ---------- EYEBROW CENTERED ---------- */
.eyebrow-center{
  text-align:center;
  font-size:14px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  color:var(--blue-500);
  margin-bottom:44px;
  position:relative;
  padding-bottom:14px;
}
.eyebrow-center::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:40px;
  height:3px;
  border-radius:2px;
  background:var(--coral-500);
}
.eyebrow-light-dark{color:var(--text-dark);}
.eyebrow-light-dark::before{background:var(--blue-500);}

/* ---------- SERVICES ---------- */
.services-section{
  padding-top:50px;
  padding-bottom:50px;
  background:var(--gray-bg);
}

.services-grid-main{
  display:flex;
  gap:26px;
  margin-bottom:26px;
}
.service-card-lg{
  flex:1;
  display:flex;
  background:#fff;
  border:1px solid #e7ebf3;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(15,30,60,.05);
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:box-shadow .2s ease, transform .2s ease;
}
.service-card-lg:hover{
  box-shadow:0 16px 36px rgba(15,30,60,.16);
  transform:translateY(-3px);
}
.service-card-lg-image{
  flex:0 0 44%;
  align-self:stretch;
  overflow:hidden;
}
.service-card-lg-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.service-card-lg-body{
  flex:1;
  padding:28px 26px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  z-index:1;
}

/* webshop card: image as a faint watermark-style background in the corner */
.service-card-webshop{
  position:relative;
  overflow:hidden;
  background-image:
    radial-gradient(120% 120% at 100% 100%, rgba(255,255,255,.1) 0%, rgba(255,255,255,.45) 48%, #ffffff 78%),
    url('images/ujkep_1.webp');
  background-repeat:no-repeat, no-repeat;
  background-position:0 0, right -16px bottom -16px;
  background-size:100% 100%, 48% auto;
}
.service-card-webshop .service-card-lg-body{max-width:100%;}
.service-icon-solid{
  width:52px;
  height:52px;
  border-radius:10px;
  background:var(--blue-500);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.service-card-lg-body h3{
  font-size:21px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:10px;
}
.service-card-lg-body p{
  font-size:15px;
  line-height:1.65;
  color:var(--text-gray);
  margin-bottom:16px;
}

.service-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:13.5px;
  font-weight:700;
  letter-spacing:.4px;
  text-transform:uppercase;
  color:var(--blue-500);
  text-decoration:none;
  font-family:'Poppins',sans-serif;
  transition:gap .15s ease;
}
.service-card-lg:hover .service-link,
.service-card-wide:hover .service-link{gap:10px;}

.service-card-wide{
  position:relative;
  overflow:hidden;
  border-radius:14px;
  margin-bottom:26px;
  box-shadow:0 6px 20px rgba(15,30,60,.08);
  background:url('images/karbantartas.webp') center/cover no-repeat;
  min-height:230px;
  display:flex;
  align-items:stretch;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
  transition:box-shadow .2s ease, transform .2s ease;
}
.service-card-wide:hover{
  box-shadow:0 18px 40px rgba(15,30,60,.28);
  transform:translateY(-3px);
}
.service-card-wide-body{
  position:relative;
  z-index:1;
  flex:1;
  padding:34px 40px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.service-card-wide-icon{
  width:52px;
  height:52px;
  border-radius:10px;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.service-card-wide-body h3{font-size:21px;font-weight:700;color:#fff;margin-bottom:10px;}
.service-card-wide-body p{font-size:15px;line-height:1.65;color:#fff;margin-bottom:16px;max-width:420px;}
.service-card-wide .service-link{color:#fff;}

.services-grid-small{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
  margin-bottom:26px;
}
.service-card-sm{
  background:#fff;
  border:1px solid #e7ebf3;
  border-radius:14px;
  padding:28px 26px;
  box-shadow:0 6px 20px rgba(15,30,60,.05);
}
.service-card-sm-icon{
  width:60px;
  height:60px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.service-card-sm-icon img{width:100%;height:100%;object-fit:contain;}
.service-card-sm h4{
  font-size:17px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:10px;
}
.service-card-sm p{
  font-size:14.5px;
  line-height:1.65;
  color:var(--text-gray);
  margin-bottom:16px;
}

.guarantee-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:var(--blue-500);
  border-radius:10px;
  padding:18px 30px;
  text-align:center;
}
.guarantee-bar span{
  color:#fff;
  font-size:15px;
  font-weight:600;
}

/* ---------- PROCESS 2 ---------- */
.process2{
  background:var(--gray-bg);
  padding-top:90px;
  padding-bottom:90px;
}
.process2-title{
  font-size:32px;
  font-weight:700;
  color:var(--heading-dark);
  text-align:center;
  margin-bottom:50px;
}
.process2-row{
  display:flex;
  gap:10px;
}
.process2-step{
  flex:1;
  position:relative;
  text-align:center;
  padding:0 14px;
}
.process2-step::before{
  content:"";
  position:absolute;
  top:26px;
  left:calc(50% + 40px);
  right:calc(-50% + 40px);
  height:0;
  border-top:2px dotted #c3cbdc;
}
.process2-step-last::before{display:none;}
.process2-circle{
  width:52px;
  height:52px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 auto 20px;
  font-size:20px;
  font-weight:800;
  font-family:'Poppins',sans-serif;
  color:#fff;
  position:relative;
  z-index:2;
  box-shadow:0 8px 18px rgba(15,30,60,.12);
}
.process2-circle.blue{background:var(--blue-500);}
.process2-circle.coral{background:var(--coral-500);}
.process2-step h4{
  font-size:16.5px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:10px;
}
.process2-step p{
  font-size:14px;
  line-height:1.6;
  color:var(--text-gray);
}

/* ---------- CTA 2 ---------- */
.cta-section2{
  padding-top:70px;
  padding-bottom:70px;
}
.cta-invert .btn-white{background:#fff;color:var(--navy-900);}
.cta-invert .btn-white:hover{background:var(--blue-500);color:#fff;}

/* ---------- BENEFIT SECTIONS ---------- */
.benefit-section{
  padding-top:50px;
  padding-bottom:50px;
}
.benefit-section.alt{background:var(--gray-bg);}

.benefit-row{
  display:flex;
  align-items:center;
  gap:70px;
}
.benefit-text{flex:1;min-width:0;}
.benefit-image{flex:0 0 44%;display:flex;justify-content:center;}
.benefit-image img{width:100%;max-width:460px;height:auto;}

.section-title .accent{color:var(--blue-500);}

.checklist-card{
  grid-template-columns:1fr 1fr;
  row-gap:14px;
  column-gap:14px;
  margin-top:8px;
}
.checklist-card .check-item{
  align-items:center;
  gap:12px;
  background:#fff;
  border:1px solid #e7ebf3;
  border-radius:12px;
  padding:16px 18px;
  min-height:66px;
}
.checklist-card .check-item:last-child{grid-column:1 / -1;}
.checklist-card .check-icon{
  width:32px;
  height:32px;
  min-width:32px;
  font-size:15px;
}

/* ---------- COLLAB CARDS (benefit B, below the row) ---------- */
.collab-cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:20px;
  margin-top:60px;
}
.collab-card{
  background:#fff;
  border:1px solid #e7ebf3;
  border-radius:14px;
  padding:24px 20px;
  box-shadow:0 6px 20px rgba(15,30,60,.05);
}
.collab-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  background:rgba(44,146,252,.1);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.collab-card h4{
  font-size:15.5px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:8px;
  line-height:1.3;
}
.collab-card p{
  font-size:13.5px;
  line-height:1.55;
  color:var(--text-gray);
}

/* ---------- SUBPAGE: page header / breadcrumb ---------- */
.page-header{
  background:
    radial-gradient(1100px 500px at 88% 0%, rgba(60,100,200,.35), transparent 60%),
    linear-gradient(160deg,#0c1636 0%,#0a1230 55%,#0a1128 100%);
  padding-top:46px;
  padding-bottom:46px;
}
.page-header:has(.page-header-title-badge){padding-top:86px;padding-bottom:0;}
.page-header-title{
  font-size:36px;
  font-weight:700;
  color:#fff;
}
.page-header-title-badge{
  display:block;
  width:calc(100% - 340px);
  box-sizing:border-box;
  background:var(--blue-500);
  padding:16px 32px;
  border-radius:10px 10px 0 0;
  text-align:center;
  font-size:34px;
  font-weight:700;
}
.page-header-title-badge.page-header-title-badge-full{width:100%;}
.breadcrumb-bar{
  background:#fff;
  border-bottom:1px solid #eef1f6;
  padding-top:16px;
  padding-bottom:16px;
}
.breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:13.5px;
}
.breadcrumb a{color:var(--text-gray);text-decoration:none;}
.breadcrumb a:hover{color:var(--blue-500);}
.breadcrumb-sep{color:#c3cbdc;}
.breadcrumb-current{color:var(--heading-dark);font-weight:600;}

/* ---------- SUBPAGE: layout ---------- */
.subpage-section{
  padding-top:40px;
  padding-bottom:80px;
}
.subpage-layout{
  display:flex;
  align-items:stretch;
  gap:40px;
}
.subpage-main{flex:1;min-width:0;}
.subpage-aside{flex:0 0 300px;}
.aside-sticky{
  position:sticky;
  top:30px;
  display:flex;
  flex-direction:column;
  gap:22px;
}

.subpage-lead{
  font-size:17px;
  line-height:1.75;
  color:var(--text-gray);
  margin-bottom:40px;
}
.subpage-h2{
  font-size:28px;
  font-weight:700;
  color:var(--heading-dark);
  margin-top:40px;
  margin-bottom:40px;
}

/* info box */
.info-box{
  background:rgba(44,146,252,.06);
  border-radius:14px;
  padding:28px 30px;
  margin-bottom:40px;
}
.info-box-split{
  display:flex;
  align-items:center;
  gap:16px;
}
.info-box.info-box-split{
  padding:40px 28px 40px 0;
  position:relative;
  z-index:0;
  background:none;
  border-radius:0;
}
.info-panel{
  position:relative;
  z-index:0;
  padding:40px 28px 40px 0;
  margin-bottom:40px;
}
.info-box.info-box-split::before,
.info-panel::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:0;
  left:-100vw;
  z-index:-1;
  background-color:#eef4fb;
  background-image:radial-gradient(rgba(44,146,252,.18) 1px, transparent 1.6px);
  background-size:16px 16px;
  background-position:right -10px top -10px;
  border-radius:0 14px 14px 0;
}
.info-panel > .info-box-split{margin-bottom:32px;}
.feature-grid + .info-panel,
.process-list + .info-panel{margin-top:40px;}
.info-box-text{flex:1;min-width:0;}
.mini-dash{
  display:block;
  width:30px;
  height:3px;
  border-radius:2px;
  background:var(--coral-500);
  margin-bottom:14px;
}
.info-box-image{flex:0 0 220px;display:flex;justify-content:center;}
.info-box-image img{width:100%;max-width:210px;height:auto;}

.info-box-title{
  font-size:24px;
  font-weight:800;
  letter-spacing:.3px;
  text-transform:uppercase;
  line-height:1.3;
  color:var(--heading-dark);
  margin-bottom:22px;
}
.info-box-title .accent{color:var(--blue-500);}
.info-box-intro{font-size:16px;line-height:1.75;color:var(--text-gray);}
.info-panel-note{margin-top:24px;}
.checklist-single{grid-template-columns:1fr;row-gap:12px;}

/* guarantee box */
.guarantee-box{
  display:flex;
  align-items:flex-start;
  gap:18px;
  background:#fff;
  border:1px solid #e7ebf3;
  border-radius:14px;
  padding:26px 28px;
  box-shadow:0 6px 20px rgba(15,30,60,.05);
  margin-bottom:40px;
}
.guarantee-box-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  background:rgba(44,146,252,.1);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.guarantee-box h3{
  font-size:18px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:8px;
}
.guarantee-box p{
  font-size:15.5px;
  line-height:1.65;
  color:var(--text-gray);
}

/* mid cta */
.mid-cta{
  text-align:center;
  background:var(--gray-bg);
  border-radius:14px;
  padding:30px;
  margin-bottom:40px;
}
.mid-cta p{
  font-size:17px;
  font-weight:600;
  color:var(--heading-dark);
  margin-bottom:18px;
}

/* process list */
.process-list{
  display:flex;
  flex-direction:column;
}
.process-list-item{
  display:flex;
  gap:20px;
  padding:22px 0;
  border-bottom:1px solid #eef1f6;
}
.process-list-item:first-child{padding-top:0;}
.process-list-item:last-child{border-bottom:none;padding-bottom:0;}
.process-list-icon{
  width:48px;
  height:48px;
  border-radius:10px;
  background:rgba(44,146,252,.1);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.process-list-body h4{
  font-size:18px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:8px;
}
.process-list-body p{
  font-size:15.5px;
  line-height:1.7;
  color:var(--text-gray);
}
.process-list-body p + p{margin-top:10px;}
.process-list-sublist{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:12px 0;
  list-style:none;
  padding-left:0;
}
.process-list-sublist li{
  position:relative;
  padding-left:18px;
  font-size:15.5px;
  line-height:1.6;
  color:var(--text-gray);
}
.process-list-sublist li::before{
  content:"";
  position:absolute;
  left:0;
  top:9px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:var(--blue-500);
}

/* feature grid */
.feature-grid{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:22px;
}
.feature-card{
  flex:1 1 calc(33.333% - 14.667px);
  box-sizing:border-box;
  background:#fff;
  border:1px solid #e7ebf3;
  border-radius:14px;
  padding:24px 22px;
  box-shadow:0 6px 20px rgba(15,30,60,.05);
  transition:box-shadow .2s ease, transform .2s ease;
}
.feature-card:hover{
  box-shadow:0 10px 26px rgba(15,30,60,.12);
  transform:translateY(-3px);
}
.feature-card-icon{
  width:42px;
  height:42px;
  border-radius:9px;
  background:rgba(44,146,252,.1);
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:16px;
}
.feature-card h4{
  font-size:17px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:8px;
  line-height:1.3;
  overflow-wrap:break-word;
}
.feature-card p{
  font-size:15.5px;
  line-height:1.6;
  color:var(--text-gray);
}

/* highlight box */
.highlight-box{
  display:flex;
  align-items:flex-start;
  gap:18px;
  background:rgba(249,74,74,.06);
  border-left:4px solid var(--coral-500);
  border-radius:0 14px 14px 0;
  padding:26px 28px;
  margin-top:40px;
  margin-bottom:40px;
}
.highlight-box-icon{
  width:44px;
  height:44px;
  border-radius:10px;
  background:rgba(249,74,74,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}
.highlight-box p{
  font-size:16.5px;
  font-weight:600;
  line-height:1.7;
  color:var(--heading-dark);
}

.subpage-main p a,
.guarantee-box p a{
  color:var(--blue-500);
  font-weight:600;
  text-decoration:underline;
}

.showcase-box{
  text-align:center;
  background:var(--gray-bg);
  border-radius:14px;
  padding:34px 30px;
  margin-top:40px;
  margin-bottom:40px;
}
.showcase-box h2{
  font-size:23px;
  font-weight:700;
  color:var(--heading-dark);
  margin-bottom:12px;
}
.showcase-box p{
  font-size:15.5px;
  line-height:1.7;
  color:var(--text-gray);
  max-width:640px;
  margin:0 auto;
}

.subpage-bottom-cta{
  margin-top:40px;
  padding:22px 26px;
  gap:20px;
  flex-wrap:nowrap;
}
.subpage-bottom-cta .cta-left{gap:14px;}
.subpage-bottom-cta .cta-icon{width:38px;height:38px;}
.subpage-bottom-cta .cta-icon svg{width:17px;height:17px;}
.subpage-bottom-cta .cta-title{font-size:17.5px;margin-bottom:3px;}
.subpage-bottom-cta .cta-desc{font-size:15.5px;line-height:1.5;}
.subpage-bottom-cta .btn-large{padding:12px 22px;font-size:14.5px;flex-shrink:0;}

/* aside cards */
.aside-card{
  border-radius:14px;
  padding:26px 24px;
  text-align:center;
}
.aside-card h3{
  font-size:21px;
  font-weight:700;
  color:#fff;
  margin-bottom:10px;
}
.aside-card p{
  font-size:15.5px;
  line-height:1.6;
  color:rgba(255,255,255,.85);
  margin-bottom:20px;
}
.aside-card-btn{
  width:100%;
  justify-content:center;
  background:#fff;
  font-weight:700;
}
.aside-card-dark{background:linear-gradient(150deg,#0e1c3f,#0a1230);}
.aside-card-dark .aside-card-btn{color:var(--navy-900);}
.aside-card-dark .aside-card-btn:hover{background:var(--blue-500);color:#fff;}

.aside-card-blue{background:var(--blue-500);}
.aside-card-blue .aside-card-btn{color:var(--blue-500);}
.aside-card-blue .aside-card-btn:hover{background:var(--navy-900);color:#fff;}

.aside-card-coral{background:var(--coral-500);}
.aside-card-coral .aside-card-btn{color:var(--coral-500);}
.aside-card-coral .aside-card-btn:hover{background:var(--navy-900);color:#fff;}

/* kapcsolat form (light) */
.kf-form{width:100%;}
.kf-group{display:flex;flex-direction:column;gap:8px;margin-bottom:22px;}
.kf-group label{font-size:14.5px;font-weight:600;color:var(--heading-dark);}
.kf-required{color:var(--coral-500);margin-left:2px;}
.kf-group input,
.kf-group textarea{
  width:100%;
  background:#fff;
  border:1.5px solid #dde3ee;
  border-radius:9px;
  padding:13px 16px;
  font-size:15px;
  font-family:'Inter',sans-serif;
  color:var(--text-dark);
  resize:none;
  transition:border-color .15s ease;
}
.kf-group textarea{min-height:120px;}
.kf-group input::placeholder,
.kf-group textarea::placeholder{color:#9aa4b8;}
.kf-group input:focus,
.kf-group textarea:focus{outline:none;border-color:var(--blue-500);}

.kf-phone{
  display:flex;
  align-items:center;
  gap:8px;
  background:#fff;
  border:1.5px solid #dde3ee;
  border-radius:9px;
  padding:0 16px;
  transition:border-color .15s ease;
}
.kf-phone:focus-within{border-color:var(--blue-500);}
.kf-phone-flag{display:flex;align-items:center;flex-shrink:0;border-radius:2px;overflow:hidden;}
.kf-phone svg{flex-shrink:0;color:#9aa4b8;}
.kf-phone input{
  border:none;
  padding:13px 0;
  flex:1;
  min-width:0;
}
.kf-phone input:focus{outline:none;}

.kf-checkbox{
  display:flex;
  align-items:flex-start;
  gap:10px;
  font-size:14px;
  line-height:1.6;
  color:var(--text-gray);
  margin-bottom:18px;
  cursor:pointer;
}
.kf-checkbox input{
  width:17px;
  height:17px;
  min-width:17px;
  margin-top:2px;
  accent-color:var(--blue-500);
  cursor:pointer;
}
.kf-checkbox a{color:var(--blue-500);text-decoration:underline;}

/* a Google reCAPTCHA v3 saját lebegő jelvénye (jobb alsó sarok) látható marad —
   ez elég a Google ToS szerinti feltüntetéshez, nem kell hozzá külön szöveg az űrlapon */

.kf-form .form-feedback.is-success{background:rgba(34,197,94,.08);color:#15803d;border-color:rgba(34,197,94,.3);}
.kf-form .form-feedback.is-error{background:rgba(249,74,74,.08);color:#b91c1c;border-color:rgba(249,74,74,.3);}

.kf-contact-info{margin-top:36px;}
.kf-contact-info h3{font-size:17px;font-weight:700;color:var(--heading-dark);margin-bottom:16px;}
.kf-contact-item{
  display:flex;
  align-items:center;
  gap:12px;
  font-size:15px;
  color:var(--text-dark);
  text-decoration:none;
  margin-bottom:14px;
}
.kf-contact-item:last-of-type{margin-bottom:0;}
.kf-contact-item:hover{color:var(--blue-500);}
.kf-contact-icon{
  width:34px;
  height:34px;
  border-radius:50%;
  background:rgba(44,146,252,.1);
  color:var(--blue-500);
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
}

/* legal / long-form text page */
.legal-content p{
  font-size:15.5px;
  line-height:1.75;
  color:var(--text-gray);
  margin-bottom:16px;
}
.legal-content h2{
  font-size:24px;
  font-weight:700;
  color:var(--heading-dark);
  margin-top:44px;
  margin-bottom:16px;
}
.legal-content h2:first-child{margin-top:0;}
.legal-content h3{
  font-size:19px;
  font-weight:700;
  color:var(--heading-dark);
  margin-top:30px;
  margin-bottom:10px;
}
.legal-content h4{
  font-size:16px;
  font-weight:700;
  color:var(--heading-dark);
  margin-top:22px;
  margin-bottom:8px;
}
.legal-content ul,
.legal-content ol{
  margin:0 0 16px 22px;
  padding:0;
}
.legal-content li{
  font-size:15.5px;
  line-height:1.7;
  color:var(--text-gray);
  margin-bottom:6px;
}
.legal-content strong{color:var(--heading-dark);}
.legal-content .legal-updated{
  font-size:13.5px;
  color:#9aa4b8;
  margin-bottom:30px;
}

/* 404 / thank-you (full-height status pages) */
body.full-height-page{
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
body.full-height-page .header,
body.full-height-page .footer{
  flex-shrink:0;
}
body.full-height-page .statuspage-section{
  flex:1 1 auto;
  display:flex;
  align-items:center;
}
body.full-height-page .statuspage-section .container{width:100%;}

.statuspage-section{
  background:
    radial-gradient(1100px 500px at 50% 0%, rgba(60,100,200,.35), transparent 60%),
    linear-gradient(160deg,#0c1636 0%,#0a1230 55%,#0a1128 100%);
  position:relative;
  padding-top:90px;
  padding-bottom:100px;
  text-align:center;
}
.notfound-code{
  font-size:130px;
  font-weight:800;
  line-height:1;
  color:var(--blue-500);
  margin-bottom:8px;
}
.statuspage-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:84px;
  height:84px;
  border-radius:50%;
  background:var(--blue-500);
  margin:0 auto 24px;
}
.statuspage-title{
  font-size:32px;
  font-weight:700;
  color:#fff;
  margin-bottom:18px;
}
.statuspage-desc{
  font-size:16.5px;
  line-height:1.7;
  color:var(--text-gray-light);
  max-width:520px;
  margin:0 auto 36px;
}
.statuspage-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
}
@media (max-width:767.98px){
  .statuspage-section{padding-top:60px;padding-bottom:70px;}
  .notfound-code{font-size:84px;}
  .statuspage-title{font-size:24px;}
  .statuspage-desc{font-size:15px;}
  .statuspage-actions{flex-direction:column;align-items:stretch;}
}

/* reference gallery */
.ref-section{padding-top:50px;padding-bottom:80px;}
.ref-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.ref-card{
  position:relative;
  height:280px;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  border:1px solid #eef1f6;
  box-shadow:0 6px 20px rgba(15,30,60,.06);
  cursor:default;
  transform:scale(1);
  transform-origin:center center;
  transition:transform .3s ease, box-shadow .3s ease;
  z-index:1;
}
.ref-card:active{box-shadow:0 10px 26px rgba(15,30,60,.16);}
.ref-card-scroll{
  height:100%;
  overflow:hidden;
}
.ref-card-scroll img{
  display:block;
  width:100%;
  height:auto;
}

/* hover-grow + scroll: only on devices that actually support hover (real mouse) */
@media (hover:hover) and (pointer:fine){
  .ref-card:hover{
    transform:scale(1.5);
    box-shadow:0 24px 50px rgba(15,30,60,.28);
    z-index:20;
  }
  .ref-card:hover .ref-card-scroll{overflow-y:auto;}
}

/* touch devices: whole card is tappable to open the lightbox */
@media not all and (hover:hover) and (pointer:fine){
  .ref-card{cursor:pointer;}
}

/* reference lightbox */
.ref-lightbox{
  display:none;
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(10,15,30,.88);
  overflow-y:auto;
  padding:70px 20px;
}
.ref-lightbox.open{display:block;}
.ref-lightbox-inner{
  max-width:520px;
  margin:0 auto;
  background:#fff;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
}
.ref-lightbox-inner img{display:block;width:100%;height:auto;}
.ref-lightbox-close{
  position:fixed;
  top:18px;
  right:18px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:none;
  background:rgba(255,255,255,.14);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:1001;
}

.kf-service-group{margin-bottom:22px;}
.kf-service-group > .kf-service-legend{display:block;font-size:14.5px;font-weight:600;color:var(--heading-dark);margin-bottom:12px;}
.kf-service-item{
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14.5px;
  font-weight:600;
  color:var(--text-dark);
  margin-bottom:10px;
  cursor:pointer;
}
.kf-service-item input{
  width:17px;
  height:17px;
  min-width:17px;
  accent-color:var(--blue-500);
  cursor:pointer;
}

/* =========================================================
   RESPONSIVE — standard breakpoints
   >=1200px  desktop  (default styles above)
   992-1199  tablet-landscape
   768-991   tablet
   576-767   mobile-landscape / large phone
   <576      mobile
   ========================================================= */

/* ---------- 992px - 1199px : tablet-landscape ---------- */
@media (max-width:1199.98px){
  .container{padding:0 36px;}
  .header-inner.container{padding-top:22px;padding-bottom:22px;}

  .hero-text{width:460px;}
  .hero-title{font-size:34px;white-space:normal;}
  .hero-image{width:460px;}

  .features-text{width:44%;margin-top:40px;}
  .features-image{width:48%;}

  .process-image{flex-basis:190px;width:190px;}

  .process2-row{flex-wrap:wrap;row-gap:36px;}
  .process2-step{flex:1 1 33%;}
  .process2-step::before{display:none;}

  .benefit-image{flex-basis:38%;}
  .collab-cards{grid-template-columns:repeat(3,1fr);}

  .subpage-layout{gap:40px;}
  .subpage-aside{flex-basis:260px;}
  .page-header-title-badge{width:calc(100% - 300px);}
  .page-header-title-badge-full{width:100%;}
  .ref-grid{grid-template-columns:repeat(3,1fr);}
}

/* ---------- 768px - 991px : tablet ---------- */
@media (max-width:991.98px){
  .container{padding:0 28px;}

  /* nav collapses into a hamburger — slide-in drawer from the right */
  .nav-toggle{display:flex;}
  .header-cta{display:none;}
  body.nav-open{overflow:hidden;}

  .nav-overlay{
    position:fixed;
    inset:0;
    background:rgba(10,18,48,.55);
    opacity:0;
    visibility:hidden;
    transition:opacity .3s ease, visibility 0s linear .3s;
    z-index:98;
  }
  .nav-overlay.open{
    opacity:1;
    visibility:visible;
    transition:opacity .3s ease, visibility 0s linear 0s;
  }

  .nav{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    left:auto;
    width:80%;
    max-width:400px;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-start;
    gap:0;
    padding:20px 28px 28px;
    overflow-y:auto;
    box-shadow:-16px 0 40px rgba(10,20,50,.18);
    transform:translateX(100%);
    transition:transform .32s ease;
    z-index:99;
  }
  .nav.open{transform:translateX(0);}
  .nav-link{padding:12px 0;width:100%;border-bottom:1px solid #eef1f6;}
  .nav .nav-cta{display:inline-flex;margin-top:14px;}

  .nav-item{width:100%;flex-direction:column;align-items:flex-start;border-bottom:1px solid #eef1f6;}
  .nav-item .nav-link{border-bottom:none;padding-bottom:12px;}
  .nav-item .chevron{transition:transform .2s ease;}
  .nav-item.open .chevron{transform:rotate(180deg);}
  .nav-dropdown{
    position:static;
    left:auto;
    transform:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    padding:0;
    min-width:0;
    width:100%;
    max-height:0;
    overflow:hidden;
    transition:max-height .25s ease;
  }
  .nav-item.open .nav-dropdown{max-height:220px;}
  .nav-dropdown-inner{
    background:none;
    border:none;
    box-shadow:none;
    border-radius:0;
    padding:0 0 6px 0;
  }
  .nav-dropdown a{padding:8px 0;font-size:14px;color:var(--text-gray);}

  /* hero stacks */
  .hero-inner.container{flex-direction:column;align-items:flex-start;padding-top:44px;padding-bottom:40px;}
  .hero-text{width:100%;}
  .hero-desc{max-width:100%;}
  .hero-image{width:100%;margin-top:21px;justify-content:center;}
  .hero-image img{max-width:100%;}
  .hero-title{white-space:normal;}

  .ref-grid{grid-template-columns:repeat(2,1fr);}

  .stats-bar{flex-wrap:wrap;margin-top:-170px;}
  .stat{flex:1 1 100%;border-right:none;border-bottom:1px solid rgba(255,255,255,.08);}

  .features{padding-top:40px;padding-bottom:40px;}
  .features-inner{flex-direction:column;}
  .features-text{width:100%;margin-top:180px;}

  .section-desc{max-width:100%;}
  .features-image{width:100%;max-width:480px;order:2;margin-top:-10px;}

  /* process: 2x2 grid, image moves inline below */
  .process{padding-top:40px;padding-bottom:40px;}
  .process-row{flex-wrap:wrap;row-gap:44px;}
  .step{flex:1 1 45%;}
  .step-desc{max-width:100%;}
  .process-image{
    flex:1 1 100%;
    width:396px;
    max-width:100%;
    margin:-24px auto -66px;
  }

  .cta-section{padding-top:40px;padding-bottom:40px;}
  .cta{padding:30px;}

  /* services */
  .services-section{padding-top:40px;padding-bottom:40px;}
  .services-grid-main{flex-direction:column;}
  .service-card-lg{flex-direction:column;}
  .service-card-lg-image{flex-basis:240px;height:240px;}
  .service-card-wide{min-height:280px;}
  .service-card-wide-body{padding:28px 24px;}
  .service-card-wide::before{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(90deg, rgba(1,57,161,.65) 0%, rgba(1,57,161,.6) 55%, rgba(1,57,161,.45) 100%);
    z-index:0;
  }
  .service-card-webshop{background-size:100% 100%, 38% auto;background-position:0 0, right -12px bottom -12px;min-height:260px;}
  .service-card-webshop .service-card-lg-body{max-width:100%;}
  .services-grid-small{grid-template-columns:1fr 1fr;}
  .guarantee-bar{flex-wrap:wrap;text-align:center;}

  /* process2 */
  .process2{padding-top:70px;padding-bottom:70px;}

  /* cta2 */
  .cta-section2{padding-top:50px;padding-bottom:50px;}

  /* benefit */
  .benefit-section{padding-top:40px;padding-bottom:40px;}
  .benefit-row{flex-direction:column;gap:36px;}
  .benefit-image{flex-basis:auto;width:100%;order:2;margin-top:0;}
  .benefit-section.alt .benefit-image{margin-top:-45px;margin-bottom:-10px;}
  .benefit-image img{max-width:360px;}
  .checklist-card{grid-template-columns:1fr;}
  .checklist-card .check-item:last-child{grid-column:1;}
  .collab-cards{grid-template-columns:repeat(2,1fr);margin-top:44px;}

  /* contact + form */
  .contact-section{padding-top:40px;padding-bottom:40px;}
  .contact-grid{flex-direction:column;gap:40px;}
  .contact-info{flex-basis:auto;}
  .form-row-3{flex-wrap:wrap;}
  .form-row-3 .form-group{flex:1 1 45%;}
  .form-row-2{flex-direction:column;}
  .form-row-2 .form-group:first-child{flex:1;}

  /* subpage */
  .page-header{padding-top:36px;padding-bottom:36px;}
  .page-header-title{font-size:28px;}
  .subpage-section{padding-top:44px;padding-bottom:60px;}
  .subpage-layout{flex-direction:column;gap:44px;}
  .subpage-aside{flex-basis:auto;width:100%;}
  .page-header-title-badge{width:100%;}
  .aside-sticky{position:static;flex-direction:row;flex-wrap:wrap;}
  .aside-card{flex:1 1 260px;}
}

/* ---------- up to 767px : mobile ---------- */
@media (max-width:767.98px){
  .container{padding:0 20px;}

  .eyebrow{font-size:13px;padding-left:0;}
  .eyebrow::before{display:none;}

  .hero-title{font-size:30px;}
  .hero-desc{font-size:15.5px;}
  .hero-actions{flex-direction:column;align-items:stretch;}
  .hero-actions .btn{width:100%;}
  .hero-actions .btn-phone{width:100%;justify-content:center;height:69px;}

  .stats-bar{border-radius:10px;}
  .stat{padding:18px 16px;}

  .features-text{margin-top:160px;}

  .section-title{font-size:26px;}
  .checklist{grid-template-columns:1fr;}
  .collab-cards{grid-template-columns:1fr;}

  .subpage-h2{font-size:23px;margin-top:40px;}
  .feature-card{flex-basis:calc(50% - 11px);}
  .info-box{padding:22px;}
  .guarantee-box{flex-direction:column;padding:22px;}
  .info-box-split{flex-direction:column;}
  .info-box.info-box-split{padding:26px 26px 26px 0;}
  .info-panel{padding:26px 26px 26px 0;}
  .info-panel > .info-box-split{margin-bottom:24px;}
  .info-box-image{flex-basis:auto;margin-top:20px;}
  .info-box-image img{max-width:220px;}
  .process-list-item{flex-direction:column;gap:14px;}
  .aside-sticky{flex-direction:column;}
  .aside-card{flex:0 0 auto;}

  .process-row{flex-direction:column;row-gap:22px;}
  .step{
    flex:1 1 100%;
    border:1px solid #ccd4e3;
    border-radius:14px;
    padding:24px 22px 28px;
  }
  .step-line{display:none;}
  .step-top{margin-bottom:16px;}
  .step-number{font-size:29px;}
  .step-desc{margin-bottom:20px;}
  .step-icon{
    width:64px;
    height:64px;
    border-radius:50%;
  }
  .step-icon svg{width:28px;height:28px;}
  .process-image{margin-top:-2px;margin-bottom:-60px;}

  .cta{flex-direction:column;align-items:center;text-align:center;}
  .cta .btn{width:100%;justify-content:center;}
  .cta-left{flex-direction:column;}

  .footer-inner{flex-direction:column;align-items:flex-start;text-align:left;}
  .footer-nav{gap:16px 22px;}

  .ref-grid{grid-template-columns:1fr;gap:22px;}
  .ref-card{
    height:340px;
    border:1px solid #e2e7f0;
    box-shadow:0 10px 26px rgba(15,30,60,.12);
  }

  .ref-lightbox{padding:60px 46px;}
  .ref-lightbox-inner{max-width:none;}

  /* contact + form */
  .form-row-3{flex-direction:column;gap:16px;}
  .form-row-3 .form-group{flex:1;}

  /* services */
  .services-grid-small{grid-template-columns:1fr;}
  .guarantee-bar{padding:22px 24px;}

  .service-card-webshop{background-size:100% 100%, 43% auto;background-position:0 0, right -10px bottom -10px;min-height:230px;}
  .service-card-webshop .service-card-lg-body{max-width:100%;}
  .guarantee-bar span{font-size:17px;}
  .guarantee-bar svg{width:28px;height:28px;flex-shrink:0;}

  /* process2 */
  .process2-title{font-size:24px;margin-bottom:40px;}
  .process2-row{flex-direction:column;row-gap:30px;}
  .process2-step{flex:1 1 100%;padding:0;}

  /* cta2 */
  .cta-invert .btn{width:100%;justify-content:center;}
}

/* ---------- up to 575px : small mobile ---------- */
@media (max-width:575.98px){
  .container{padding:0 16px;}

  .header-inner{padding-top:16px;padding-bottom:16px;}
  .logo{height:39px;}

  .hero-title{font-size:26px;}
  .hero{padding-bottom:0;}

  .btn-large{padding:15px 26px;font-size:15px;}

  .section-title{font-size:22px;}
  .section-desc{font-size:15.5px;}

  .cta-title{font-size:19px;}

  .service-card-lg-body{padding:22px 20px;}
  .service-card-sm{padding:22px 20px;}
  .process2-title{font-size:21px;}

  .feature-card{flex-basis:100%;}
  .page-header-title{font-size:24px;}
}
