/* ============================================================
   RizenPay — Main Stylesheet
   Brand color: #701e7d
   Fonts: Sora (display) / Inter (body)
   ============================================================ */

:root{
  --purple:        #701e7d;
  --purple-deep:   #4b1254;
  --purple-dark:   #2a0a31;
  --purple-mid:    #9b3bb0;
  --purple-soft:   #b76cc6;
  --purple-tint:   #f7eef9;
  --purple-tint-2: #efdcf3;
  --accent:        #f0a63c;
  --accent-dark:   #d98a17;
  --ink:           #221527;
  --gray:          #6b5f70;
  --line:          #e9dcee;
  --white:         #ffffff;
  --radius:        18px;
  --radius-sm:     12px;
  --shadow:        0 10px 30px rgba(112,30,125,.12);
  --shadow-lg:     0 24px 60px rgba(42,10,49,.22);
  --container:     1180px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  font-size:16.5px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:var(--purple);text-decoration:none;}
ul{list-style:none;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}

h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.18;font-weight:700;color:var(--ink);}
h1{font-size:clamp(2.3rem,5vw,3.6rem);letter-spacing:-.02em;}
h2{font-size:clamp(1.8rem,3.6vw,2.6rem);letter-spacing:-.015em;}
h3{font-size:1.25rem;}
.section{padding:96px 0;}
.section.tint{background:var(--purple-tint);}
.section-head{max-width:720px;margin:0 auto 56px;text-align:center;}
.section-head p{margin-top:16px;color:var(--gray);font-size:1.06rem;}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'Sora',sans-serif;font-size:.78rem;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--purple);
  background:var(--purple-tint);border:1px solid var(--purple-tint-2);
  padding:7px 14px;border-radius:100px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--accent);transform:rotate(45deg);}
