
/* ============================================================
   Critical GREEN — Modern Global Experience Theme v16.1
   Visual language derived from the CG AI Engineer interface.
   This layer preserves existing page architecture and content.
   ============================================================ */

:root{
  --cg-modern-bg:#f4f8f5;
  --cg-modern-surface:#ffffff;
  --cg-modern-surface-2:#eef6f1;
  --cg-modern-ink:#10271a;
  --cg-modern-body:#53665b;
  --cg-modern-muted:#7b8b82;
  --cg-modern-line:#dce8e0;
  --cg-modern-deep:#06130b;
  --cg-modern-deep-2:#0a2113;
  --cg-modern-green:#28c76f;
  --cg-modern-green-2:#4ade80;
  --cg-modern-green-dark:#155d32;
  --cg-modern-glow:rgba(40,199,111,.16);
  --cg-modern-shadow:0 18px 55px rgba(12,49,27,.09);
  --cg-modern-shadow-lg:0 28px 90px rgba(7,34,18,.13);
  --cg-modern-radius:18px;
  --cg-modern-radius-sm:12px;
  --cg-modern-transition:.25s cubic-bezier(.2,.7,.2,1);
}

/* Typography */
body{
  background:var(--cg-modern-bg);
  color:var(--cg-modern-body);
  font-family:"DM Sans",system-ui,sans-serif;
  letter-spacing:-.005em;
}
h1,h2,h3,h4,h5,h6,
.nav-link,.util-link,.util-btn,.btn,.label,
.prod-card,.flow-step,.faq-q,.cta-citem{
  font-family:"Manrope",system-ui,sans-serif;
}
p{color:var(--cg-modern-body)}
.container{max-width:1320px}

/* Subtle page atmosphere */
main{
  background:
    radial-gradient(circle at 92% 3%,rgba(40,199,111,.045),transparent 22%),
    radial-gradient(circle at 4% 28%,rgba(40,199,111,.025),transparent 24%);
}

