/* =========================================================
   SEO in Gurgaon | RS Web Solutions — Stylesheet
   ========================================================= */
:root{
  --ink:#16121F;
  --paper:#FFFFFF;
  --violet:#6C47FF;
  --violet-tint:#F1EDFF;
  --coral:#FF6B4A;
  --coral-tint:#FFF0EA;
  --lime:#D4FF3D;
  --sky:#3DB8FF;
  --slate:#6B6478;
  --shadow-c: 6px 6px 0px var(--ink);
  --shadow-c-sm: 4px 4px 0px var(--ink);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter', sans-serif;
  background:var(--paper);
  color:var(--ink);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
h1,h2,h3{font-family:'Space Grotesk', sans-serif; font-weight:700; letter-spacing:-0.01em; color:var(--ink);}
.mono{font-family:'JetBrains Mono', monospace;}
.skip-link{position:absolute; left:-999px; top:0; background:var(--lime); color:var(--ink); padding:10px 18px; font-weight:700; z-index:1000; border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}

.eyebrow{
  font-family:'JetBrains Mono', monospace; font-size:12.5px; font-weight:600;
  letter-spacing:0.06em; text-transform:uppercase;
  display:inline-flex; align-items:center; gap:8px; padding:6px 14px 6px 10px;
  border:2px solid var(--ink); border-radius:20px; background:var(--lime);
}
.eyebrow::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--ink); display:inline-block;}
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:15px 28px; border-radius:100px; font-weight:700; font-size:15px;
  cursor:pointer; border:2.5px solid var(--ink); transition:transform .12s ease, box-shadow .12s ease;
  font-family:'Space Grotesk', sans-serif;
}
.btn:hover{transform:translate(-2px,-2px);}
.btn:active{transform:translate(0,0); box-shadow:none !important;}
.btn-primary{background:var(--violet); color:#fff; box-shadow:var(--shadow-c-sm);}
.btn-primary:hover{box-shadow:8px 8px 0px var(--ink);}
.btn-lime{background:var(--lime); color:var(--ink); box-shadow:var(--shadow-c-sm);}
.btn-lime:hover{box-shadow:8px 8px 0px var(--ink);}
.btn-outline{background:var(--paper); color:var(--ink); box-shadow:var(--shadow-c-sm);}
.btn-outline:hover{box-shadow:8px 8px 0px var(--ink);}
.btn-sm{padding:11px 20px; font-size:13.5px;}

/* Top info bar */
.topbar{background:var(--ink); color:#fff; font-family:'JetBrains Mono', monospace; font-size:12.5px;}
.topbar .wrap{display:flex; align-items:center; justify-content:space-between; padding:8px 32px; flex-wrap:wrap; gap:8px;}
.topbar a{font-weight:600;}
.topbar a:hover{color:var(--lime);}
.topbar-links{display:flex; gap:18px; align-items:center; flex-wrap:wrap;}

header{position:sticky; top:0; z-index:100; background:var(--paper); border-bottom:2.5px solid var(--ink);}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 24px; max-width:1240px; margin:0 auto; gap:12px;}
.logo{display:flex; align-items:center; gap:10px; font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:20px; white-space:nowrap; flex-shrink:0;}
.logo-mark{width:36px; height:36px; background:var(--ink); border-radius:9px; display:flex; align-items:center; justify-content:center; color:var(--lime); font-size:18px; font-weight:700; flex-shrink:0;}
.nav-links{display:flex; gap:2px; align-items:center;}
.nav-links a{font-size:14px; font-weight:600; color:var(--ink); padding:9px 12px; border-radius:100px; transition:background .15s ease; white-space:nowrap;}
.nav-links a:hover{background:var(--violet-tint);}
.nav-ctas{display:flex; align-items:center; gap:10px; flex-shrink:0;}
.nav-ctas .btn{white-space:nowrap;}
.menu-toggle{display:none; background:none; border:none; font-size:24px; cursor:pointer; flex-shrink:0;}

/* Collapse to the hamburger menu earlier than the general tablet breakpoint —
   with 9 nav items + call/audit buttons, anything narrower than ~1360px starts
   wrapping mid-word instead of dropping to the mobile menu. */
@media (max-width: 1360px){
  .nav-links{display:none;}
  .menu-toggle{display:block;}
}

.hero{padding:64px 0 96px; background:var(--violet-tint); position:relative; overflow:hidden;}
.hero::before{content:""; position:absolute; top:-80px; right:-80px; width:280px; height:280px; border-radius:50%; background:var(--lime); opacity:.55; z-index:0;}
.hero::after{content:""; position:absolute; bottom:-120px; left:-60px; width:220px; height:220px; border-radius:50%; background:var(--coral); opacity:.35; z-index:0;}
.hero .wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center; position:relative; z-index:1;}
.hero h1{font-size:50px; line-height:1.08; margin:20px 0 22px;}
.hero h1 mark{background:var(--lime); padding:2px 10px; border-radius:8px; border:2.5px solid var(--ink); box-decoration-break:clone; -webkit-box-decoration-break:clone;}
.hero p.lede{font-size:17.5px; color:var(--ink); opacity:.75; max-width:480px; margin-bottom:32px; font-weight:500;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap;}
.hero-trust{display:flex; align-items:center; gap:14px; margin-top:28px; flex-wrap:wrap;}
.hero-trust .stars{color:var(--coral); letter-spacing:2px; font-size:15px;}
.hero-trust span.small{font-size:13px; font-weight:600; color:var(--slate);}