.eyebrow.on-dark{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#f3d9fa;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:'Sora',sans-serif;font-weight:600;font-size:.98rem;
  padding:15px 30px;border-radius:100px;border:2px solid transparent;
  cursor:pointer;transition:all .25s ease;white-space:nowrap;
}
.btn-primary{background:var(--purple);color:#fff;box-shadow:0 8px 22px rgba(112,30,125,.35);}
.btn-primary:hover{background:var(--purple-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(112,30,125,.45);}
.btn-accent{background:var(--accent);color:var(--purple-dark);box-shadow:0 8px 22px rgba(240,166,60,.4);}
.btn-accent:hover{background:var(--accent-dark);transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--purple);border-color:var(--purple);}
.btn-outline:hover{background:var(--purple);color:#fff;}
.btn-outline.on-dark{color:#fff;border-color:rgba(255,255,255,.55);}
.btn-outline.on-dark:hover{background:#fff;color:var(--purple);}
.btn .arrow{transition:transform .25s ease;}
.btn:hover .arrow{transform:translateX(4px);}

/* ---------- Header ---------- */
.site-header{
  position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:80px;gap:24px;}
.logo{display:flex;align-items:center;gap:11px;}
.logo-mark{width:42px;height:42px;flex:0 0 42px;}
.logo-text{font-family:'Sora',sans-serif;font-weight:800;font-size:1.45rem;letter-spacing:-.02em;color:var(--ink);}
.logo-text span{color:var(--purple);}
.main-nav{display:flex;align-items:center;gap:34px;}
.main-nav a{font-weight:600;font-size:.97rem;color:var(--ink);position:relative;padding:6px 0;}
.main-nav a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2.5px;border-radius:2px;background:var(--purple);transition:width .25s ease;}
.main-nav a:hover::after,.main-nav a.active::after{width:100%;}
.main-nav a.active{color:var(--purple);}
.nav-cta{display:flex;align-items:center;gap:14px;}
.nav-cta .btn{padding:11px 24px;font-size:.92rem;}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;}
.nav-toggle span{display:block;width:26px;height:3px;background:var(--purple);border-radius:2px;margin:5px 0;transition:.3s;}

/* ---------- Hero ---------- */
.hero{
  position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,var(--purple-dark) 0%,var(--purple-deep) 42%,var(--purple) 100%);
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(700px 400px at 85% 10%,rgba(183,108,198,.35),transparent 60%),
    radial-gradient(500px 340px at 10% 90%,rgba(240,166,60,.16),transparent 60%);
  pointer-events:none;
}
.hero .rise-bars{position:absolute;right:-40px;bottom:-8px;width:420px;opacity:.16;pointer-events:none;}
.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:104px 0 110px;}
.hero h1{color:#fff;}
.hero h1 .accent-word{color:var(--accent);}
.hero p.lead{margin:22px 0 34px;font-size:1.14rem;color:#ecd9f1;max-width:520px;}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-media{position:relative;}
.hero-media video,.hero-media img{
  width:100%;border-radius:var(--radius);box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,.18);
}
.hero-badge{
  position:absolute;left:-18px;bottom:-18px;background:#fff;color:var(--ink);
  border-radius:var(--radius-sm);padding:14px 20px;box-shadow:var(--shadow-lg);
  display:flex;align-items:center;gap:12px;
}
.hero-badge .num{font-family:'Sora',sans-serif;font-weight:800;font-size:1.5rem;color:var(--purple);line-height:1;}
.hero-badge .lbl{font-size:.82rem;color:var(--gray);line-height:1.3;}
.hero-stats{position:relative;display:flex;gap:44px;padding:26px 0 34px;border-top:1px solid rgba(255,255,255,.16);flex-wrap:wrap;}
.hero-stats .stat .num{font-family:'Sora',sans-serif;font-weight:800;font-size:1.6rem;color:#fff;}
.hero-stats .stat .lbl{font-size:.88rem;color:#d9b8e2;}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{
  position:relative;overflow:hidden;color:#fff;text-align:center;
  background:linear-gradient(135deg,var(--purple-dark) 0%,var(--purple-deep) 45%,var(--purple) 100%);
  padding:96px 0 104px;
}
.page-hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(640px 360px at 80% 0%,rgba(183,108,198,.35),transparent 60%);pointer-events:none;}
.page-hero h1{color:#fff;position:relative;}
.page-hero p{position:relative;margin:20px auto 0;max-width:640px;color:#ecd9f1;font-size:1.1rem;}
.page-hero .hero-actions{justify-content:center;margin-top:34px;position:relative;}
.breadcrumb{position:relative;font-family:'Sora',sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:#d9a8e4;margin-bottom:18px;}
.breadcrumb a{color:#f3d9fa;}

/* ---------- Trusted logos strip ---------- */
.clients{padding:56px 0;border-bottom:1px solid var(--line);}
.clients p{ text-align:center;font-family:'Sora',sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);margin-bottom:30px;}
.client-row{display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap;}
.client-row img{height:44px;width:auto;filter:grayscale(1) opacity(.55);transition:.3s;}
.client-row img:hover{filter:none;opacity:1;}

/* ---------- Feature cards (Everything you need) ---------- */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.feature-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:26px;transition:all .3s ease;display:flex;flex-direction:column;
}
.feature-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--purple-tint-2);}
.feature-card .img-wrap{
  background:var(--purple-tint);border-radius:var(--radius-sm);
  height:180px;display:flex;align-items:center;justify-content:center;
  margin-bottom:20px;overflow:hidden;padding:16px;
}
.feature-card .img-wrap img{max-height:100%;width:auto;object-fit:contain;}
.feature-card h3{margin-bottom:10px;}
.feature-card p{color:var(--gray);font-size:.95rem;}

/* ---------- Services preview / cards ---------- */
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.svc-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  overflow:hidden;transition:all .3s ease;display:flex;flex-direction:column;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.svc-card .thumb{height:200px;overflow:hidden;position:relative;}
.svc-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.svc-card:hover .thumb img{transform:scale(1.06);}
.svc-card .cat{
  position:absolute;top:14px;left:14px;background:rgba(42,10,49,.82);color:#f3d9fa;
  font-family:'Sora',sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;padding:6px 12px;border-radius:100px;backdrop-filter:blur(4px);
}
.svc-card .body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1;}
.svc-card h3{margin-bottom:10px;}
.svc-card p{color:var(--gray);font-size:.95rem;flex:1;}
.svc-card .link{
  margin-top:18px;font-family:'Sora',sans-serif;font-weight:600;font-size:.92rem;
  color:var(--purple);display:inline-flex;align-items:center;gap:8px;
}
.svc-card .link .arrow{transition:transform .25s;}
.svc-card:hover .link .arrow{transform:translateX(5px);}