/* Utility bar */
.util-bar{
  background:linear-gradient(90deg,#06130b,#0a2113 55%,#07170d);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.util-inner{max-width:1320px}
.util-item,.util-link{font-size:.7rem;letter-spacing:.01em}

/* Main navigation: premium glass/solid hybrid */
.nav{
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(16,39,26,.08);
}
.nav.scrolled{
  box-shadow:0 10px 35px rgba(8,35,19,.09);
}
.nav-inner{max-width:1320px}
.nav-logo img{height:42px}
.nav-link{
  border-radius:10px;
  padding:.58rem .78rem;
  color:#4c5e53;
}
.nav-link:hover,.nav-link.active{
  color:var(--cg-modern-green-dark);
  background:#edf8f1;
}

/* Buttons */
.btn,
.util-btn{
  border-radius:12px;
  transition:transform var(--cg-modern-transition),box-shadow var(--cg-modern-transition),background var(--cg-modern-transition),border-color var(--cg-modern-transition);
}
.btn:hover,.util-btn:hover{
  transform:translateY(-1px);
}
.btn-primary,
.util-btn-consult{
  background:linear-gradient(135deg,#28c76f,#20b863);
  border-color:#28c76f;
  box-shadow:0 10px 25px rgba(40,199,111,.18);
}
.btn-primary:hover,.util-btn-consult:hover{
  background:linear-gradient(135deg,#4ade80,#28c76f);
  box-shadow:0 14px 32px rgba(40,199,111,.25);
}
.btn-outline,.btn-green-outline{
  border-color:#bcd8c7;
  background:rgba(255,255,255,.7);
  color:#176536;
}
.btn-outline:hover,.btn-green-outline:hover{
  background:#edf8f1;
  border-color:#70c98d;
}

/* Generic section rhythm */
section{
  position:relative;
}
section:not(.hero):not(.page-hero){
  scroll-margin-top:110px;
}

/* Common hero/page headers */
.hero,
.page-hero,
.inner-hero,
.industry-hero,
.product-hero{
  position:relative;
  overflow:hidden;
}
.hero:before,
.page-hero:before,
.inner-hero:before,
.industry-hero:before,
.product-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 78% 35%,rgba(74,222,128,.14),transparent 28%),
    radial-gradient(circle at 18% 85%,rgba(34,197,94,.07),transparent 25%);
}

/* Cards */
.prod-card,
.mcard,
.feature-card,
.service-card,
.industry-card,
.project-card,
.blog-card,
.info-card,
.tech-card,
.card,
.faq-item,
.flow-step,
.cta-citem{
  border-radius:var(--cg-modern-radius);
  border-color:var(--cg-modern-line);
  transition:transform var(--cg-modern-transition),box-shadow var(--cg-modern-transition),border-color var(--cg-modern-transition);
}
.prod-card:hover,
.mcard:hover,
.feature-card:hover,
.service-card:hover,
.industry-card:hover,
.project-card:hover,
.blog-card:hover,
.info-card:hover,
.tech-card:hover,
.card:hover{
  transform:translateY(-5px);
  box-shadow:var(--cg-modern-shadow);
  border-color:rgba(40,199,111,.38);
}

/* Product imagery */
.prod-img img,
.gthumb img{
  transition:transform .5s cubic-bezier(.2,.7,.2,1);
}
.prod-card:hover .prod-img img,
.gthumb:hover img{
  transform:scale(1.035);
}

/* Pills / labels */
.label{
  letter-spacing:.14em;
  color:#21824a;
}
.pill{
  border-radius:100px;
  background:#e9f7ee;
  border-color:#cbe8d6;
  color:#176536;
}

/* Forms */
input,textarea,select{
  border-radius:12px !important;
  border:1px solid #d5e4da !important;
  background:rgba(255,255,255,.94) !important;
  transition:border-color var(--cg-modern-transition),box-shadow var(--cg-modern-transition);
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:#56c981 !important;
  box-shadow:0 0 0 4px rgba(40,199,111,.10) !important;
}

/* FAQ */
.faq-item{
  background:rgba(255,255,255,.82);
  box-shadow:0 4px 20px rgba(12,49,27,.035);
  overflow:hidden;
}
.faq-q{
  min-height:62px;
}
.faq-item:hover{border-color:#b8dec5}

/* Tables */
table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border:1px solid var(--cg-modern-line);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 30px rgba(12,49,27,.045);
}
th{
  background:#0a2113 !important;
  color:#eafff0 !important;
  font-family:"Manrope",system-ui,sans-serif;
}
td,th{border-color:#e4eee8 !important}

/* CTA bands */
.cta,
.cta-section,
.contact-cta{
  background:
    radial-gradient(circle at 80% 20%,rgba(74,222,128,.16),transparent 25%),
    linear-gradient(135deg,#06130b,#0b2816 60%,#10371e);
  color:#effff4;
  border-top:1px solid rgba(110,231,161,.08);
  border-bottom:1px solid rgba(110,231,161,.08);
}
.cta h2,.cta h3,.cta-section h2,.cta-section h3,.contact-cta h2,.contact-cta h3{
  color:#f5fff8;
}
.cta p,.cta-section p,.contact-cta p{color:#a9c4b3}

/* Footer */
.footer{
  background:linear-gradient(180deg,#07150d,#04100a);
  border-top:1px solid rgba(110,231,161,.08);
}
.footer h3,.footer h4{color:#eafff0}
.footer p,.footer a,.footer-contact-item{color:#91aa9a}
.footer a:hover{color:#5ee794}

/* Search / login overlays */
.search-overlay{
  background:rgba(4,16,10,.82) !important;
  backdrop-filter:blur(14px);
}
.search-box,
.util-login-dropdown{
  border-radius:18px !important;
  box-shadow:var(--cg-modern-shadow-lg) !important;
  border-color:#d9e8df !important;
}

/* Existing AI floating assistant */
.ai-panel{
  border-radius:20px !important;
  box-shadow:0 25px 80px rgba(5,28,14,.22) !important;
  border:1px solid rgba(40,199,111,.18) !important;
}
.ai-panel-header{
  background:linear-gradient(135deg,#081a10,#0c2b17) !important;
}
.ai-send-btn{
  background:#28c76f !important;
}

/* Images and separators */
.sep{background:#dce8e0}
hr{border:0;border-top:1px solid #dce8e0}

/* Mobile polish */
@media(max-width:820px){
  .container{padding-left:1.1rem;padding-right:1.1rem}
  .nav-inner{padding:0 1rem}
  .nav-logo img{height:37px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}
