:root{
  --color-ink:#1E1B2E;
  --color-ink-soft:#4B4560;
  --color-paper:#FBFAF8;
  --color-surface:#F4F2FB;
  --color-surface-alt:#ECE8FA;
  --color-primary:#4F46E5;
  --color-primary-dark:#372F9E;
  --color-primary-light:#818CF8;
  --color-secondary:#0EA5A4;
  --color-secondary-dark:#0B7A79;
  --color-accent:#F59E0B;
  --color-accent-dark:#B45309;
  --color-border: rgba(30,27,46,0.08);
  --glass-bg: rgba(255,255,255,0.14);
  --glass-bg-strong: rgba(255,255,255,0.22);
  --glass-border: rgba(255,255,255,0.32);

  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2.5rem;
  --space-xl: 4rem;
  --space-2xl: 6rem;
  --space-3xl: 8rem;

  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 26px;
  --radius-xl: 34px;
  --radius-full: 999px;

  --shadow-sm: 0 1px 2px rgba(30,27,46,0.06), 0 1px 1px rgba(30,27,46,0.04);
  --shadow-md: 0 6px 16px rgba(30,27,46,0.09), 0 2px 6px rgba(79,70,229,0.08);
  --shadow-lg: 0 24px 48px -14px rgba(30,27,46,0.22), 0 10px 20px rgba(79,70,229,0.12);
  --shadow-glow: 0 0 0 1px rgba(255,255,255,0.08), 0 10px 34px rgba(79,70,229,0.28);

  --ease: cubic-bezier(.22,.9,.32,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; overflow-x: hidden; }
body{
  margin:0;
  font-family:'Inter', sans-serif;
  color:var(--color-ink);
  background:var(--color-paper);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{
  font-family:'Space Grotesk', sans-serif;
  color:var(--color-ink);
  line-height:1.2;
  margin:0 0 0.6em;
}
p{ margin:0 0 1em; color:var(--color-ink-soft); }
a{ color:var(--color-primary); text-decoration:none; transition:color .25s var(--ease); }
img{ max-width:100%; display:block; }
ul{ margin:0; padding:0; list-style:none; }
button{ font-family:inherit; cursor:pointer; }
mark{ background:linear-gradient(120deg, rgba(245,158,11,0.35), rgba(245,158,11,0.15)); color:var(--color-ink); padding:0 .2em; border-radius:4px; }
small{ color:var(--color-ink-soft); font-size:0.85rem; }

.mod-section-inner{
  max-width:1180px;
  margin:0 auto;
  padding:0 var(--space-md);
}
.mod-section-eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.78rem;
  font-weight:600;
  color:var(--color-secondary-dark);
  margin-bottom:var(--space-xs);
}
.mod-section-eyebrow--light{ color:var(--color-accent); }
.mod-section-title{
  font-size:clamp(1.6rem, 1.1rem + 1.8vw, 2.5rem);
  font-weight:600;
  margin-bottom:var(--space-sm);
  max-width:44ch;
}
.mod-section-title--light{ color:#fff; }
.mod-section-desc{ max-width:60ch; }


.mod-header{
  background:var(--color-paper);
  border-bottom:1px solid var(--color-border);
  position:relative;
  z-index:60;
}
.mod-header-inner{
  max-width:1180px;
  margin:0 auto;
  padding:1.1rem var(--space-md);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mod-header-logo img{ height:38px; width:auto; }
.mod-header-toggle{
  width:48px; height:48px;
  border-radius:var(--radius-sm);
  border:1px solid var(--color-border);
  background:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:5px;
  box-shadow:var(--shadow-sm);
  transition:box-shadow .3s var(--ease), transform .3s var(--ease);
}
.mod-header-toggle:hover{ box-shadow:var(--shadow-md); transform:translateY(-2px); }
.mod-header-toggle span{
  width:22px; height:2px; background:var(--color-ink); border-radius:2px;
  transition:transform .3s var(--ease), opacity .3s var(--ease);
}


.mod-drawer{
  position:fixed; inset:0;
  z-index:100;
  clip-path: circle(0px at var(--x, 92%) var(--y, 3%));
  transition: clip-path .65s var(--ease);
  pointer-events:none;
  background: radial-gradient(circle at 20% 10%, rgba(129,140,248,0.5), transparent 45%), linear-gradient(150deg, #241C63 0%, #4F46E5 48%, #0EA5A4 100%);
}
.mod-drawer.is-open{
  clip-path: circle(160% at var(--x, 92%) var(--y, 3%));
  pointer-events:auto;
}
.mod-drawer-nav{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding: var(--space-xl) var(--space-lg);
  position:relative;
}
.mod-drawer-close{
  position:absolute; top:2rem; right:2rem;
  width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,0.15);
  border:1px solid rgba(255,255,255,0.3);
  color:#fff; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center;
  transition:background .3s var(--ease), transform .3s var(--ease);
}
.mod-drawer-close:hover{ background:rgba(255,255,255,0.28); transform:rotate(90deg); }
.mod-drawer-nav ul{ display:flex; flex-direction:column; gap:0.4rem; }
.mod-drawer-nav li{
  opacity:0; transform:translateY(16px);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.mod-drawer.is-open li{ opacity:1; transform:translateY(0); }
.mod-drawer.is-open li:nth-child(1){ transition-delay:.28s; }
.mod-drawer.is-open li:nth-child(2){ transition-delay:.34s; }
.mod-drawer.is-open li:nth-child(3){ transition-delay:.40s; }
.mod-drawer.is-open li:nth-child(4){ transition-delay:.46s; }
.mod-drawer.is-open li:nth-child(5){ transition-delay:.52s; }
.mod-drawer-nav a{
  font-family:'Space Grotesk', sans-serif;
  font-size:clamp(1.8rem, 3vw + 1rem, 3.2rem);
  font-weight:600;
  color:#fff;
  display:inline-block;
  padding:.25rem 0;
  transition:color .3s var(--ease), transform .3s var(--ease);
}
.mod-drawer-nav a:hover{ color:var(--color-accent); transform:translateX(10px); }
.mod-drawer-footer{
  margin-top:var(--space-lg);
  opacity:0; transition:opacity .5s var(--ease) .58s;
  color:rgba(255,255,255,0.85);
}
.mod-drawer.is-open .mod-drawer-footer{ opacity:1; }
.mod-drawer-footer p{ color:rgba(255,255,255,0.85); margin-bottom:.4rem; }
body.menu-open{ overflow:hidden; }


.mod-hero{
  position:relative;
  background: radial-gradient(circle at 12% 15%, rgba(129,140,248,0.42), transparent 45%),
              radial-gradient(circle at 90% 85%, rgba(14,165,164,0.4), transparent 50%),
              linear-gradient(150deg, #241C63 0%, #4F46E5 45%, #0EA5A4 100%);
  padding: var(--space-2xl) 0 var(--space-2xl);
  overflow:hidden;
}
.mod-hero-inner{ max-width:1180px; margin:0 auto; padding:0 var(--space-md); }
.mod-hero-eyebrow{
  color:var(--color-accent);
  text-transform:uppercase; letter-spacing:.16em; font-size:.8rem; font-weight:600;
  margin-bottom:var(--space-sm);
}
.mod-hero-title{
  font-size:clamp(2rem, 1.2rem + 3.2vw, 3.4rem);
  color:#fff;
  max-width:20ch;
  margin-bottom:var(--space-sm);
}
.mod-hero-desc{
  color:rgba(255,255,255,0.88);
  max-width:62ch;
  font-size:1.08rem;
  margin-bottom:var(--space-lg);
}
.mod-hero-cards{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:var(--space-md);
}
.mod-hero-card{
  background:var(--glass-bg);
  backdrop-filter:blur(20px) saturate(160%);
  -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:var(--space-md);
  box-shadow:var(--shadow-glow);
  transition: transform .4s var(--ease), box-shadow .4s var(--ease), background .4s var(--ease);
}
.mod-hero-card:hover{
  transform:translateY(-8px) scale(1.02);
  background:var(--glass-bg-strong);
  box-shadow:0 30px 55px -16px rgba(10,8,40,0.4), 0 0 0 1px rgba(255,255,255,0.2);
}
.mod-hero-card-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:var(--radius-sm);
  background:rgba(255,255,255,0.16);
  color:#fff; font-size:1.2rem; margin-bottom:var(--space-sm);
}
.mod-hero-card h3{ color:#fff; font-size:1.1rem; margin-bottom:.4rem; }
.mod-hero-card p{ color:rgba(255,255,255,0.82); font-size:.92rem; margin:0; }


.mod-quote-strip{ padding:var(--space-xl) 0; background:var(--color-surface); }
.highlight-statement{
  max-width:820px; margin:0 auto; padding:0 var(--space-md);
  text-align:center;
  border:none;
}
.highlight-statement p{
  font-family:'Space Grotesk', sans-serif;
  font-size:clamp(1.3rem, 1rem + 1.2vw, 1.9rem);
  color:var(--color-ink);
  font-weight:600;
  line-height:1.4;
  margin-bottom:var(--space-sm);
}
.highlight-statement cite{
  font-style:normal;
  color:var(--color-secondary-dark);
  font-size:.9rem;
  font-weight:600;
  letter-spacing:.04em;
}


.mod-tabs{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-tabs-widget{ margin-top:var(--space-lg); }
.mod-tabs-nav{
  display:flex; flex-wrap:wrap; gap:.5rem;
  border-bottom:1px solid var(--color-border);
  margin-bottom:var(--space-lg);
}
.mod-tabs-btn{
  background:none; border:none;
  padding:.9rem 1.3rem;
  font-family:'Space Grotesk', sans-serif;
  font-weight:600; font-size:.95rem;
  color:var(--color-ink-soft);
  position:relative;
  transition:color .3s var(--ease);
}
.mod-tabs-btn::after{
  content:''; position:absolute; left:0; right:0; bottom:-1px; height:2px;
  background:var(--color-primary); transform:scaleX(0); transform-origin:left;
  transition:transform .35s var(--ease);
}
.mod-tabs-btn:hover{ color:var(--color-primary); }
.mod-tabs-btn.is-active{ color:var(--color-primary); }
.mod-tabs-btn.is-active::after{ transform:scaleX(1); }
.mod-tabs-panels{ position:relative; }
.mod-tabs-panel{
  display:none;
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  padding:var(--space-lg);
  box-shadow:var(--shadow-md);
  animation: mod-fade-in .5s var(--ease);
}
.mod-tabs-panel.is-active{ display:block; }
.mod-tabs-panel h3{ font-size:1.4rem; margin-bottom:.6rem; }
@keyframes mod-fade-in{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);} }


.mod-showcase, .mod-webinar-topics{
  padding:var(--space-2xl) 0;
  background:linear-gradient(160deg, #241C63 0%, #372F9E 45%, #0B7A79 100%);
}
.mod-showcase-swiper, .mod-webinar-swiper{ margin-top:var(--space-lg); padding-bottom:2.5rem; }
.mod-showcase-slide{
  background:var(--glass-bg);
  backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid var(--glass-border);
  border-radius:var(--radius-lg);
  padding:var(--space-lg) var(--space-md);
  height:100%;
  min-height:220px;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.mod-showcase-slide:hover{ transform:translateY(-6px) scale(1.015); box-shadow:var(--shadow-lg); }
.mod-showcase-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:var(--radius-sm);
  background:rgba(245,158,11,0.2); color:var(--color-accent);
  font-size:1.15rem; margin-bottom:var(--space-sm);
}
.mod-showcase-slide h3{ color:#fff; font-size:1.1rem; margin-bottom:.4rem; }
.mod-showcase-slide p{ color:rgba(255,255,255,0.82); font-size:.92rem; margin:0; }
.swiper-pagination-bullet{ background:#fff; opacity:.5; }
.swiper-pagination-bullet-active{ opacity:1; background:var(--color-accent); }


.mod-services{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-services-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md);
  margin-top:var(--space-lg);
}
.mod-service-card{
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  padding:var(--space-md);
  box-shadow:var(--shadow-sm);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s var(--ease);
}
.mod-service-card:hover{
  transform:translateY(-8px) scale(1.03);
  box-shadow:var(--shadow-lg);
  border-color:transparent;
}
.mod-service-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:var(--radius-sm);
  background:var(--color-surface-alt); color:var(--color-primary);
  font-size:1.2rem; margin-bottom:var(--space-sm);
}
.mod-service-card h3{ font-size:1.05rem; margin-bottom:.4rem; }
.mod-service-card p{ font-size:.92rem; margin:0; }


.mod-meter-section{ padding:var(--space-2xl) 0; background:var(--color-surface); }
.mod-meter-inner{
  display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-lg); align-items:center;
}
.mod-meter-box{
  margin-top:var(--space-md);
  background:#fff; border:1px solid var(--color-border);
  border-radius:var(--radius-md); padding:var(--space-md);
  box-shadow:var(--shadow-sm);
}
.mod-meter-box--inline{ margin-top:var(--space-lg); }
.mod-meter-box label{ display:block; font-weight:600; margin-bottom:.5rem; font-size:.92rem; }
meter{ width:100%; height:16px; margin-bottom:.5rem; }
meter::-webkit-meter-bar{ background:var(--color-surface-alt); border-radius:var(--radius-full); border:none; }
meter::-webkit-meter-optimum-value{ background:linear-gradient(90deg, var(--color-primary), var(--color-secondary)); border-radius:var(--radius-full); }
.mod-meter-figure{
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg);
}
.mod-meter-figure img{ width:100%; height:340px; object-fit:cover; }
.mod-meter-figure figcaption{ padding:.9rem 1.1rem; background:#fff; }


.mod-about{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-about-inner{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); align-items:center; }
.mod-about-figure{
  border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); position:relative;
}
.mod-about-figure img{ width:100%; height:360px; object-fit:cover; }
.mod-about-figure figcaption{
  position:absolute; left:0; right:0; bottom:0;
  background:linear-gradient(to top, rgba(30,27,46,0.85), transparent);
  padding:var(--space-md); color:#fff;
}
.mod-about-figure figcaption h3{ color:#fff; font-size:1.15rem; margin-bottom:.2rem; }
.mod-about-figure figcaption p{ color:rgba(255,255,255,0.85); margin:0; font-size:.9rem; }


.mod-webinar-teaser{
  padding:var(--space-2xl) 0;
  background:linear-gradient(150deg, #372F9E 0%, #4F46E5 50%, #0B7A79 100%);
}
.mod-webinar-inner{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); align-items:center; }
.mod-webinar-figure{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.mod-webinar-figure img{ width:100%; height:320px; object-fit:cover; }
.mod-webinar-figure figcaption{ padding:.8rem 1rem; background:rgba(255,255,255,0.08); backdrop-filter:blur(10px); }
.mod-webinar-figure figcaption small{ color:rgba(255,255,255,0.85); }
.mod-webinar-text p{ color:rgba(255,255,255,0.88); }


.mod-audience{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-audience-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-md);
  margin-top:var(--space-lg);
}
.mod-audience-card{
  background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-md);
  padding:var(--space-md); text-align:left;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.mod-audience-card:hover{ transform:translateY(-8px) scale(1.03); box-shadow:var(--shadow-lg); }
.mod-audience-icon{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:50%;
  background:var(--color-surface-alt); color:var(--color-secondary-dark);
  font-size:1.2rem; margin-bottom:var(--space-sm);
}
.mod-audience-card h3{ font-size:1.02rem; margin-bottom:.4rem; }
.mod-audience-card p{ font-size:.9rem; margin:0; }
.mod-audience-cta{ margin-top:var(--space-lg); text-align:center; }


.mod-cta{
  padding:var(--space-2xl) 0;
  background: radial-gradient(circle at 30% 30%, rgba(129,140,248,0.5), transparent 55%), linear-gradient(140deg, #241C63, #0EA5A4);
}
.mod-cta-inner{
  max-width:720px; margin:0 auto; padding:0 var(--space-md); text-align:center;
}
.mod-cta-inner h2{ color:#fff; font-size:clamp(1.5rem,1.1rem+1.4vw,2.1rem); }
.mod-cta-inner p{ color:rgba(255,255,255,0.85); margin-bottom:var(--space-md); }


.mod-btn{
  display:inline-flex; align-items:center; gap:.5rem;
  padding:.85rem 1.5rem;
  border-radius:var(--radius-full);
  font-weight:600; font-family:'Space Grotesk', sans-serif;
  font-size:.95rem;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), color .3s var(--ease);
  border:1px solid transparent;
  min-height:48px;
}
.mod-btn--primary{
  background:#fff; color:var(--color-primary-dark);
  box-shadow:var(--shadow-md);
}
.mod-btn--primary:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); color:var(--color-primary-dark); }
.mod-btn--outline{
  background:transparent; color:var(--color-primary); border-color:var(--color-primary);
}
.mod-btn--outline:hover{ background:var(--color-primary); color:#fff; transform:translateY(-3px); box-shadow:var(--shadow-md); }
.mod-btn--light{
  background:rgba(255,255,255,0.15); color:#fff; border-color:rgba(255,255,255,0.4);
  backdrop-filter:blur(10px);
}
.mod-btn--light:hover{ background:#fff; color:var(--color-primary-dark); transform:translateY(-3px); }


.mod-page-hero{
  padding:var(--space-2xl) 0 var(--space-xl);
  background: radial-gradient(circle at 10% 20%, rgba(129,140,248,0.4), transparent 45%), linear-gradient(150deg, #241C63 0%, #4F46E5 50%, #0EA5A4 100%);
}
.mod-page-hero--legal{ padding-bottom:var(--space-lg); }
.mod-page-hero-inner{ max-width:1180px; margin:0 auto; padding:0 var(--space-md); }
.mod-page-hero h1{ color:#fff; font-size:clamp(1.9rem, 1.2rem + 2.6vw, 3rem); max-width:22ch; }
.mod-page-hero p{ color:rgba(255,255,255,0.88); max-width:60ch; }
.mod-page-hero small{ color:rgba(255,255,255,0.75); }

.mod-breadcrumb{ margin-bottom:var(--space-md); }
.mod-breadcrumb ol{ display:flex; gap:.5rem; flex-wrap:wrap; font-size:.85rem; }
.mod-breadcrumb li:not(:last-child)::after{ content:'/'; margin-left:.5rem; color:rgba(255,255,255,0.5); }
.mod-breadcrumb a{ color:rgba(255,255,255,0.75); }
.mod-breadcrumb a:hover{ color:#fff; }
.mod-breadcrumb li[aria-current="page"]{ color:#fff; font-weight:600; }


.mod-about-story{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-about-story-inner{ display:grid; grid-template-columns:1.1fr .9fr; gap:var(--space-lg); align-items:center; }
.mod-about-story-figure{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.mod-about-story-figure img{ width:100%; height:340px; object-fit:cover; }
.mod-about-story-figure figcaption{ padding:.8rem 1rem; background:#fff; }

.mod-team{ padding:var(--space-2xl) 0; background:var(--color-surface); }
.mod-team-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); margin-top:var(--space-lg); }
.mod-team-card{
  background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.mod-team-card:hover{ transform:translateY(-8px) scale(1.02); box-shadow:var(--shadow-lg); }
.mod-team-card img{ width:100%; height:300px; object-fit:cover; }
.mod-team-card figcaption{ padding:var(--space-md); }
.mod-team-card h3{ font-size:1.1rem; margin-bottom:.4rem; }
.mod-team-card p{ font-size:.92rem; margin:0; }

.mod-values{ padding:var(--space-2xl) 0; background:linear-gradient(150deg, #241C63, #372F9E 60%, #0B7A79); }
.mod-values-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:var(--space-md); margin-top:var(--space-lg); }
.mod-value-card{
  background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:var(--radius-md);
  padding:var(--space-md); backdrop-filter:blur(16px);
  transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}
.mod-value-card:hover{ transform:translateY(-6px) scale(1.02); box-shadow:var(--shadow-lg); }
.mod-value-number{ font-family:'Space Grotesk',sans-serif; font-weight:700; color:var(--color-accent); font-size:1.3rem; }
.mod-value-card h3{ color:#fff; font-size:1rem; margin:.5rem 0 .4rem; }
.mod-value-card p{ color:rgba(255,255,255,0.82); font-size:.88rem; margin:0; }


.mod-webinar-format{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-webinar-format-inner{ display:grid; grid-template-columns:.9fr 1.1fr; gap:var(--space-lg); align-items:center; }
.mod-webinar-format-figure{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }
.mod-webinar-format-figure img{ width:100%; height:340px; object-fit:cover; }
.mod-webinar-format-figure figcaption{ padding:.8rem 1rem; background:#fff; }


.mod-audience-detail{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-audience-detail-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:var(--space-lg); margin-top:var(--space-lg); }
.mod-audience-detail-card{
  background:#fff; border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-md);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
}
.mod-audience-detail-card:hover{ transform:translateY(-8px) scale(1.015); box-shadow:var(--shadow-lg); }
.mod-audience-detail-card img{ width:100%; height:280px; object-fit:cover; }
.mod-audience-detail-card figcaption{ padding:var(--space-md); }
.mod-audience-detail-card h3{ font-size:1.1rem; margin-bottom:.4rem; }
.mod-audience-detail-card p{ font-size:.92rem; margin:0; }

.mod-fit-check{ padding:var(--space-2xl) 0; background:linear-gradient(150deg,#241C63,#4F46E5 55%,#0EA5A4); }
.mod-fit-check-inner{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-lg); }
.mod-fit-list{ margin-top:var(--space-md); display:flex; flex-direction:column; gap:.8rem; }
.mod-fit-list li{ color:rgba(255,255,255,0.9); display:flex; gap:.6rem; align-items:flex-start; font-size:.95rem; }
.mod-fit-list i{ color:var(--color-accent); margin-top:.25rem; }
.mod-fit-note{ color:rgba(255,255,255,0.85); }


.mod-contact{ padding:var(--space-2xl) 0; background:var(--color-surface); }
.mod-contact-inner{ display:grid; grid-template-columns:.85fr 1.15fr; gap:var(--space-lg); align-items:start; }
.mod-contact-info{
  background:#fff; border-radius:var(--radius-lg); padding:var(--space-lg);
  box-shadow:var(--shadow-md); border:1px solid var(--color-border);
}
.mod-contact-list{ display:flex; flex-direction:column; gap:.9rem; margin:var(--space-md) 0; }
.mod-contact-list li{ display:flex; align-items:center; gap:.7rem; font-size:.95rem; }
.mod-contact-list i{ width:22px; text-align:center; color:var(--color-primary); }

.mod-urgent{
  margin-top:var(--space-lg);
  display:flex; gap:var(--space-sm);
  background:linear-gradient(135deg, rgba(245,158,11,0.12), rgba(245,158,11,0.05));
  border:1px solid rgba(245,158,11,0.35);
  border-radius:var(--radius-md);
  padding:var(--space-md);
}
.mod-urgent-icon{
  flex-shrink:0; width:44px; height:44px; border-radius:50%;
  background:rgba(245,158,11,0.18); color:var(--color-accent-dark);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
}
.mod-urgent h3{ font-size:1rem; margin-bottom:.4rem; }
.mod-urgent p{ font-size:.9rem; margin:0; }


.mod-contact-form-wrap{
  background:#fff; border-radius:var(--radius-lg); padding:var(--space-lg);
  box-shadow:var(--shadow-md); border:1px solid var(--color-border);
}
.mod-chat{ display:flex; flex-direction:column; gap:.75rem; }
.mod-chat-bubble{
  align-self:flex-start; max-width:85%;
  background:var(--color-surface-alt); color:var(--color-ink);
  padding:.75rem 1.1rem; border-radius:18px 18px 18px 4px;
  font-size:.92rem;
}
.mod-chat-bubble p{ margin:0; color:var(--color-ink); }
.mod-chat-reply{
  align-self:flex-end; max-width:90%; width:100%;
  display:flex; flex-direction:column; gap:.35rem;
}
.mod-chat-reply label{ font-size:.8rem; font-weight:600; color:var(--color-ink-soft); }
.mod-chat-reply input[type="text"],
.mod-chat-reply input[type="email"],
.mod-chat-reply textarea{
  background:var(--color-primary);
  background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color:#fff;
  border:none; border-radius:18px 18px 4px 18px;
  padding:.8rem 1.1rem;
  font-family:inherit; font-size:.92rem;
  resize:vertical;
  transition:box-shadow .3s var(--ease), transform .2s var(--ease);
}
.mod-chat-reply input::placeholder, .mod-chat-reply textarea::placeholder{ color:rgba(255,255,255,0.7); }
.mod-chat-reply input:focus, .mod-chat-reply textarea:focus{
  outline:none; box-shadow:0 0 0 3px rgba(79,70,229,0.3); transform:translateY(-1px);
}
.mod-chat-reply--checkbox{ flex-direction:row; align-items:center; gap:.6rem; align-self:flex-end; }
.mod-chat-reply--checkbox input{ width:20px; height:20px; accent-color:var(--color-primary); flex-shrink:0; }
.mod-chat-reply--checkbox label{ font-size:.85rem; font-weight:400; color:var(--color-ink-soft); }
.mod-chat-send{
  margin-top:var(--space-md);
  align-self:flex-end;
  background:linear-gradient(135deg, var(--color-secondary), var(--color-secondary-dark));
  color:#fff; border:none; border-radius:var(--radius-full);
  padding:.85rem 1.6rem; font-weight:600; font-family:'Space Grotesk',sans-serif;
  display:inline-flex; align-items:center; gap:.5rem;
  min-height:48px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.mod-chat-send:hover{ transform:translateY(-3px); box-shadow:var(--shadow-lg); }


.mod-map-section{ padding:var(--space-2xl) 0; background:var(--color-paper); }
.mod-map-frame{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-lg); }


.mod-thanks{ padding:var(--space-2xl) 0; background:linear-gradient(150deg,#241C63,#4F46E5 55%,#0EA5A4); min-height:60vh; }
.mod-thanks-inner{ max-width:640px; margin:0 auto; padding:0 var(--space-md); text-align:center; }
.mod-thanks-inner h1{ color:#fff; font-size:clamp(1.8rem,1.2rem+2.2vw,2.6rem); }
.mod-thanks-inner p{ color:rgba(255,255,255,0.88); margin-bottom:var(--space-md); }
.mod-timeline{ margin-top:var(--space-2xl); text-align:left; display:flex; flex-direction:column; gap:var(--space-md); }
.mod-timeline-item{ display:flex; gap:var(--space-sm); align-items:flex-start; position:relative; padding-left:.2rem; }
.mod-timeline-item:not(:last-child)::after{
  content:''; position:absolute; left:23px; top:48px; bottom:-24px; width:2px; background:rgba(255,255,255,0.25);
}
.mod-timeline-icon{
  width:46px; height:46px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.15); color:#fff; font-size:1.1rem;
  border:1px solid rgba(255,255,255,0.3);
}
.mod-timeline-item.is-done .mod-timeline-icon{ background:var(--color-accent); color:#241C63; }
.mod-timeline-item.is-current .mod-timeline-icon{ background:#fff; color:var(--color-primary-dark); }
.mod-timeline-item.is-upcoming .mod-timeline-icon{ opacity:.6; }
.mod-timeline-item.is-upcoming h3, .mod-timeline-item.is-upcoming p{ opacity:.6; }
.mod-timeline-item h3{ color:#fff; font-size:1.05rem; margin-bottom:.2rem; }
.mod-timeline-item p{ color:rgba(255,255,255,0.85); margin:0; font-size:.9rem; }


.mod-legal{ padding:var(--space-2xl) 0 var(--space-3xl); background:var(--color-paper); }
.mod-legal-inner{ max-width:800px; margin:0 auto; padding:0 var(--space-md); }
.mod-legal-inner h2{ font-size:1.3rem; margin-top:var(--space-lg); }
.mod-legal-inner p{ font-size:.98rem; }
.mod-legal--lettered h2, .mod-legal--numbered h2{ color:var(--color-primary-dark); }


.mod-footer{ background:#181530; padding-top:var(--space-2xl); margin-top:auto; }
.mod-footer-inner{
  max-width:1180px; margin:0 auto; padding:0 var(--space-md) var(--space-xl);
  display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:var(--space-lg);
}
.mod-footer-brand img{ height:34px; margin-bottom:var(--space-sm); }
.mod-footer-brand p{ color:rgba(255,255,255,0.65); font-size:.9rem; max-width:32ch; }
.mod-footer-nav{ display:contents; }
.mod-footer-nav h3{ color:#fff; font-size:.95rem; margin-bottom:var(--space-sm); }
.mod-footer-nav ul{ display:flex; flex-direction:column; gap:.6rem; }
.mod-footer-nav a{ color:rgba(255,255,255,0.65); font-size:.9rem; transition:color .3s var(--ease), padding-left .3s var(--ease); }
.mod-footer-nav a:hover{ color:#fff; padding-left:4px; }
.mod-footer-contact{ font-style:normal; color:rgba(255,255,255,0.65); font-size:.9rem; display:flex; flex-direction:column; gap:.5rem; }
.mod-footer-contact a{ color:rgba(255,255,255,0.75); }
.mod-footer-contact a:hover{ color:#fff; }
.mod-footer-bottom{ border-top:1px solid rgba(255,255,255,0.1); padding:var(--space-md); text-align:center; }
.mod-footer-bottom small{ color:rgba(255,255,255,0.5); }


.mod-back-to-top{
  position:fixed; bottom:2rem; right:1.5rem; z-index:70;
  width:52px; height:52px; border-radius:50%;
  background:var(--color-primary); color:#fff; border:none;
  display:flex; align-items:center; justify-content:center; font-size:1.1rem;
  box-shadow:var(--shadow-lg);
  opacity:0; visibility:hidden; transform:translateY(10px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), background .3s var(--ease), visibility .35s;
}
.mod-back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.mod-back-to-top:hover{ background:var(--color-secondary-dark); transform:translateY(-4px); }


.mod-cookie-pill{
  position:fixed; bottom:1.4rem; left:50%; transform:translateX(-50%);
  z-index:90;
  background:rgba(30,27,46,0.92);
  backdrop-filter:blur(14px);
  color:#fff;
  border-radius:var(--radius-full);
  box-shadow:var(--shadow-lg);
  transition:border-radius .5s var(--ease), width .5s var(--ease), padding .5s var(--ease), max-width .5s var(--ease);
  max-width:calc(100vw - 2rem);
  overflow:hidden;
}
.mod-cookie-pill-inner{
  display:flex; align-items:center; gap:1rem;
  padding:.7rem 1rem .7rem 1.3rem;
  white-space:nowrap;
}
.mod-cookie-pill-inner p{ margin:0; color:#fff; font-size:.85rem; }
.mod-cookie-pill-actions{ display:flex; gap:.5rem; flex-shrink:0; }
.mod-cookie-btn{
  border-radius:var(--radius-full); border:none; padding:.5rem 1rem; font-size:.82rem; font-weight:600;
  transition:transform .25s var(--ease), background .25s var(--ease);
}
.mod-cookie-btn--ghost{ background:rgba(255,255,255,0.12); color:#fff; }
.mod-cookie-btn--ghost:hover{ background:rgba(255,255,255,0.22); }
.mod-cookie-btn--solid{ background:var(--color-accent); color:#241C63; }
.mod-cookie-btn--solid:hover{ transform:translateY(-2px); }
.mod-cookie-modal{ padding:1.4rem 1.6rem 1.6rem; width:min(420px, 86vw); white-space:normal; }
.mod-cookie-modal h3{ color:#fff; font-size:1.15rem; margin-bottom:.5rem; }
.mod-cookie-modal p{ color:rgba(255,255,255,0.75); font-size:.85rem; }
.mod-cookie-category{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:.8rem 0; border-top:1px solid rgba(255,255,255,0.1);
}
.mod-cookie-category strong{ font-size:.88rem; }
.mod-cookie-category p{ font-size:.78rem; margin:.2rem 0 0; }
.mod-switch{ position:relative; width:44px; height:24px; flex-shrink:0; }
.mod-switch input{ opacity:0; width:0; height:0; }
.mod-switch span{
  position:absolute; inset:0; background:rgba(255,255,255,0.2); border-radius:var(--radius-full);
  transition:background .3s var(--ease);
}
.mod-switch span::before{
  content:''; position:absolute; width:18px; height:18px; left:3px; top:3px; background:#fff; border-radius:50%;
  transition:transform .3s var(--ease);
}
.mod-switch input:checked + span{ background:var(--color-secondary); }
.mod-switch input:checked + span::before{ transform:translateX(20px); }
.mod-switch--disabled{ opacity:.6; }
.mod-cookie-pill.is-modal .mod-cookie-pill-inner{ display:none; }
.mod-cookie-modal-actions{ display:flex; gap:.6rem; margin-top:1.1rem; }


[data-aos]{ }


@media (max-width: 980px){
  .mod-hero-cards{ grid-template-columns:1fr; }
  .mod-services-grid{ grid-template-columns:repeat(2,1fr); }
  .mod-audience-grid{ grid-template-columns:repeat(2,1fr); }
  .mod-values-grid{ grid-template-columns:repeat(2,1fr); }
  .mod-about-inner, .mod-webinar-inner, .mod-meter-inner, .mod-about-story-inner,
  .mod-webinar-format-inner, .mod-audience-detail-grid, .mod-fit-check-inner, .mod-contact-inner{
    grid-template-columns:1fr;
  }
  .mod-team-grid{ grid-template-columns:1fr; }
  .mod-footer-inner{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .mod-services-grid, .mod-audience-grid, .mod-values-grid{ grid-template-columns:1fr; }
  .mod-footer-inner{ grid-template-columns:1fr; }
  .mod-header-logo img{ height:32px; }
  .mod-hero{ padding:var(--space-xl) 0; }
  .mod-cookie-pill-inner{ flex-direction:column; align-items:flex-start; gap:.6rem; }
  .mod-cookie-pill-inner p{ white-space:normal; }
  .mod-back-to-top{ bottom:1.2rem; right:1rem; width:46px; height:46px; }
}