/* Modern look layer - keeps content, modernizes layout */
:root{
  --brand-a:#2563eb;
  --brand-b:#7c3aed;
  --ink:#0f172a;
  --muted:#475569;
  --card:#ffffff;
  --line:rgba(15,23,42,.10);
}
/* Typography */
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;}
body{overflow-x:hidden;}
h1,h2,h3{letter-spacing:-.02em;}
/* Header: sticky + blur */
.main-header{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.78)!important;
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);
}
.main-header.transparent{background:rgba(255,255,255,.28)!important;}
.main-header .header-inner{padding-top:.75rem;padding-bottom:.75rem;}

/* Preloader: hard-disable (prevents "SMART INNOV" from leaking into the layout) */
#preloader{display:none!important;}

@keyframes spin{to{transform:rotate(360deg);}}
/* Buttons */
.btn{border-radius:14px;}
.btn-primary{background:linear-gradient(135deg,var(--brand-a),var(--brand-b));border:none;}
.btn-outline{border:1px solid rgba(15,23,42,.18);}
.btn-white{background:#fff;color:var(--ink);}
.btn-outline-white{border:1px solid rgba(255,255,255,.5);color:#fff;}
/* Sections */
.tw-section{padding:4rem 0;}
@media (min-width:1024px){.tw-section{padding:5.5rem 0;}}
.tw-container{max-width:1200px;margin:0 auto;padding:0 1.25rem;}
@media (min-width:640px){.tw-container{padding:0 1.5rem;}}
/* Cards */
.tw-card{
  background:var(--card);
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 10px 30px rgba(2,6,23,.06);
}
.tw-card:hover{box-shadow:0 14px 38px rgba(2,6,23,.10);transform:translateY(-2px);transition:.2s ease;}
/* Hero */

/* One source of truth for page rhythm */
:root{--page-max:1200px;--page-pad:clamp(16px,3vw,32px);} 
body{overflow-x:hidden;}

/* Containers: force consistent max-width + padding (legacy + Tailwind wrappers) */
.tw-container,
body .container{
  max-width:var(--page-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:var(--page-pad)!important;
  padding-right:var(--page-pad)!important;
  box-sizing:border-box;
}
body .container-fluid{
  padding-left:var(--page-pad)!important;
  padding-right:var(--page-pad)!important;
  box-sizing:border-box;
}

/* Constrain hero to page rhythm (works for both new and legacy hero blocks) */
.tw-hero,
.hero,
.solution-hero,
.page-hero,
.page-banner,
.breadcrumb-area{
  max-width:var(--page-max)!important;
  /* Ensure visible side margins even when parent has no padding */
  width:calc(100% - (var(--page-pad) * 2))!important;
  margin:1.25rem auto 0!important;
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:0 20px 55px rgba(2,6,23,.20)!important;
}

/* Hero sizing (prevents over-tall / awkward crops) */
.tw-hero,.hero,.solution-hero,.page-hero,.page-banner,.breadcrumb-area{min-height:460px!important;}
@media (max-width:640px){.tw-hero,.hero,.solution-hero,.page-hero,.page-banner,.breadcrumb-area{min-height:380px!important;}}
.tw-hero-bg img,
.solution-hero-bg img,
.hero-image img,
.page-hero img,
.page-banner img,
.breadcrumb-area img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

/* Ensure hero content has safe side padding even when not wrapped by .tw-container */
.tw-hero-content,
.hero-content,
.solution-hero-content,
.breadcrumb-content,
.page-hero .content,
.page-banner .content{
  padding-left:var(--page-pad)!important;
  padding-right:var(--page-pad)!important;
}
.tw-hero-content,.hero-content,.solution-hero-content,.breadcrumb-content,.page-hero .content,.page-banner .content{box-sizing:border-box;}
.tw-hero-bg img{object-position:center;}
.tw-hero-content{padding-top:4.25rem!important;padding-bottom:4.25rem!important;padding-left:var(--page-pad)!important;padding-right:var(--page-pad)!important;}
@media (min-width:1024px){.tw-hero-content{padding-top:5rem!important;padding-bottom:5rem!important;padding-left:var(--page-pad)!important;padding-right:var(--page-pad)!important;}}

.tw-hero{position:relative;overflow:hidden;}
.tw-hero-bg{position:absolute;inset:0;}
.tw-hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.02);}
.tw-hero-overlay{
  position:absolute;inset:0;
  background:
    radial-gradient(1000px 500px at 15% 25%, rgba(37,99,235,.55), rgba(37,99,235,0) 60%),
    radial-gradient(900px 500px at 80% 30%, rgba(124,58,237,.55), rgba(124,58,237,0) 55%),
    linear-gradient(180deg, rgba(2,6,23,.70), rgba(2,6,23,.45) 50%, rgba(2,6,23,.72));
}
.tw-hero-content{position:relative;color:#fff;}

/* Legacy base stylesheet sets headings to dark; force hero typography to remain readable */
.tw-hero h1,.tw-hero h2,.tw-hero h3,.tw-hero p,.tw-hero .tw-prose{color:#fff!important;}
.tw-hero p{opacity:.92;}

/* Header nav contrast (home/transparent header was rendering links too light) */
.main-header .nav-list a{color:var(--ink)!important;}
.main-header .nav-list a:hover{color:var(--brand-a)!important;}
.main-header .nav-list a.active{color:var(--brand-a)!important;}
.main-header.transparent .nav-list a{color:var(--ink)!important;}

/* Contact hero readability + spacing */
.tw-hero{display:flex;align-items:stretch;}
.tw-hero-content{display:flex;align-items:center;}
.tw-hero-panel{background:linear-gradient(180deg,rgba(15,23,42,.55),rgba(15,23,42,.35));backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:clamp(18px,2.5vw,34px)!important;}
.tw-note{border:1px solid rgba(148,163,184,.35);background:linear-gradient(180deg,rgba(248,250,252,.95),rgba(241,245,249,.95));border-radius:18px;padding:14px 16px;}
/* Images: consistent aspect */
.tw-img{border-radius:20px;overflow:hidden;border:1px solid rgba(255,255,255,.18);}
.tw-img img{width:100%;height:100%;object-fit:cover;}
/* Prose */
.tw-prose p{color:var(--muted);line-height:1.75;}
.tw-prose a{color:var(--brand-a);text-decoration:none;}
.tw-prose a:hover{text-decoration:underline;}
/* Footer polish */
.site-footer{border-top:1px solid rgba(255,255,255,.08);}