/* ---------- Services page: full rows ---------- */
.svc-category-head{display:flex;align-items:center;gap:18px;margin:0 0 44px;}
.svc-category-head .tag{
  font-family:'Sora',sans-serif;font-weight:800;font-size:.8rem;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;background:var(--purple);padding:9px 18px;border-radius:100px;
  box-shadow:0 6px 16px rgba(112,30,125,.3);
}
.svc-category-head .rule{flex:1;height:1px;background:var(--line);}
.svc-row{
  display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;
  padding:56px 0;border-bottom:1px solid var(--line);
}
.svc-row:last-of-type{border-bottom:none;}
.svc-row.rev .svc-media{order:2;}
.svc-media img{border-radius:var(--radius);box-shadow:var(--shadow);width:100%;object-fit:cover;aspect-ratio:4/3;}
.svc-copy h3{font-size:1.7rem;margin:14px 0 14px;}
.svc-copy p{color:var(--gray);}
.svc-copy .mini-eyebrow{
  font-family:'Sora',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.15em;
  text-transform:uppercase;color:var(--purple-mid);
}
.svc-points{margin:20px 0 26px;display:grid;gap:12px;}
.svc-points li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);font-size:.97rem;}
.svc-points li::before{
  content:"";flex:0 0 20px;height:20px;margin-top:3px;border-radius:6px;
  background:var(--purple-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23701e7d' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/12px no-repeat;
}

/* Services anchor pills */
.svc-anchor-bar{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:80px;z-index:500;}
.svc-anchor-scroll{display:flex;gap:10px;overflow-x:auto;padding:14px 0;scrollbar-width:none;}
.svc-anchor-scroll::-webkit-scrollbar{display:none;}
.svc-anchor-scroll a{
  flex:0 0 auto;font-family:'Sora',sans-serif;font-size:.83rem;font-weight:600;color:var(--ink);
  border:1px solid var(--line);padding:8px 16px;border-radius:100px;transition:.25s;
}
.svc-anchor-scroll a:hover{background:var(--purple);border-color:var(--purple);color:#fff;}

/* ---------- Highlights band (Run smarter operations) ---------- */
.band-dark{
  background:linear-gradient(135deg,var(--purple-dark),var(--purple-deep) 55%,var(--purple));
  color:#fff;position:relative;overflow:hidden;
}
.band-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(620px 380px at 92% 8%,rgba(240,166,60,.14),transparent 60%);pointer-events:none;}
.band-dark h2,.band-dark h3{color:#fff;}
.band-dark .section-head p{color:#e3c6ea;}
.hl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;position:relative;}
.hl-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);padding:30px;transition:.3s;
}
.hl-card:hover{background:rgba(255,255,255,.1);transform:translateY(-5px);}
.hl-card .img-wrap{height:150px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;}
.hl-card .img-wrap img{max-height:100%;width:auto;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.35));}
.hl-card p{color:#e3c6ea;font-size:.95rem;margin-top:8px;}

/* ---------- Industries ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.ind-card{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:3/3.6;cursor:default;}
.ind-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.ind-card:hover img{transform:scale(1.07);}
.ind-card .overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;
  padding:22px;background:linear-gradient(to top,rgba(42,10,49,.92) 0%,rgba(42,10,49,.35) 48%,transparent 75%);
}
.ind-card h3{color:#fff;font-size:1.12rem;margin-bottom:6px;}
.ind-card p{color:#e3c6ea;font-size:.85rem;line-height:1.5;max-height:0;opacity:0;overflow:hidden;transition:all .4s ease;}
.ind-card:hover p{max-height:120px;opacity:1;}

/* ---------- Split CTA rows (KDS / Kiosk) ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split.rev .split-media{order:2;}
.split-media img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;}
.split-copy h2{margin:14px 0 16px;}
.split-copy p{color:var(--gray);margin-bottom:28px;}

/* ---------- Hardware strip ---------- */
.hw-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.hw-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 22px;text-align:center;transition:.3s;
}
.hw-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.hw-card img{height:190px;width:auto;margin:0 auto 18px;object-fit:contain;}
.hw-card h3{font-size:1.05rem;}
.hw-card span{font-size:.85rem;color:var(--gray);}