.stack{position:relative; height:420px;}
.card{position:absolute; background:var(--paper); border:2.5px solid var(--ink); border-radius:18px; box-shadow:var(--shadow-c); padding:22px;}
.serp-card{width:340px; top:20px; left:20px; z-index:2;}
.serp-search{display:flex; align-items:center; gap:10px; border:2px solid var(--ink); border-radius:24px; padding:10px 16px; font-size:13px; font-weight:600; margin-bottom:16px;}
.serp-search .dot{width:8px; height:8px; border-radius:50%; background:var(--coral);}
.serp-title{font-size:15px; color:var(--violet); font-weight:700; margin-bottom:4px;}
.serp-desc{font-size:12.5px; color:var(--slate); line-height:1.5;}
.rank-row{display:flex; align-items:center; justify-content:space-between; margin-top:16px; padding-top:14px; border-top:2px dashed var(--ink);}
.rank-label{font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:600; text-transform:uppercase;}
.rank-value{font-family:'JetBrains Mono', monospace; font-size:28px; font-weight:700; color:var(--violet);}
.chip-card{width:190px; padding:16px 18px; z-index:3;}
.chip1{top:250px; left:10px; transform:rotate(-6deg); background:var(--lime);}
.chip2{top:-10px; right:0; transform:rotate(5deg); background:var(--coral); color:#fff;}
.chip3{bottom:0; right:30px; transform:rotate(-3deg); background:var(--sky); color:#fff;}
.chip-num{font-family:'JetBrains Mono', monospace; font-size:24px; font-weight:700;}
.chip-label{font-size:12px; font-weight:600; margin-top:2px;}

.stats{background:var(--ink); color:var(--paper); padding:44px 0;}
.stats .wrap{display:grid; grid-template-columns:repeat(4,1fr); gap:24px;}
.stat-item{border-left:3px solid var(--lime); padding-left:16px;}
.stat-num{font-family:'JetBrains Mono', monospace; font-size:30px; font-weight:700;}
.stat-item:nth-child(1) .stat-num{color:var(--lime);}
.stat-item:nth-child(2) .stat-num{color:var(--coral);}
.stat-item:nth-child(3) .stat-num{color:var(--sky);}
.stat-item:nth-child(4) .stat-num{color:var(--lime);}
.stat-label{font-size:12.5px; opacity:.7; margin-top:6px; font-weight:500;}

section{padding:96px 0;}
.section-head{max-width:620px; margin-bottom:52px;}
.section-head h2{font-size:36px; margin-top:16px; line-height:1.15;}
.section-head p{color:var(--slate); font-size:16px; margin-top:14px; font-weight:500;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

/* About */
.about{background:var(--paper);}
.about .wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:center;}
.about-visual{aspect-ratio:4/5; border:2.5px solid var(--ink); border-radius:18px; box-shadow:var(--shadow-c); background:var(--lime); position:relative; overflow:hidden; display:flex; align-items:center; justify-content:center;}
.about-visual .badge{position:absolute; bottom:18px; left:18px; right:18px; background:var(--paper); border:2.5px solid var(--ink); border-radius:14px; padding:16px 18px; box-shadow:var(--shadow-c-sm);}
.about-visual .badge .num{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:22px; color:var(--violet);}
.about-visual .badge .lbl{font-size:12.5px; font-weight:600; color:var(--slate);}
.about-visual .initials{font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:120px; color:var(--ink); opacity:.15;}
.about-copy p{color:var(--slate); font-size:16px; margin-top:16px; font-weight:500;}
.about-list{margin-top:24px; display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.about-list li{display:flex; align-items:flex-start; gap:10px; font-size:14.5px; font-weight:600;}
.about-list li::before{content:"✓"; flex-shrink:0; width:22px; height:22px; border-radius:6px; background:var(--lime); border:2px solid var(--ink); display:flex; align-items:center; justify-content:center; font-size:12px;}

.services-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.services-grid > .service-card:last-child:nth-child(3n+1){grid-column:2;}
@media (max-width:980px){ .services-grid > .service-card:last-child:nth-child(3n+1){grid-column:auto;} }
.service-card{background:var(--paper); border:2.5px solid var(--ink); border-radius:18px; padding:28px; box-shadow:var(--shadow-c-sm); transition:transform .15s ease, box-shadow .15s ease;}
.service-card:hover{transform:translate(-3px,-3px); box-shadow:8px 8px 0 var(--ink);}
.service-icon{width:44px; height:44px; border-radius:12px; border:2.5px solid var(--ink); display:flex; align-items:center; justify-content:center; font-family:'Space Grotesk', sans-serif; font-weight:700; font-size:18px; margin-bottom:16px;}
.service-card:nth-child(6n+1) .service-icon{background:var(--lime);}
.service-card:nth-child(6n+2) .service-icon{background:var(--coral); color:#fff;}
.service-card:nth-child(6n+3) .service-icon{background:var(--sky); color:#fff;}
.service-card:nth-child(6n+4) .service-icon{background:var(--violet); color:#fff;}
.service-card:nth-child(6n+5) .service-icon{background:var(--lime);}
.service-card:nth-child(6n+6) .service-icon{background:var(--coral); color:#fff;}
.service-card h3{font-size:19px; margin-bottom:10px;}
.service-card p{font-size:14px; color:var(--slate); font-weight:500;}

.why{background:var(--sky); border-top:2.5px solid var(--ink); border-bottom:2.5px solid var(--ink);}
.why .section-head h2, .why .section-head p{color:var(--ink);}
.why-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.why-card{background:var(--paper); border:2.5px solid var(--ink); border-radius:16px; padding:22px; box-shadow:var(--shadow-c-sm);}
.why-card .num{font-family:'JetBrains Mono', monospace; font-weight:700; font-size:20px; color:var(--violet); margin-bottom:8px;}
.why-card h3{font-size:16.5px; margin-bottom:8px;}
.why-card p{font-size:13.5px; color:var(--slate); font-weight:500;}

.local{background:var(--coral-tint); border-top:2.5px solid var(--ink); border-bottom:2.5px solid var(--ink);}
.local .wrap{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center;}
.local h2{font-size:34px; line-height:1.2;}
.local p{color:var(--ink); opacity:.75; font-size:16px; margin-top:18px; font-weight:500;}
.area-tags{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
.area-tag{font-family:'JetBrains Mono', monospace; font-size:12.5px; font-weight:600; border:2px solid var(--ink); padding:8px 16px; border-radius:20px; background:var(--paper);}
.area-tag:nth-child(3n+1){background:var(--lime);}
.area-tag:nth-child(3n+2){background:var(--sky); color:#fff;}
.local-visual{aspect-ratio:1/1; border:2.5px solid var(--ink); border-radius:18px; background:var(--paper); box-shadow:var(--shadow-c);}
.local-visual svg{width:100%; height:100%;}

.process-list{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.process-item{background:var(--paper); border:2.5px solid var(--ink); border-radius:18px; padding:26px 22px; box-shadow:var(--shadow-c-sm);}
.step-num{display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:10px; border:2.5px solid var(--ink); font-family:'JetBrains Mono', monospace; font-weight:700; font-size:14px; margin-bottom:14px;}
.process-item:nth-child(1) .step-num{background:var(--lime);}
.process-item:nth-child(2) .step-num{background:var(--sky); color:#fff;}
.process-item:nth-child(3) .step-num{background:var(--coral); color:#fff;}
.process-item:nth-child(4) .step-num{background:var(--violet); color:#fff;}
.process-item h3{font-size:18px; margin-bottom:8px;}
.process-item p{color:var(--slate); font-size:13.5px; font-weight:500;}

/* Pricing */
.pricing{background:var(--violet-tint); border-top:2.5px solid var(--ink); border-bottom:2.5px solid var(--ink);}
.pricing-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.price-card{background:var(--paper); border:2.5px solid var(--ink); border-radius:18px; padding:30px 26px; box-shadow:var(--shadow-c-sm); display:flex; flex-direction:column;}
.price-card.featured{background:var(--ink); color:#fff; box-shadow:var(--shadow-c); transform:translateY(-10px);}
.price-card .plan-name{font-family:'JetBrains Mono', monospace; font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--violet);}
.price-card.featured .plan-name{color:var(--lime);}
.price-card .plan-price{font-family:'Space Grotesk', sans-serif; font-size:34px; font-weight:700; margin:10px 0 4px;}
.price-card .plan-sub{font-size:12.5px; color:var(--slate); margin-bottom:20px;}
.price-card.featured .plan-sub{color:rgba(255,255,255,.65);}
.price-card ul{margin-bottom:24px; flex-grow:1;}
.price-card li{font-size:13.5px; font-weight:600; padding:8px 0; border-top:1px dashed rgba(0,0,0,.15); display:flex; gap:8px;}
.price-card.featured li{border-top:1px dashed rgba(255,255,255,.2);}
.price-card li:first-child{border-top:none;}

/* Testimonials */
.testimonials{background:var(--paper);}
.testi-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.testi-card{background:var(--violet-tint); border:2.5px solid var(--ink); border-radius:18px; padding:26px; box-shadow:var(--shadow-c-sm);}
.testi-stars{color:var(--coral); letter-spacing:2px; margin-bottom:12px;}
.testi-card p{font-size:14.5px; font-weight:500; color:var(--ink); opacity:.85;}
.testi-who{display:flex; align-items:center; gap:12px; margin-top:18px;}
.testi-avatar{width:38px; height:38px; border-radius:50%; border:2px solid var(--ink); background:var(--coral); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Space Grotesk', sans-serif; flex-shrink:0;}
.testi-name{font-size:13.5px; font-weight:700;}
.testi-role{font-size:12px; color:var(--slate); font-weight:500;}

/* FAQ */
.faq{background:var(--ink); color:#fff;}
.faq .section-head h2{color:#fff;}
.faq .section-head p{color:rgba(255,255,255,.65);}
.faq-list{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:14px;}
.faq-item{border:2.5px solid rgba(255,255,255,.25); border-radius:14px; overflow:hidden; background:rgba(255,255,255,.03);}
.faq-q{width:100%; text-align:left; background:none; border:none; color:#fff; padding:18px 22px; font-family:'Space Grotesk', sans-serif; font-size:16px; font-weight:700; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px;}
.faq-q .icon{font-family:'JetBrains Mono', monospace; font-size:18px; color:var(--lime); flex-shrink:0; transition:transform .2s ease;}
.faq-item.open .faq-q .icon{transform:rotate(45deg);}
.faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease;}
.faq-a p{padding:0 22px 20px; font-size:14.5px; color:rgba(255,255,255,.7); font-weight:500; line-height:1.65;}

.cta-band{background:var(--violet); color:#fff; text-align:center; border-top:2.5px solid var(--ink); border-bottom:2.5px solid var(--ink);}
.cta-band .eyebrow{background:var(--lime); color:var(--ink);}
.cta-band h2{color:#fff; font-size:38px; max-width:640px; margin:16px auto 18px;}
.cta-band p{color:rgba(255,255,255,0.8); max-width:480px; margin:0 auto 34px; font-size:16px; font-weight:500;}
.cta-band .hero-ctas{justify-content:center;}

.contact .wrap{display:grid; grid-template-columns:0.85fr 1.15fr; gap:56px;}
.contact-info-item{background:var(--paper); border:2.5px solid var(--ink); border-radius:14px; padding:18px 20px; margin-bottom:14px; display:block;}
.contact-info-item .label{font-family:'JetBrains Mono', monospace; font-size:11px; font-weight:700; text-transform:uppercase; color:var(--violet);}
.contact-info-item .value{font-size:16px; margin-top:6px; font-weight:600;}
.map-frame{border:2.5px solid var(--ink); border-radius:14px; overflow:hidden; margin-top:14px; box-shadow:var(--shadow-c-sm); height:200px;}
.map-frame iframe{width:100%; height:100%; border:0; display:block;}
form{display:flex; flex-direction:column; gap:16px; background:var(--violet-tint); border:2.5px solid var(--ink); border-radius:18px; padding:28px; box-shadow:var(--shadow-c);}
.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
label{font-size:12.5px; font-weight:700; color:var(--ink); margin-bottom:6px; display:block;}
input,textarea,select{width:100%; border:2px solid var(--ink); background:#fff; padding:12px 14px; font-family:'Inter', sans-serif; font-size:14.5px; border-radius:10px; color:var(--ink);}
input:focus,textarea:focus,select:focus{outline:none; box-shadow:3px 3px 0 var(--ink);}
textarea{resize:vertical; min-height:100px;}
.form-note{font-size:12.5px; color:var(--slate); margin-top:2px; font-weight:500;}
.form-status{font-size:13.5px; font-weight:700; padding:10px 14px; border-radius:10px; display:none;}
.form-status.show{display:block;}
.form-status.ok{background:var(--lime); border:2px solid var(--ink);}

footer{background:var(--ink); color:var(--paper);}
.footer-top{padding:64px 0 40px; display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;}
.footer-brand .logo{color:var(--paper);}
.footer-brand .logo-mark{background:var(--lime); color:var(--ink);}
.footer-brand p{color:rgba(255,255,255,0.6); font-size:14px; margin-top:14px; max-width:280px; font-weight:500;}
.footer-social{display:flex; gap:10px; margin-top:18px;}
.footer-social a{width:36px; height:36px; border:2px solid rgba(255,255,255,.3); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700; font-family:'JetBrains Mono', monospace;}
.footer-social a:hover{background:var(--lime); color:var(--ink); border-color:var(--lime);}
.footer-col h4{font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--lime); margin-bottom:16px;}
.footer-col a{display:block; font-size:14px; color:rgba(255,255,255,0.8); margin-bottom:12px; font-weight:500;}
.footer-col a:hover{color:var(--lime);}
.footer-col address{font-style:normal;}
.footer-bottom{border-top:2px solid rgba(255,255,255,0.15); padding:22px 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px;}
.footer-bottom p{font-size:13px; color:rgba(255,255,255,0.6); font-weight:500;}
.footer-bottom-links{display:flex; gap:18px;}
.footer-bottom-links a{font-size:13px; color:rgba(255,255,255,0.6); font-weight:500;}
.footer-bottom-links a:hover{color:var(--lime);}
.brand-credit{display:inline-flex; font-weight:700; color:var(--ink); background:var(--lime); padding:2px 10px; border-radius:6px;}

/* Floating call/whatsapp buttons */
.float-actions{position:fixed; right:22px; bottom:22px; display:flex; flex-direction:column; gap:12px; z-index:200;}
.float-btn{width:56px; height:56px; border-radius:50%; border:2.5px solid var(--ink); display:flex; align-items:center; justify-content:center; box-shadow:var(--shadow-c-sm); font-size:24px; transition:transform .15s ease, box-shadow .15s ease;}
.float-btn:hover{transform:translateY(-3px); box-shadow:6px 6px 0 var(--ink);}
.float-call{background:var(--lime); color:var(--ink);}
.float-whatsapp{background:#25D366; color:#fff;}

@media (max-width: 980px){
  .services-grid{grid-template-columns:1fr 1fr;}
  .why-grid{grid-template-columns:1fr 1fr;}
  .pricing-grid{grid-template-columns:1fr;}
  .price-card.featured{transform:none;}
  .testi-grid{grid-template-columns:1fr;}
  .about .wrap{grid-template-columns:1fr;}
  .about-visual{max-width:360px; margin:0 auto;}
}

@media (max-width: 860px){
  .topbar .wrap{justify-content:center; text-align:center;}
  .nav-links{display:none;}
  .menu-toggle{display:block;}
  .hero .wrap{grid-template-columns:1fr;}
  .hero h1{font-size:34px;}
  .stack{height:380px;}
  .stats .wrap{grid-template-columns:repeat(2,1fr); row-gap:28px;}
  .services-grid{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
  .local .wrap{grid-template-columns:1fr;}
  .local-visual{order:-1; max-width:300px; margin:0 auto;}
  .process-list{grid-template-columns:1fr 1fr;}
  .about-list{grid-template-columns:1fr;}
  .contact .wrap{grid-template-columns:1fr;}
  .field-row{grid-template-columns:1fr;}
  .footer-top{grid-template-columns:1fr 1fr; row-gap:32px;}
  .wrap{padding:0 20px;}
  section{padding:64px 0;}
}

/* Extra small phones */
@media (max-width: 480px){
  .topbar .wrap{padding:8px 16px; font-size:11.5px;}
  .topbar-links{gap:10px;}
  .nav{padding:14px 16px;}
  .logo{font-size:17px;}
  .logo-mark{width:30px; height:30px; font-size:15px;}
  .nav-ctas .btn-outline{display:none;}
  .hero{padding:36px 0 56px;}
  .hero h1{font-size:27px; line-height:1.18;}
  .hero p.lede{font-size:15.5px;}
  .hero-ctas .btn{width:100%; font-size:14px; padding:14px 18px;}
  .hero-trust{gap:10px;}
  .stack{height:300px;}
  .serp-card{width:min(300px, 82vw); padding:16px;}
  .chip-card{width:130px; padding:12px 14px;}
  .chip-num{font-size:19px;}
  .chip-label{font-size:10.5px;}
  .chip1{left:0; top:auto; bottom:60px;}
  .chip2{top:-6px;}
  .chip3{right:6px;}
  section{padding:52px 0;}
  .section-head h2{font-size:26px;}
  .about-visual .initials{font-size:70px;}
  .price-card .plan-price{font-size:28px;}
  .price-card.featured{transform:none;}
  .faq-q{font-size:14.5px; padding:16px;}
  .stats .wrap{grid-template-columns:1fr 1fr; gap:20px;}
  .stat-num{font-size:24px;}
  .float-actions{right:14px; bottom:14px; gap:10px;}
  .float-btn{width:48px; height:48px; font-size:20px;}
}

/* Mobile usability: bigger tap targets, no iOS input zoom, no accidental horizontal scroll */
input, textarea, select{font-size:16px;}
.nav-links a, .footer-col a, .faq-q, .btn{min-height:40px;}
html, body{max-width:100%; overflow-x:hidden;}
table{display:block; overflow-x:auto; -webkit-overflow-scrolling:touch;}

/* =========================================================
   Inner pages (services, etc.)
   ========================================================= */
.breadcrumb{font-family:'JetBrains Mono', monospace; font-size:12px; font-weight:600; color:var(--slate); display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:18px;}
.breadcrumb a{color:var(--violet);}
.breadcrumb a:hover{text-decoration:underline;}

.page-hero{padding:52px 0 64px; background:var(--violet-tint); position:relative; overflow:hidden; border-bottom:2.5px solid var(--ink);}
.page-hero::before{content:""; position:absolute; top:-70px; right:-70px; width:220px; height:220px; border-radius:50%; background:var(--lime); opacity:.5;}
.page-hero .wrap{position:relative; z-index:1; max-width:820px;}
.page-hero h1{font-size:42px; line-height:1.12; margin:16px 0 18px;}
.page-hero p.lede{font-size:17px; color:var(--ink); opacity:.75; font-weight:500; max-width:640px; margin-bottom:28px;}
.page-hero-stats{display:flex; gap:28px; flex-wrap:wrap; margin-top:8px;}
.page-hero-stats .mini-stat{font-family:'JetBrains Mono', monospace; font-size:12.5px; font-weight:700; color:var(--slate);}
.page-hero-stats .mini-stat b{display:block; font-size:22px; color:var(--violet); font-family:'Space Grotesk', sans-serif;}

.intro-block{max-width:760px;}
.intro-block p{color:var(--slate); font-size:16px; margin-top:14px; font-weight:500;}

.steps-detailed{max-width:820px; margin:0 auto; position:relative;}
.step-block{display:grid; grid-template-columns:64px 1fr; gap:24px; position:relative; padding-bottom:44px;}
.step-block:last-child{padding-bottom:0;}
.step-block::before{content:""; position:absolute; left:31px; top:60px; bottom:0; width:2.5px; background:repeating-linear-gradient(to bottom, var(--ink) 0 6px, transparent 6px 12px);}
.step-block:last-child::before{display:none;}
.step-circle{width:64px; height:64px; border-radius:16px; border:2.5px solid var(--ink); background:var(--lime); display:flex; align-items:center; justify-content:center; font-family:'JetBrains Mono', monospace; font-weight:700; font-size:20px; box-shadow:var(--shadow-c-sm); flex-shrink:0;}
.step-block:nth-child(4n+2) .step-circle{background:var(--coral); color:#fff;}
.step-block:nth-child(4n+3) .step-circle{background:var(--sky); color:#fff;}
.step-block:nth-child(4n+4) .step-circle{background:var(--violet); color:#fff;}
.step-content{background:var(--paper); border:2.5px solid var(--ink); border-radius:16px; padding:22px 24px; box-shadow:var(--shadow-c-sm);}
.step-content h3{font-size:19px; margin-bottom:8px;}
.step-content p{color:var(--slate); font-size:14.5px; font-weight:500; line-height:1.65;}
.step-content ul{margin-top:12px; display:flex; flex-direction:column; gap:6px;}
.step-content ul li{font-size:13.5px; font-weight:600; display:flex; gap:8px; align-items:flex-start;}
.step-content ul li::before{content:"→"; color:var(--violet); flex-shrink:0;}

.included{background:var(--coral-tint); border-top:2.5px solid var(--ink); border-bottom:2.5px solid var(--ink);}
.included-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; max-width:820px; margin:0 auto;}
.included-grid li{display:flex; align-items:flex-start; gap:10px; font-size:14.5px; font-weight:600; background:var(--paper); border:2px solid var(--ink); border-radius:12px; padding:14px 16px;}
.included-grid li::before{content:"✓"; flex-shrink:0; width:22px; height:22px; border-radius:6px; background:var(--lime); border:2px solid var(--ink); display:flex; align-items:center; justify-content:center; font-size:12px;}

.who-for{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:900px; margin:0 auto;}
.who-card{background:var(--paper); border:2.5px solid var(--ink); border-radius:16px; padding:22px; box-shadow:var(--shadow-c-sm); text-align:center;}
.who-card .emoji{font-size:28px; margin-bottom:10px;}
.who-card h3{font-size:16px; margin-bottom:6px;}
.who-card p{font-size:13px; color:var(--slate); font-weight:500;}

.related-services{background:var(--paper);}
.related-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.related-card{border:2.5px solid var(--ink); border-radius:14px; padding:20px; background:var(--violet-tint); font-weight:700; font-size:14.5px; display:flex; align-items:center; justify-content:space-between; gap:10px; transition:transform .15s ease, box-shadow .15s ease; box-shadow:var(--shadow-c-sm);}
.related-card:hover{transform:translate(-3px,-3px); box-shadow:8px 8px 0 var(--ink);}

.service-card-link{display:inline-flex; align-items:center; gap:6px; margin-top:14px; font-size:13.5px; font-weight:700; color:var(--violet);}
.service-card-link:hover{text-decoration:underline;}

@media (max-width: 860px){
  .page-hero h1{font-size:30px;}
  .page-hero-stats{gap:18px;}
  .included-grid{grid-template-columns:1fr;}
  .who-for{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr;}
  .step-block{grid-template-columns:48px 1fr; gap:16px;}
  .step-circle{width:48px; height:48px; font-size:15px; border-radius:12px;}
  .step-block::before{left:23px; top:48px;}
}

/* =========================================================
   Free audit popup modal
   ========================================================= */
.modal-overlay{
  position:fixed; inset:0; z-index:500; display:none;
  align-items:center; justify-content:center;
  background:rgba(22,18,31,0.62); padding:20px;
  opacity:0; transition:opacity .18s ease;
}
.modal-overlay.open{display:flex;}
.modal-overlay.show{opacity:1;}
.modal-box{
  position:relative; width:100%; max-width:460px; max-height:90vh; overflow-y:auto;
  background:var(--paper); border:2.5px solid var(--ink); border-radius:20px;
  padding:32px 30px; box-shadow:var(--shadow-c);
  transform:translateY(14px) scale(.98); opacity:0; transition:transform .2s ease, opacity .2s ease;
}
.modal-overlay.show .modal-box{transform:translateY(0) scale(1); opacity:1;}
.modal-box h3{font-size:24px; margin:14px 0 6px;}
.modal-box > p{color:var(--slate); font-size:14.5px; font-weight:500; margin-bottom:20px;}
.modal-box form{background:none; border:none; box-shadow:none; padding:0; gap:14px;}
.modal-close{
  position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:10px;
  border:2px solid var(--ink); background:var(--paper); font-size:18px; line-height:1;
  cursor:pointer; display:flex; align-items:center; justify-content:center; font-weight:700;
}
.modal-close:hover{background:var(--coral); color:#fff;}
body.modal-open{overflow:hidden;}

@media (max-width:480px){
  .modal-box{padding:26px 20px;}
  .modal-box h3{font-size:20px;}
}

/* =========================================================
   Blog
   ========================================================= */
.blog-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.blog-card{background:var(--paper); border:2.5px solid var(--ink); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-c-sm); transition:transform .15s ease, box-shadow .15s ease; display:flex; flex-direction:column;}
.blog-card:hover{transform:translate(-3px,-3px); box-shadow:8px 8px 0 var(--ink);}
.blog-card-top{padding:26px 24px 18px; border-bottom:2.5px solid var(--ink); display:flex; align-items:center; justify-content:center; font-size:34px; height:96px;}
.blog-card:nth-child(6n+1) .blog-card-top{background:var(--lime);}
.blog-card:nth-child(6n+2) .blog-card-top{background:var(--coral-tint);}
.blog-card:nth-child(6n+3) .blog-card-top{background:var(--sky); }
.blog-card:nth-child(6n+4) .blog-card-top{background:var(--violet-tint);}
.blog-card:nth-child(6n+5) .blog-card-top{background:var(--lime);}
.blog-card:nth-child(6n+6) .blog-card-top{background:var(--coral-tint);}
.blog-card-body{padding:22px 24px 26px; display:flex; flex-direction:column; flex-grow:1;}
.blog-meta{font-family:'JetBrains Mono', monospace; font-size:11.5px; font-weight:700; color:var(--slate); text-transform:uppercase; letter-spacing:.04em; margin-bottom:10px;}
.blog-card h3{font-size:18px; line-height:1.3; margin-bottom:10px;}
.blog-card p{font-size:13.5px; color:var(--slate); font-weight:500; flex-grow:1; margin-bottom:16px;}
.blog-card .service-card-link{margin-top:0;}

.article-header{padding:52px 0 40px; background:var(--violet-tint); border-bottom:2.5px solid var(--ink);}
.article-header .wrap{max-width:760px;}
.article-header h1{font-size:38px; line-height:1.15; margin:16px 0 18px;}
.article-meta-row{display:flex; align-items:center; gap:14px; flex-wrap:wrap; font-family:'JetBrains Mono', monospace; font-size:12.5px; font-weight:600; color:var(--slate);}
.article-meta-row .dot-sep{width:4px; height:4px; border-radius:50%; background:var(--slate);}

.article-body{max-width:720px; margin:0 auto; padding:64px 32px;}
.article-body h2{font-size:26px; margin:40px 0 16px; line-height:1.25;}
.article-body h2:first-child{margin-top:0;}
.article-body h3{font-size:19px; margin:28px 0 12px;}
.article-body p{font-size:16px; line-height:1.75; color:var(--ink); opacity:.85; margin-bottom:18px; font-weight:450;}
.article-body ul, .article-body ol{margin:0 0 20px; padding-left:22px;}
.article-body li{font-size:15.5px; line-height:1.7; color:var(--ink); opacity:.85; margin-bottom:8px;}
.article-body strong{opacity:1; font-weight:700;}
.article-body a{color:var(--violet); font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.article-callout{background:var(--violet-tint); border:2.5px solid var(--ink); border-radius:16px; padding:24px 26px; margin:32px 0; box-shadow:var(--shadow-c-sm);}
.article-callout p{margin-bottom:14px;}
.article-callout p:last-child{margin-bottom:0;}
.article-table-wrap{overflow-x:auto; margin:24px 0; border:2.5px solid var(--ink); border-radius:14px;}
.article-table-wrap table{width:100%; border-collapse:collapse; font-size:14px;}
.article-table-wrap th{background:var(--ink); color:#fff; text-align:left; padding:12px 16px; font-family:'JetBrains Mono', monospace; font-size:12px; text-transform:uppercase;}
.article-table-wrap td{padding:12px 16px; border-top:1px solid rgba(22,18,31,.12);}
.article-share{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding-top:28px; margin-top:36px; border-top:2px dashed var(--ink);}
.article-tags{display:flex; gap:8px; flex-wrap:wrap;}
.article-tags span{font-family:'JetBrains Mono', monospace; font-size:11.5px; font-weight:700; border:2px solid var(--ink); padding:5px 12px; border-radius:16px; background:var(--lime);}

@media (max-width:860px){
  .blog-grid{grid-template-columns:1fr;}
  .article-header h1{font-size:28px;}
  .article-body{padding:44px 20px;}
  .article-body h2{font-size:22px;}
}
