@import "https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";
/* [project]/landing-aignep/app/globals.css [app-client] (css) */
:root {
  --bg: #f2efe9;
  --bg-soft: #f7f4ee;
  --surface: #ffffffeb;
  --surface-solid: #fff;
  --surface-dark: #111314;
  --surface-dark-2: #171a1c;
  --ink: #111;
  --ink-soft: #44505d;
  --ink-inverse: #f4f4f1;
  --line: #1111111f;
  --line-strong: #11111138;
  --accent: #e42b17;
  --accent-dark: #8f180e;
  --accent-soft: #e42b171f;
  --green-soft: #64a47226;
  --radius-xl: 2rem;
  --radius-lg: 1.5rem;
  --radius-md: 1rem;
  --shadow-xl: 0 40px 90px #00000029;
  --shadow-lg: 0 24px 60px #0000001f;
  --shadow-md: 0 16px 34px #00000014;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  color: var(--ink);
  background: radial-gradient(circle at 0 0, #e42b1714, #0000 30%), radial-gradient(circle at 100% 100%, #1111110a, #0000 36%), linear-gradient(#f7f3ee 0%, #ece8e1 100%);
  margin: 0;
  font-family: IBM Plex Sans, sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button, input, select, textarea {
  font: inherit;
}

.shell {
  width: min(1240px, 100vw - 2rem);
  margin: 0 auto;
}

.aignep-page {
  overflow: clip;
}

.site-topbar {
  padding: 1rem 0 1.2rem;
}

.support-banner {
  z-index: 140;
  color: #fff;
  background: linear-gradient(135deg, #e42b17f7, #7c140cf7);
  border: 1px solid #ffffff2e;
  border-radius: 1.15rem;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: min(64rem, 100vw - 2rem);
  padding: .95rem 1rem;
  animation: .3s ease-out both supportBannerIn;
  display: flex;
  position: fixed;
  top: 1rem;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 22px 50px #6a160f47;
}

.support-banner-copy {
  gap: .2rem;
  display: grid;
}

.support-banner-copy strong {
  text-transform: uppercase;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.4rem;
  line-height: 1;
}

.support-banner-copy span {
  color: #ffffffe6;
  line-height: 1.45;
}

.support-banner-actions {
  align-items: center;
  gap: .65rem;
  display: flex;
}

.support-banner-open, .support-banner-close {
  cursor: pointer;
  border: 0;
}

.support-banner-open {
  color: #fff;
  background: #ffffff26;
  border-radius: 999px;
  min-height: 2.7rem;
  padding: 0 1rem;
  font-weight: 700;
}

.support-banner-close {
  color: #fff;
  background: #ffffff1a;
  border-radius: 999px;
  width: 2.5rem;
  height: 2.5rem;
}

@keyframes supportBannerIn {
  from {
    opacity: 0;
    transform: translateX(-50%)translateY(-12px);
  }

  to {
    opacity: 1;
    transform: translateX(-50%)translateY(0);
  }
}

.topbar-row {
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1rem;
  display: grid;
}

.brand-lockup {
  align-items: center;
  display: inline-flex;
}

.brand-mark {
  width: 12.5rem;
  display: inline-flex;
}

.brand-mark img, .hero-logo-wrap img, .footer-brand img {
  object-fit: contain;
  width: 100% !important;
  height: auto !important;
}

.topbar-nav {
  justify-content: center;
  gap: 1.4rem;
  display: flex;
}

.topbar-nav a {
  color: #111111bd;
  font-size: .94rem;
  font-weight: 600;
}

.topbar-nav a:hover {
  color: var(--ink);
}

.hero-shell {
  padding: 0 0 4rem;
  position: relative;
}

.hero-shell:before {
  content: "";
  pointer-events: none;
  background: linear-gradient(#ffffff73, #0000 34%), radial-gradient(circle at 100% 0, #e42b171f, #0000 28%);
  position: absolute;
  inset: 0;
}

.hero-grid, .consultation-grid, .footer-grid {
  gap: 1.5rem;
  display: grid;
}

.hero-grid {
  grid-template-columns: 1fr 1.02fr;
  align-items: center;
  min-height: calc(100vh - 7rem);
}

.hero-copy {
  z-index: 1;
  position: relative;
}

.eyebrow, .section-kicker {
  color: var(--accent);
  letter-spacing: .22em;
  text-transform: uppercase;
  align-items: center;
  gap: .65rem;
  margin: 0 0 1rem;
  font-size: .84rem;
  font-weight: 700;
  display: inline-flex;
}

.eyebrow:before, .section-kicker:before {
  content: "";
  background: currentColor;
  width: 2.35rem;
  height: 2px;
}

.hero-copy h1, .section-head h2, .reach-copy-card h2, .consultation-copy h2 {
  text-transform: uppercase;
  letter-spacing: .01em;
  margin: 0;
  font-family: Barlow Condensed, sans-serif;
  line-height: .93;
}

.hero-copy h1 {
  max-width: 10.5ch;
  font-size: clamp(3.3rem, 7vw, 6rem);
}

.section-head h2, .reach-copy-card h2, .consultation-copy h2 {
  font-size: clamp(2.35rem, 4.4vw, 4rem);
}

.hero-lead, .section-intro, .reach-copy-card p, .reach-tools-card p, .consultation-copy p, .lead-card p, .product-copy p, .credibility-card p, .footer-copy {
  color: var(--ink-soft);
  line-height: 1.7;
}

.hero-lead {
  max-width: 38rem;
  margin: 1.4rem 0 0;
  font-size: 1.08rem;
}

.hero-help-line {
  color: var(--accent-dark);
  margin: 0 0 1.5rem;
  font-size: .98rem;
  font-weight: 700;
}

.hero-actions {
  flex-wrap: wrap;
  gap: .9rem;
  margin: 2rem 0 1.5rem;
  display: flex;
}

.btn {
  border: 1px solid #0000;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 3.5rem;
  padding: 0 1.5rem;
  font-weight: 700;
  transition: transform .2s, box-shadow .2s, background-color .2s, color .2s;
  display: inline-flex;
}

.btn:hover {
  transform: translateY(-2px);
}

.btn-primary {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: #fff;
  box-shadow: 0 18px 40px #e42b173d;
}

.btn-secondary {
  border-color: var(--line-strong);
  color: var(--ink);
  background: #ffffffc7;
}

.btn-compact {
  min-height: 3rem;
  padding: 0 1.2rem;
}

.hero-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
  max-width: 41rem;
  display: grid;
}

.metric-chip {
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  box-shadow: var(--shadow-md);
  background: #ffffffd6;
  padding: 1rem 1rem .95rem;
}

.metric-chip span {
  color: var(--ink-soft);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .78rem;
  font-weight: 600;
  display: block;
}

.metric-chip strong {
  text-transform: uppercase;
  margin-top: .3rem;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.8rem;
  line-height: 1;
  display: block;
}

.hero-visual {
  grid-template-rows: auto 1fr;
  grid-template-columns: 1.18fr .82fr;
  align-self: stretch;
  gap: 1rem;
  min-height: 40rem;
  display: grid;
}

.hero-main-shot, .hero-secondary-shot, .hero-brand-card, .credibility-card, .product-card, .reach-copy-card, .reach-map-card, .reach-hq-card, .reach-tools-card, .lead-card, .widget-menu, .widget-button, .chat-shell {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
}

.hero-main-shot, .hero-secondary-shot {
  background: var(--surface-solid);
  border: 1px solid #1111111f;
  position: relative;
  overflow: hidden;
}

.hero-main-shot {
  grid-area: 1 / 1 / span 2;
  min-height: 40rem;
}

.hero-secondary-shot {
  grid-area: 2 / 2;
  min-height: 15rem;
}

.hero-brand-card {
  color: var(--ink);
  background: linear-gradient(#e42b1714, #fffffffa 40%);
  border: 1px solid #11111114;
  grid-area: 1 / 2;
  align-self: start;
  padding: 1.2rem;
}

.hero-logo-wrap {
  width: min(15rem, 100%);
}

.hero-brand-pill {
  color: var(--accent-dark);
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #e42b171a;
  border-radius: 999px;
  margin-top: 1rem;
  padding: .5rem .75rem;
  font-size: .74rem;
  font-weight: 700;
  display: inline-flex;
}

.hero-brand-card p {
  color: var(--ink-soft);
  margin: .9rem 0 0;
  line-height: 1.6;
}

.hero-main-shot img, .hero-secondary-shot img, .product-image-wrap img, .reach-map-card img, .reach-hq-card img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.hero-aside-note {
  max-width: 20rem;
  box-shadow: var(--shadow-md);
  background: #ffffffe6;
  border: 1px solid #11111114;
  border-radius: 1.1rem;
  padding: 1rem 1.1rem;
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
}

.hero-aside-note span {
  color: var(--ink-soft);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 700;
  display: block;
}

.hero-aside-note strong {
  text-transform: uppercase;
  margin-top: .45rem;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.45rem;
  line-height: 1;
  display: block;
}

.credibility-section, .reach-section, .support-section, .global-section, .tools-section, .service-section {
  padding: 5.5rem 0;
}

.section-head {
  gap: .8rem;
  margin-bottom: 2rem;
  display: grid;
}

.section-head-compact {
  max-width: 48rem;
}

.section-intro {
  max-width: 42rem;
  margin: 0;
  font-size: 1.04rem;
}

.credibility-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
  display: grid;
}

.support-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
  display: grid;
}

.support-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  background: #ffffffe6;
  padding: 1.5rem;
}

.support-card-tag {
  background: var(--accent-soft);
  min-height: 2rem;
  color: var(--accent-dark);
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: .4rem .7rem;
  font-size: .72rem;
  font-weight: 700;
  display: inline-flex;
}

.support-card h3, .service-card h3 {
  text-transform: uppercase;
  margin: 1rem 0 .75rem;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.9rem;
  line-height: 1;
}

.support-card p, .service-card p {
  color: var(--ink-soft);
  margin: 0;
  line-height: 1.65;
}

.credibility-card {
  border: 1px solid var(--line);
  background: #ffffffe0;
  padding: 1.65rem;
}

.credibility-card h3, .product-copy h3, .reach-tools-card h3, .lead-card h3 {
  text-transform: uppercase;
  margin: 0 0 .75rem;
  font-family: Barlow Condensed, sans-serif;
  font-size: 2rem;
  line-height: 1;
}

.credibility-card p, .product-copy p {
  margin: 0;
}

.products-section {
  color: var(--ink-inverse);
  background: linear-gradient(#0a0b0cfa, #15181bfa);
  padding: 6rem 0;
}

.section-head-inverse h2, .section-head-inverse .section-intro {
  color: #ffffffe6;
}

.product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.product-card {
  color: var(--ink);
  background: #fffffff5;
  border: 1px solid #ffffff1f;
  overflow: hidden;
}

.product-card-link {
  transition: transform .2s, box-shadow .2s;
  display: block;
}

.product-card-link:hover {
  transform: translateY(-4px);
}

.product-image-wrap {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.product-copy {
  gap: .75rem;
  padding: 1.15rem 1.15rem 1.35rem;
  display: grid;
}

.product-enquiries {
  color: var(--ink-soft);
  font-size: .92rem;
  line-height: 1.55;
}

.product-link-line {
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .82rem;
  font-weight: 700;
}

.market-strip {
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
  display: flex;
}

.market-pill {
  color: #ffffffe0;
  background: #ffffff0f;
  border: 1px solid #ffffff29;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 2.7rem;
  padding: .7rem 1rem;
  font-size: .9rem;
  font-weight: 600;
  display: inline-flex;
}

.global-section {
  background: #ffffff6b;
  border-top: 1px solid #1111110f;
  border-bottom: 1px solid #1111110f;
}

.global-grid, .tools-grid {
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  gap: 1.2rem;
  display: grid;
}

.global-copy-card, .global-map-card, .tools-visual-card, .tools-copy-card {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  background: #ffffffe6;
  padding: 1.5rem;
}

.global-copy-card h2, .tools-copy-card h2 {
  text-transform: uppercase;
  margin: 0;
  font-family: Barlow Condensed, sans-serif;
  font-size: clamp(2.25rem, 4.4vw, 4rem);
  line-height: .95;
}

.global-copy-card p, .tools-copy-card p {
  margin: 0;
}

.global-link {
  width: fit-content;
  margin-top: 1.5rem;
}

.global-map-card, .tools-visual-card {
  align-items: center;
  display: flex;
  overflow: hidden;
}

.global-map-card img, .tools-visual-card img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.tools-section {
  background: linear-gradient(#64a47214, #64a47208);
}

.service-section {
  color: var(--ink-inverse);
  background: linear-gradient(#0c0e10fa, #181b1ffa);
}

.service-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.1rem;
  display: grid;
}

.service-card {
  border-radius: var(--radius-lg);
  box-shadow: none;
  background: #ffffff0d;
  border: 1px solid #ffffff1a;
  padding: 1.45rem;
}

.service-card p {
  color: #ffffffb8;
}

.reach-grid {
  grid-template-columns: 1.06fr .94fr;
  grid-template-areas: "copy map"
                       "hq tools";
  gap: 1.2rem;
  display: grid;
}

.reach-copy-card, .reach-map-card, .reach-hq-card, .reach-tools-card {
  border: 1px solid var(--line);
  background: #ffffffe0;
  padding: 1.5rem;
}

.reach-copy-card {
  grid-area: copy;
}

.reach-map-card {
  grid-area: map;
  align-items: center;
  display: flex;
}

.reach-hq-card {
  background: linear-gradient(#64a4721a, #64a4720a), #ffffffeb;
  grid-area: hq;
}

.reach-tools-card {
  grid-area: tools;
}

.reach-copy-card p, .reach-tools-card p {
  margin: 0;
}

.country-list, .tool-list {
  flex-wrap: wrap;
  gap: .75rem;
  margin-top: 1.5rem;
  display: flex;
}

.country-pill, .tool-pill {
  border: 1px solid var(--line);
  background: #ffffffd6;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 2.55rem;
  padding: .65rem 1rem;
  font-size: .92rem;
  font-weight: 700;
  display: inline-flex;
}

.tool-pill {
  background: var(--accent-soft);
  border-color: #e42b172e;
}

a.tool-pill {
  transition: transform .2s, background-color .2s, border-color .2s;
}

a.tool-pill:hover {
  background: #e42b1729;
  border-color: #e42b1747;
  transform: translateY(-2px);
}

.sustainability-section {
  background-color: #daf2b7;
  background-image: linear-gradient(#ffffff6b, #fff0), url("/aignep/sustainability-bg.png");
  background-position: center;
  background-repeat: repeat, repeat;
  background-size: cover;
  background-attachment: scroll, scroll;
  background-origin: padding-box, padding-box;
  background-clip: border-box, border-box;
  padding: 4.25rem 0 2.5rem;
  overflow: hidden;
}

.sustainability-grid {
  grid-template-columns: .9fr 1.1fr;
  align-items: center;
  gap: 1.5rem;
  display: grid;
}

.sustainability-copy {
  color: #143f12;
  padding: 1rem 0 1rem 2rem;
}

.sustainability-copy h3 {
  margin: 0 0 1rem;
  font-family: IBM Plex Sans, sans-serif;
  font-size: clamp(2rem, 3vw, 2.9rem);
  line-height: 1;
}

.sustainability-copy p {
  color: #143f12f0;
  max-width: 34rem;
  margin: 0 0 1rem;
  font-size: 1.05rem;
  line-height: 1.62;
}

.sustainability-link {
  color: #fff;
  letter-spacing: .05em;
  text-transform: uppercase;
  background: #474646;
  justify-content: center;
  align-items: center;
  min-height: 2.55rem;
  margin-top: .4rem;
  padding: 0 .95rem;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  display: inline-flex;
}

.sustainability-visual {
  justify-content: flex-end;
  align-items: flex-end;
  display: flex;
}

.sustainability-visual img {
  width: min(100%, 48rem);
  height: auto;
}

.consultation-section {
  padding: 5.5rem 0;
}

.consultation-grid {
  grid-template-columns: 1fr minmax(24rem, 35rem);
  align-items: start;
}

.consultation-copy {
  border-radius: calc(var(--radius-lg)  + .25rem);
  color: var(--ink-inverse);
  box-shadow: var(--shadow-xl);
  background: linear-gradient(145deg, #0f1012fa, #1b1d20f5);
  padding: 1.8rem;
}

.consultation-copy p {
  color: #ffffffb8;
  margin: 0;
}

.consultation-points {
  gap: .9rem;
  margin-top: 1.5rem;
  display: grid;
}

.consultation-point {
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 1rem;
  gap: .35rem;
  padding: 1rem 1rem .95rem;
  display: grid;
}

.consultation-point strong {
  text-transform: uppercase;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.35rem;
  line-height: 1;
}

.consultation-point span {
  color: #ffffffb3;
  line-height: 1.55;
}

.lead-card {
  border: 1px solid var(--line);
  background: #fffffff2;
  align-self: start;
  padding: 1.5rem;
}

.lead-card h3 {
  margin-bottom: .5rem;
}

.lead-card p {
  margin: 0 0 1.35rem;
}

.lead-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .95rem;
  display: grid;
}

.lead-grid .full {
  grid-column: 1 / -1;
}

.field {
  gap: .45rem;
  display: grid;
}

.field label {
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .84rem;
  font-weight: 700;
}

.field input, .field select, .field textarea {
  width: 100%;
  color: var(--ink);
  background: #faf9f6;
  border: 1px solid #11111129;
  border-radius: 1rem;
  padding: .95rem 1rem;
  transition: border-color .18s, box-shadow .18s;
}

.field textarea {
  resize: vertical;
  min-height: 7.5rem;
}

.field input:focus, .field select:focus, .field textarea:focus, .chat-input input:focus {
  border-color: #e42b1761;
  outline: none;
  box-shadow: 0 0 0 4px #e42b171a;
}

.consent-row {
  color: var(--ink-soft);
  align-items: flex-start;
  gap: .75rem;
  margin-top: 1rem;
  font-size: .92rem;
  line-height: 1.55;
  display: flex;
}

.consent-row input {
  margin-top: .18rem;
}

.lead-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: .9rem;
  margin-top: 1.25rem;
  display: flex;
}

.lead-status {
  min-height: 1.4rem;
  color: var(--ink-soft);
  font-size: .95rem;
}

.lead-status.success {
  color: #1f6d33;
}

.lead-status.error {
  color: #9a1812;
}

.site-footer {
  background: #101214;
  padding: 3rem 0 1.6rem;
}

.footer-main {
  grid-template-columns: minmax(14rem, 20rem) 1fr;
  align-items: start;
  gap: 2rem;
  display: grid;
}

.footer-intro {
  gap: 1rem;
  display: grid;
}

.footer-brand {
  background: #fff;
  border-radius: 999px;
  align-items: center;
  width: 12rem;
  padding: .7rem 1rem;
  display: inline-flex;
}

.footer-copy {
  color: #ffffffb3;
  margin: 0;
}

.footer-columns {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.2rem;
  display: grid;
}

.footer-column {
  gap: .55rem;
  display: grid;
}

.footer-column strong {
  color: #fff;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: .2rem;
  font-size: .82rem;
}

.footer-column a, .footer-legal-links a {
  color: #ffffffb8;
  transition: color .2s;
}

.footer-column a:hover, .footer-legal-links a:hover {
  color: #fff;
}

.footer-meta {
  border-top: 1px solid #ffffff1a;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.1rem;
  display: flex;
}

.footer-meta p {
  color: #ffffff9e;
  margin: 0;
}

.footer-legal-links {
  flex-wrap: wrap;
  gap: .85rem;
  display: flex;
}

.widget-stack {
  z-index: 80;
  flex-direction: column;
  align-items: flex-end;
  gap: .9rem;
  display: flex;
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
}

.widget-menu {
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
  background: #fffffff5;
  border: 1px solid #1111111f;
  width: min(18.5rem, 100vw - 2rem);
  padding: 1rem;
}

.widget-menu p {
  color: var(--ink-soft);
  margin: 0 0 .8rem;
  font-size: .92rem;
  line-height: 1.55;
}

.widget-menu button, .widget-menu a {
  width: 100%;
}

.widget-menu-links {
  gap: .65rem;
  display: grid;
}

.widget-button {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: #fff;
  cursor: pointer;
  border: none;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 4.2rem;
  height: 4.2rem;
  padding: 0 1.35rem;
  font-weight: 700;
  display: inline-flex;
  position: relative;
}

.widget-button:before, .widget-button:after {
  content: "";
  border-radius: inherit;
  border: 1px solid #e42b1747;
  animation: 2.8s ease-out infinite widgetPulse;
  position: absolute;
  inset: -.25rem;
}

.widget-button:after {
  animation-delay: 1.4s;
}

@keyframes widgetPulse {
  0% {
    opacity: .58;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(1.34);
  }
}

.chat-overlay {
  z-index: 120;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  background: #02061794;
  border: none;
  position: fixed;
  inset: 0;
}

.chat-shell {
  z-index: 121;
  background: #fff;
  border: 1px solid #dce1ea;
  border-radius: 1.1rem 1.1rem 0 0;
  flex-direction: column;
  width: 100%;
  height: 82vh;
  max-height: 82vh;
  display: flex;
  position: fixed;
  bottom: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 24px 55px #0206174d;
}

.chat-header {
  color: #fff;
  background: #101214;
  justify-content: space-between;
  align-items: center;
  gap: .9rem;
  padding: .9rem 1rem;
  display: flex;
}

.chat-header-title {
  gap: .15rem;
  display: grid;
}

.chat-header-title strong {
  letter-spacing: .03em;
  text-transform: uppercase;
  font-family: Barlow Condensed, sans-serif;
  font-size: 1.45rem;
  line-height: 1;
}

.chat-header-title span {
  color: #ffffffb8;
  font-size: .82rem;
}

.chat-close {
  color: #ffffffbf;
  cursor: pointer;
  background: none;
  border: 0;
  border-radius: .75rem;
  width: 2rem;
  height: 2rem;
}

.chat-close:hover {
  color: #fff;
  background: #ffffff14;
}

.chat-messages {
  background: #f8fafc;
  flex: 1;
  gap: .9rem;
  padding: .95rem;
  display: grid;
  overflow-y: auto;
}

.chat-bubble {
  border-radius: 1rem;
  gap: .35rem;
  max-width: 85%;
  padding: .85rem .95rem;
  line-height: 1.5;
  display: grid;
}

.chat-bubble.agent {
  color: #334155;
  background: #fff;
  border: 1px solid #11111114;
  border-top-left-radius: .35rem;
}

.chat-bubble.user {
  background: linear-gradient(135deg, var(--accent), var(--accent-dark));
  color: #fff;
  border-top-right-radius: .35rem;
  justify-self: end;
}

.chat-time {
  opacity: .7;
  font-size: .7rem;
}

.typing-row {
  background: #fff;
  border-radius: .35rem 1rem 1rem;
  align-items: center;
  gap: .35rem;
  width: fit-content;
  padding: .75rem .9rem;
  display: inline-flex;
  box-shadow: 0 2px 8px #0f172a1a;
}

.typing-row span {
  background: #94a3b8;
  border-radius: 999px;
  width: .45rem;
  height: .45rem;
  animation: 1.05s ease-in-out infinite typingBounce;
}

.typing-row span:nth-child(2) {
  animation-delay: .12s;
}

.typing-row span:nth-child(3) {
  animation-delay: .24s;
}

@keyframes typingBounce {
  0%, 80%, 100% {
    opacity: .55;
    transform: scale(.75);
  }

  40% {
    opacity: 1;
    transform: scale(1);
  }
}

.consent-card {
  background: #fff;
  border: 1px solid #1111111a;
  border-radius: 1rem;
  gap: .8rem;
  padding: .9rem 1rem;
  display: grid;
  box-shadow: 0 2px 8px #0f172a14;
}

.consent-card p {
  color: #334155;
  margin: 0;
  line-height: 1.55;
}

.consent-actions {
  gap: .6rem;
  display: flex;
}

.consent-actions button {
  flex: 1;
}

.btn-tertiary {
  border: 1px solid var(--line-strong);
  color: var(--ink);
  background: none;
}

.chat-input {
  background: #fff;
  border-top: 1px solid #e2e8f0;
  grid-template-columns: 1fr auto;
  gap: .7rem;
  padding: .8rem .9rem;
  display: grid;
}

.chat-input input {
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: .9rem;
  width: 100%;
  padding: .85rem .95rem;
}

.icon-button {
  border-radius: .9rem;
  width: 3rem;
  min-width: 3rem;
  padding: 0;
}

@media (min-width: 768px) {
  .chat-shell {
    border-radius: 18px;
    width: 390px;
    height: 76vh;
    max-height: 720px;
    bottom: 24px;
    right: 24px;
  }
}

@media (max-width: 1100px) {
  .hero-grid, .consultation-grid, .footer-main {
    grid-template-columns: 1fr;
  }

  .hero-grid {
    min-height: auto;
    padding-top: 1.2rem;
  }

  .topbar-row {
    grid-template-columns: auto auto;
    justify-content: space-between;
  }

  .topbar-nav {
    display: none;
  }

  .credibility-grid, .product-grid, .reach-grid, .support-grid, .global-grid, .tools-grid, .service-grid, .footer-columns {
    grid-template-columns: 1fr 1fr;
  }

  .sustainability-grid {
    grid-template-columns: 1fr;
  }

  .sustainability-copy {
    padding-left: 0;
  }

  .sustainability-visual {
    justify-content: center;
  }

  .reach-grid {
    grid-template-areas: "copy copy"
                         "map tools"
                         "hq hq";
  }
}

@media (max-width: 800px) {
  .support-banner {
    flex-direction: column;
    align-items: stretch;
    width: calc(100vw - 1rem);
    padding: .8rem;
    top: .85rem;
  }

  .support-banner-actions {
    justify-content: space-between;
  }

  .shell {
    width: min(100vw - 1.2rem, 1240px);
  }

  .site-topbar {
    padding-top: .8rem;
  }

  .brand-mark {
    width: 9.8rem;
  }

  .hero-visual {
    grid-template-rows: auto;
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .hero-main-shot, .hero-secondary-shot, .hero-brand-card {
    grid-area: auto;
  }

  .hero-main-shot {
    min-height: 22rem;
  }

  .hero-secondary-shot {
    min-height: 13rem;
  }

  .hero-metrics, .credibility-grid, .support-grid, .lead-grid, .product-grid, .reach-grid, .global-grid, .tools-grid, .service-grid, .footer-columns {
    grid-template-columns: 1fr;
  }

  .reach-grid {
    grid-template-areas: "copy"
                         "map"
                         "hq"
                         "tools";
  }

  .hero-copy h1 {
    max-width: none;
  }

  .hero-aside-note {
    max-width: none;
    left: .8rem;
    right: .8rem;
  }

  .footer-main, .footer-meta {
    gap: 1rem;
  }

  .widget-stack {
    bottom: 1rem;
    right: 1rem;
  }

  .widget-button {
    min-width: 4rem;
    height: 4rem;
    padding: 0 1.15rem;
  }
}

/*# sourceMappingURL=landing-aignep_app_globals_d707197d.css.map*/