/* Arco Info India — base styles */
:root{
  --pink:#E7A1A6;
  --deep:#2E1A47;
  --accent:#5A3A6E;
  --light:#F4EDED;
  --white:#FFFFFF;
}
*{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
html{ scroll-behavior:smooth; }
body{
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  color:var(--deep);
  background:linear-gradient(180deg,#F4EDED 0%,#FFFFFF 60%,#F4EDED 100%);
  min-height:100vh;
  overflow-x:hidden;
}

/* Background floating blobs */
.bg-blobs{ position:fixed; inset:0; z-index:-1; overflow:hidden; pointer-events:none; }
.blob{ position:absolute; border-radius:9999px; filter:blur(80px); opacity:.55; }
.blob-1{ width:520px; height:520px; background:#E7A1A6; top:-120px; left:-120px; animation:float1 14s ease-in-out infinite; }
.blob-2{ width:600px; height:600px; background:#5A3A6E; opacity:.28; bottom:-180px; right:-160px; animation:float2 18s ease-in-out infinite; }
.blob-3{ width:380px; height:380px; background:#E7A1A6; opacity:.25; top:40%; right:20%; animation:float1 20s ease-in-out infinite reverse; }

@keyframes float1{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(40px,30px) scale(1.06); }
}
@keyframes float2{
  0%,100%{ transform:translate(0,0) scale(1); }
  50%{ transform:translate(-50px,-40px) scale(1.08); }
}

/* Glass */
.glass{
  background:rgba(255,255,255,0.55);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
  border:1px solid rgba(231,161,166,0.35);
  box-shadow:0 10px 40px -10px rgba(46,26,71,0.18);
}
.glass-strong{
  background:rgba(255,255,255,0.7);
  backdrop-filter:blur(22px) saturate(160%);
  -webkit-backdrop-filter:blur(22px) saturate(160%);
  border:1px solid rgba(231,161,166,0.4);
  box-shadow:0 20px 60px -20px rgba(46,26,71,0.25);
}

/* Gradient button */
.btn-gradient{
  background:linear-gradient(135deg,#E7A1A6 0%,#5A3A6E 100%);
  color:#fff;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
  box-shadow:0 8px 22px -8px rgba(90,58,110,0.55);
}
.btn-gradient:hover{
  transform:translateY(-2px);
  filter:brightness(1.05);
  box-shadow:0 14px 32px -10px rgba(231,161,166,0.7), 0 8px 22px -6px rgba(90,58,110,0.6);
}
.btn-ghost{
  background:rgba(255,255,255,0.6);
  color:var(--deep);
  border:1px solid rgba(90,58,110,0.25);
  transition:all .25s ease;
}
.btn-ghost:hover{
  background:rgba(255,255,255,0.85);
  border-color:rgba(90,58,110,0.5);
  transform:translateY(-2px);
}

/* Card hover */
.card-hover{ transition:transform .35s ease, box-shadow .35s ease; }
.card-hover:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 50px -18px rgba(231,161,166,0.55), 0 12px 30px -12px rgba(90,58,110,0.35);
}

/* Floating element */
.floaty{ animation:floaty 6s ease-in-out infinite; }
@keyframes floaty{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}

/* Scroll reveal */
.reveal{ opacity:0; transform:translateY(24px); transition:opacity .8s ease, transform .8s ease; }
.reveal.visible{ opacity:1; transform:translateY(0); }

/* Navbar */
.nav-link{
  color:var(--deep);
  font-weight:500;
  position:relative;
  padding:.5rem 0;
  transition:color .2s ease;
}
.nav-link:hover{ color:var(--accent); }
.nav-link.active::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:linear-gradient(90deg,#E7A1A6,#5A3A6E); border-radius:2px;
}

/* Inputs */
.field{
  background:rgba(255,255,255,0.7);
  border:1px solid rgba(90,58,110,0.2);
  border-radius:12px;
  padding:.85rem 1rem;
  width:100%;
  color:var(--deep);
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field:focus{
  outline:none;
  border-color:#5A3A6E;
  background:rgba(255,255,255,0.95);
  box-shadow:0 0 0 4px rgba(231,161,166,0.25);
}

/* WhatsApp */
.wa-btn{
  position:fixed; right:22px; bottom:22px; z-index:60;
  width:58px; height:58px; border-radius:50%;
  background:linear-gradient(135deg,#E7A1A6,#5A3A6E);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 12px 30px -8px rgba(90,58,110,0.55);
  animation:floaty 5s ease-in-out infinite;
  transition:transform .25s ease, box-shadow .25s ease;
}
.wa-btn:hover{ transform:scale(1.08); box-shadow:0 18px 40px -10px rgba(231,161,166,0.7); }
.wa-btn svg{ width:30px; height:30px; fill:#fff; }

/* Mobile menu */
.mobile-menu{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.mobile-menu.open{ max-height:420px; }

/* Section padding helper */
.section{ padding:5rem 0; }
@media (max-width:768px){ .section{ padding:3.5rem 0; } }

/* Headline gradient text */
.text-gradient{
  background:linear-gradient(135deg,#5A3A6E 0%,#E7A1A6 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* Mobile typography & overflow fixes */
h1{ word-break:break-word; }
@media (max-width:640px){
  h1{ font-size:2.25rem !important; line-height:1.1; }
}
.text-gradient{ display:inline; }

/* Hard overflow guard */
html, body { overflow-x:hidden; max-width:100vw; }
img { max-width:100%; height:auto; }

/* Tighter navbar at md breakpoint */
@media (min-width:768px) and (max-width:900px){
  .nav-link{ font-size:.875rem; }
}
.brand-text{ white-space:nowrap; }

/* Prevent mid-word breaks on hero h1 at narrow tablet */
@media (min-width:641px) and (max-width:900px){
  h1{ font-size:2.5rem !important; line-height:1.1; word-break:normal; overflow-wrap:break-word; hyphens:none; }
}
