/* ==========================================================================
   STRICT UNIVERSAL CONTAINER, ARTICLE & TEXT EDGE PADDING (ZERO EDGE TOUCHING)
   ========================================================================== */

/* 1. Viewport & Universal Box-Sizing */
*, *::before, *::after {
  box-sizing: border-box !important;
}

html, body {
  overflow-x: hidden !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Global Containers & Section Gutters */
.container,
[class*="container"] {
  width: 100% !important;
  max-width: 1320px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(1.5rem, 4vw, 3rem) !important;
  padding-right: clamp(1.5rem, 4vw, 3rem) !important;
  box-sizing: border-box !important;
}

/* Sections vertical and horizontal breathing room */
section, 
main > div > div.relative,
main > div > section,
.section-spacing {
  padding-top: clamp(3.5rem, 6vw, 6.5rem) !important;
  padding-bottom: clamp(3.5rem, 6vw, 6.5rem) !important;
  padding-left: clamp(1.25rem, 3.5vw, 2.5rem) !important;
  padding-right: clamp(1.25rem, 3.5vw, 2.5rem) !important;
  box-sizing: border-box !important;
}

/* Top clearance for floating navigation */
.main-content-wrapper {
  padding-top: clamp(96px, 10vw, 116px) !important;
}

/* Hero section specific padding */
main > div > div:first-child {
  padding-top: clamp(2rem, 4vw, 3.5rem) !important;
  padding-bottom: clamp(3rem, 5vw, 5rem) !important;
  padding-left: clamp(1.5rem, 4vw, 3rem) !important;
  padding-right: clamp(1.5rem, 4vw, 3rem) !important;
  box-sizing: border-box !important;
}

/* 3. Disallow all negative margins that pull text or boxes outside boundaries */
[class*="-mx-"], [class*="-ml-"], [class*="-mr-"] {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* 4. Grid Columns and Flex Child Text Containers */
[class*="col-span-"],
.grid > div {
  box-sizing: border-box !important;
  padding-left: clamp(0.5rem, 1.25vw, 1.25rem) !important;
  padding-right: clamp(0.5rem, 1.25vw, 1.25rem) !important;
}

/* 5. ALL CARD & ARTICLE CONTAINERS (Generous Internal Safe Zone) */
article,
article.group,
article[class*="rounded-"],
div.rounded-xl.border, 
div.rounded-2xl.border, 
div.rounded-3xl.border,
div[class*="rounded-xl"][class*="border"],
div[class*="rounded-2xl"][class*="border"],
div[class*="rounded-3xl"][class*="border"],
div[class*="border-2"][class*="border-[#444444]"],
article[class*="border-2"][class*="border-[#444444]"],
div[class*="bg-[#1a1a1a]"],
div[class*="bg-[#141414]"],
div[class*="bg-[linear-gradient"],
div[class*="benefit-module"] {
  padding: clamp(2rem, 3.5vw, 2.75rem) !important;
  box-sizing: border-box !important;
}

/* Watermark background numbers positioned safely inside card */
article > span.pointer-events-none.absolute,
div[class*="rounded-"] > span.pointer-events-none.absolute {
  top: 0.75rem !important;
  left: 1.75rem !important;
}

/* Inner card text content */
article > div.relative,
div[class*="rounded-"] > div.relative {
  padding-left: 0.25rem !important;
  padding-right: 0.25rem !important;
}

/* 6. COMPACT PILL BADGES & TAGS */
.rounded-full,
span[class*="rounded-full"],
div[class*="rounded-full"],
span[class*="border-[#C380FE]"],
span[class*="border-[#7724C1]"],
div[class*="border-[#7724C1]"],
div[class*="bg-[#7824c12c]"],
article .rounded-full,
div[class*="rounded-"] .rounded-full {
  padding: 0.35rem 0.85rem !important;
  width: fit-content !important;
  max-width: fit-content !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1.2 !important;
  font-size: 0.75rem !important;
  border-radius: 9999px !important;
  box-sizing: border-box !important;
}

/* Specific buttons retain button padding */
button.rounded-full,
a.rounded-full,
.btn-sweep {
  padding: 0.75rem 1.5rem !important;
  font-size: 0.9375rem !important;
  width: auto !important;
}

/* Impact stats cards */
.impact-card {
  padding: clamp(2.25rem, 4vw, 3.75rem) clamp(1.75rem, 3vw, 2.5rem) !important;
  margin-bottom: 1rem !important;
}

/* 7. Grid & Column Gaps */
.grid {
  gap: clamp(1.5rem, 3vw, 2.5rem) !important;
}

/* 8. Text Elements Safety (Zero Text Touching Edges) */
h1, h2, h3, h4, h5, h6, p, span, a, li, dt, dd, label, blockquote {
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
}

h1 {
  line-height: 1.22 !important;
  letter-spacing: -0.02em;
  margin-bottom: clamp(1rem, 2vw, 1.75rem) !important;
}

h2 {
  line-height: 1.25 !important;
  letter-spacing: -0.015em;
  margin-top: 0.5rem;
  margin-bottom: clamp(0.875rem, 1.5vw, 1.5rem) !important;
}

h3 {
  line-height: 1.3 !important;
  margin-bottom: 0.75rem !important;
}

p, .font-britanicaRegular {
  line-height: 1.75 !important;
}

/* Section Subtitles / Description text blocks */
.section-desc, 
h2 + div, 
h2 + p,
.font-britanicaRegular.leading-relaxed,
.font-britanicaRegular.font-regular.text-white {
  margin-top: 0.75rem !important;
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem) !important;
  line-height: 1.8 !important;
}

/* Section Badges Margin */
div[class*="border-[#7724C1]"],
div[class*="bg-[#7824c12c]"] {
  margin-bottom: 1rem !important;
}

/* 9. Form Fields & Interactive Elements Padding */
input, select, textarea {
  padding: 0.75rem 1.125rem !important;
  border-radius: 0.75rem !important;
  box-sizing: border-box !important;
}

form > div {
  margin-bottom: 1rem !important;
}

/* 10. Tables & Breakdown Containers */
table {
  border-collapse: separate !important;
  border-spacing: 0 !important;
  width: 100% !important;
}

table td, table th {
  padding: 0.875rem 1.25rem !important;
}

.roi-calculator-container .rounded-2xl {
  padding: clamp(1.75rem, 3.5vw, 3rem) !important;
}

/* 11. FAQ Accordions Padding */
.faq-accordion-trigger {
  padding: 1.125rem 1.5rem !important;
  cursor: pointer !important;
  user-select: none;
}
.faq-accordion-trigger svg {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
div[class*="transition-[grid-template-rows]"],
.faq-answer-grid {
  display: grid !important;
  transition: grid-template-rows 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.grid-rows-\\[0fr\\] {
  grid-template-rows: 0fr !important;
}
.grid-rows-\\[1fr\\] {
  grid-template-rows: 1fr !important;
}

.faq-accordion-trigger + div > div > div {
  padding: 0.5rem 1.5rem 1.5rem 1.5rem !important;
}

/* 12. Footer Spacing */
footer {
  padding-top: clamp(4.5rem, 7vw, 7rem) !important;
  padding-bottom: clamp(3rem, 4.5vw, 4.5rem) !important;
}

footer .grid {
  gap: clamp(2rem, 3.5vw, 3.5rem) !important;
}