/* ---------- Why choose ---------- */
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.why-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px 26px;transition:.3s;position:relative;overflow:hidden;
}
.why-card::before{
  content:"";position:absolute;top:0;left:0;width:100%;height:4px;
  background:linear-gradient(90deg,var(--purple),var(--purple-soft));
  transform:scaleX(0);transform-origin:left;transition:transform .35s ease;
}
.why-card:hover::before{transform:scaleX(1);}
.why-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.why-card .icon{
  width:54px;height:54px;border-radius:14px;background:var(--purple-tint);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
}
.why-card .icon svg{width:26px;height:26px;stroke:var(--purple);}
.why-card p{color:var(--gray);font-size:.94rem;margin-top:8px;}

/* ---------- Pricing benefits ---------- */
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.price-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;display:flex;gap:18px;align-items:flex-start;transition:.3s;
}
.price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);}
.price-card .icon{
  flex:0 0 50px;height:50px;border-radius:14px;background:var(--purple-tint);
  display:flex;align-items:center;justify-content:center;
}
.price-card .icon svg{width:24px;height:24px;stroke:var(--purple);}
.price-card h3{font-size:1.05rem;margin-bottom:6px;}
.price-card p{color:var(--gray);font-size:.92rem;}

/* ---------- FAQ ---------- */
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);margin-bottom:14px;background:#fff;overflow:hidden;}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:20px;
  background:none;border:none;cursor:pointer;padding:22px 26px;text-align:left;
  font-family:'Sora',sans-serif;font-weight:600;font-size:1.02rem;color:var(--ink);
}
.faq-q .chev{flex:0 0 30px;height:30px;border-radius:50%;background:var(--purple-tint);display:flex;align-items:center;justify-content:center;transition:.3s;}
.faq-q .chev svg{width:14px;height:14px;stroke:var(--purple);transition:transform .3s;}
.faq-item.open .faq-q .chev{background:var(--purple);}
.faq-item.open .faq-q .chev svg{stroke:#fff;transform:rotate(180deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-a p{padding:0 26px 24px;color:var(--gray);}

/* ---------- Big CTA ---------- */
.big-cta{
  background:linear-gradient(135deg,var(--purple) 0%,var(--purple-deep) 60%,var(--purple-dark));
  border-radius:26px;color:#fff;text-align:center;padding:76px 40px;
  position:relative;overflow:hidden;
}
.big-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(520px 300px at 15% 100%,rgba(240,166,60,.18),transparent 60%);pointer-events:none;}
.big-cta h2{color:#fff;max-width:680px;margin:0 auto 18px;position:relative;}
.big-cta p{color:#ecd9f1;max-width:600px;margin:0 auto 34px;position:relative;}
.big-cta .btn{position:relative;}

/* ---------- Contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start;}
.contact-info h2{margin-bottom:16px;}
.contact-info>p{color:var(--gray);margin-bottom:34px;}
.contact-item{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px;}
.contact-item .icon{flex:0 0 50px;height:50px;border-radius:14px;background:var(--purple-tint);display:flex;align-items:center;justify-content:center;}
.contact-item .icon svg{width:23px;height:23px;stroke:var(--purple);}
.contact-item h4{font-size:1rem;margin-bottom:3px;}
.contact-item p,.contact-item a{color:var(--gray);font-size:.95rem;}
.contact-item a:hover{color:var(--purple);}
.contact-form{
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);
  padding:40px;box-shadow:var(--shadow);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{margin-bottom:18px;}
.form-group label{display:block;font-family:'Sora',sans-serif;font-weight:600;font-size:.86rem;margin-bottom:8px;}
.form-group input,.form-group select,.form-group textarea{
  width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif;font-size:.96rem;color:var(--ink);background:#fff;
  transition:border-color .25s, box-shadow .25s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{
  outline:none;border-color:var(--purple);box-shadow:0 0 0 4px rgba(112,30,125,.12);
}
.form-group textarea{resize:vertical;min-height:130px;}
.contact-form .btn{width:100%;}

/* ---------- Footer ---------- */
.site-footer{background:var(--purple-dark);color:#d9b8e2;padding:76px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;padding-bottom:56px;}
.footer-brand .logo-text{color:#fff;}
.footer-brand p{font-size:.92rem;margin:18px 0 24px;max-width:340px;}
.footer-contact a{display:flex;align-items:center;gap:10px;color:#f3d9fa;font-weight:600;font-size:.95rem;margin-bottom:10px;}
.footer-contact a:hover{color:var(--accent);}
.footer-contact svg{width:17px;height:17px;stroke:var(--accent);}
.site-footer h4{color:#fff;font-size:.95rem;margin-bottom:20px;letter-spacing:.04em;}
.footer-links li{margin-bottom:11px;}
.footer-links a{color:#d9b8e2;font-size:.92rem;transition:.25s;}
.footer-links a:hover{color:#fff;padding-left:4px;}
.footer-social{display:flex;gap:12px;margin-top:22px;}
.footer-social a{
  width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.22);
  display:flex;align-items:center;justify-content:center;transition:.3s;
}
.footer-social a:hover{background:var(--purple);border-color:var(--purple);}
.footer-social svg{width:17px;height:17px;fill:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.86rem;}
.footer-bottom a{color:#d9b8e2;margin-left:20px;}
.footer-bottom a:hover{color:#fff;}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;}
.reveal.visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important;}
  .reveal{opacity:1;transform:none;}
  html{scroll-behavior:auto;}
}

/* ---------- Responsive ---------- */
@media(max-width:1024px){
  .feature-grid,.why-grid,.hw-grid{grid-template-columns:repeat(2,1fr);}
  .svc-grid,.hl-grid,.price-grid{grid-template-columns:repeat(2,1fr);}
  .ind-grid{grid-template-columns:repeat(2,1fr);}
  .hero-grid{grid-template-columns:1fr;padding:72px 0 80px;}
  .hero-media{max-width:640px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:768px){
  .section{padding:68px 0;}
  .main-nav,.nav-cta .btn-outline{display:none;}
  .nav-toggle{display:block;}
  .main-nav.open{
    display:flex;flex-direction:column;position:absolute;top:80px;left:0;right:0;
    background:#fff;border-bottom:1px solid var(--line);padding:20px 24px;gap:18px;
    box-shadow:var(--shadow);
  }
  .svc-row,.split,.contact-grid{grid-template-columns:1fr;gap:34px;}
  .svc-row.rev .svc-media,.split.rev .split-media{order:0;}
  .form-row{grid-template-columns:1fr;}
  .svc-anchor-bar{top:80px;}
  .hero-badge{left:12px;bottom:-16px;}
}
@media(max-width:560px){
  .feature-grid,.why-grid,.hw-grid,.svc-grid,.hl-grid,.price-grid,.ind-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .hero-stats{gap:26px;}
}

/* ============================================================
   ADDITIONS — Lead popup modal, footer offices, product cards
   ============================================================ */

/* ---------- Lead popup modal ---------- */
.lead-modal{
  position:fixed;inset:0;z-index:2000;display:none;
  align-items:center;justify-content:center;padding:20px;
}
.lead-modal.active{display:flex;}
.lead-modal-backdrop{
  position:absolute;inset:0;background:rgba(42,10,49,.72);backdrop-filter:blur(5px);
  animation:fadeIn .3s ease;
}
.lead-modal-box{
  position:relative;background:#fff;border-radius:22px;max-width:520px;width:100%;
  max-height:92vh;overflow-y:auto;padding:40px 38px 36px;box-shadow:var(--shadow-lg);
  animation:modalUp .35s ease;
}
.lead-modal-box::before{
  content:"";position:absolute;top:0;left:0;right:0;height:6px;
  background:linear-gradient(90deg,var(--purple),var(--purple-soft),var(--accent));
  border-radius:22px 22px 0 0;
}
.lead-modal-close{
  position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;
  border:none;background:var(--purple-tint);color:var(--purple);font-size:1.5rem;line-height:1;
  cursor:pointer;transition:.25s;display:flex;align-items:center;justify-content:center;
}
.lead-modal-close:hover{background:var(--purple);color:#fff;transform:rotate(90deg);}
.lead-modal-box h3{font-size:1.55rem;margin-bottom:8px;padding-right:30px;}
.lead-modal-box>p{color:var(--gray);font-size:.95rem;margin-bottom:26px;}
.lead-modal-box .form-group{margin-bottom:15px;}
.lead-modal-box .btn{width:100%;margin-top:4px;}
.lead-modal-box .privacy-note{font-size:.78rem;color:var(--gray);text-align:center;margin-top:14px;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes modalUp{from{opacity:0;transform:translateY(30px) scale(.97)}to{opacity:1;transform:none}}
body.modal-open{overflow:hidden;}

/* ---------- Footer offices ---------- */
.footer-offices{margin-top:24px;display:grid;gap:18px;}
.footer-offices .office h5{
  font-family:'Sora',sans-serif;color:#fff;font-size:.88rem;margin-bottom:5px;
  display:flex;align-items:center;gap:8px;
}
.footer-offices .office p{font-size:.86rem;color:#d9b8e2;line-height:1.55;}

/* ---------- Product terminal cards ---------- */
.hw-card .specs{margin-top:14px;text-align:left;display:grid;gap:8px;}
.hw-card .specs li{
  font-size:.86rem;color:var(--gray);display:flex;gap:9px;align-items:flex-start;
}
.hw-card .specs li::before{
  content:"";flex:0 0 16px;height:16px;margin-top:3px;border-radius:5px;
  background:var(--purple-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%23701e7d' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/10px no-repeat;
}
.hw-card .badge{
  display:inline-block;font-family:'Sora',sans-serif;font-size:.68rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;color:var(--purple);
  background:var(--purple-tint);padding:5px 12px;border-radius:100px;margin-bottom:12px;
}

/* ---------- Form success / error states ---------- */
.form-msg.error{
  background:#fdeaea;border:1px solid #f2b8b5;color:#a12622;
  padding:12px 16px;border-radius:var(--radius-sm);font-size:.9rem;margin-bottom:16px;
}
.form-success{text-align:center;padding:28px 8px;}
.form-success .check-circle{
  width:72px;height:72px;border-radius:50%;margin:0 auto 20px;
  background:linear-gradient(135deg,var(--purple),var(--purple-mid));color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 28px rgba(112,30,125,.35);
  animation:popIn .45s cubic-bezier(.2,1.4,.4,1);
}
.form-success .check-circle svg{width:34px;height:34px;}
.form-success h3{margin-bottom:10px;}
.form-success p{color:var(--gray);font-size:.96rem;}
@keyframes popIn{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}

/* ---------- Legal pages ---------- */
.legal-content{max-width:860px;margin:0 auto;}
.legal-content .updated{
  font-family:'Sora',sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--purple-mid);margin-bottom:36px;
}
.legal-content h2{font-size:1.45rem;margin:44px 0 14px;padding-top:8px;}
.legal-content h2:first-of-type{margin-top:0;}
.legal-content p{color:var(--gray);margin-bottom:16px;}
.legal-content ul{margin:0 0 16px 4px;display:grid;gap:9px;}
.legal-content ul li{display:flex;gap:12px;align-items:flex-start;color:var(--gray);font-size:.97rem;}
.legal-content ul li::before{
  content:"";flex:0 0 8px;height:8px;margin-top:8px;border-radius:2px;
  background:var(--purple);transform:rotate(45deg);
}
.legal-content a{font-weight:600;}
