/* ===============================
   Reset & Base
================================ */
:root {
  --primary: #D90065;
  --secondary: #1F0954;
  --light: #ffffff;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  line-height: 1.6;
  color: #111;
  background: #fff;
}

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

button {
  font: inherit;
  cursor: pointer;
  background: none;
  border: none;
}

/* ===============================
   Layout helpers
================================ */

.section {
  padding: 100px 20px;
}

.section {
  /*padding: 4rem 1.25rem;*/
  max-width: 1100px;
  margin: auto;
}

.section.alt {
  background: #faf7fb;
}

.section {
  position: relative;
}

.section.alt {
  background: linear-gradient(
    to bottom,
    #faf7fb,
    #ffffff
  );
}

.section h2 {
  font-size: 2rem;
  margin-bottom: 1rem;
}

.section p {
  max-width: 800px;
  opacity: 0.85;
}

.slogan-main {
  font-size: clamp(2rem, 4vw, 2rem);
  font-weight: 700;
  color: var(--secondary);
  margin-bottom: 1.2rem;
  line-height: 2.5rem;
}

.slogan-main::after {
  content: '';
  display: block;
  width: 64px;
  height: 4px;
  background: var(--primary);
  margin: 14px auto 0;
  border-radius: 4px;
}

.section-intro {
  max-width: 720px;
  margin: 0 auto 3rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: #555;
  text-align: center;
}

.section-inner{
	max-width: 950px; 
	margin: .6rem auto; 
	padding: 4.2rem 2.4rem; 
	font-family: sans-serif; 
	border-radius: 8px; 
	border-width: 0 0 0 .6rem;
	border-style: solid;
}

.inner{
	margin: 24px 0; 
	font-family: Arial, Helvetica, sans-serif; 
	line-height: 1.6; 
	color: #222; 
	padding: 24px; 
	border-radius: 8px; 
	background: #ffffff; 
	box-shadow: 0 6px 18px rgba(20,30,60,0.06); 
	border-left: .33rem solid #1976d2;
}


/* ===============================
   Quick Navigation
================================ */
.quick-nav-top{
	text-align: right;
    margin-top: 0rem;
    margin-bottom: 2.4rem;
}

.quick-nav-top a{
	font-size: 15px; 
	color: #2196f3; 
	text-decoration: none;
}

.quick-nav-bottom{
	text-align: right;
    margin-top: 2.4rem;
    margin-bottom: 0rem;
}

.quick-nav-bottom a{
	font-size: 15px; 
	color: #2196f3; 
	text-decoration: none;
}

.quote{
  background-color: #f8f8f8; 
  margin: 24px 0;
  padding: 24px; 
  border-radius: 8px; 
  border-left: 5px solid #ccc;	
} 

/* ===============================
   Divider
================================ */
.divider {
  height: 1px;
  /*background: #eee;*/
  background: #D90065;
  max-width: 1100px;
  margin: auto;
}

/* ===============================
   Hero
================================ */

.hero {
  text-align: center;
  padding: 4rem 1.25rem 3rem;
}

.logo {
  max-width: 240px;
  margin: auto;
}

.product-title {
  font-size: 2.4rem;
  margin-top: 1rem;
}

.product-title .light {
  font-weight: 300;
}

.product-title .strong {
  font-weight: 700;
}

.slogan-main {
  margin-top: 0.5rem;
  opacity: 0.85;
  text-align: center;
}

.powered {
  margin-top: .24rem;
  font-size: 0.9rem;
}

.ai {
  font-weight: 700;
}

/* ===============================
   Video Thumbnails (Shared)
================================ */

.video-section,
.testimonials {
  display: grid;
  gap: 1.5rem;
}

.video-thumb,
.testimonial-video {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  max-width: 900px;
}

.video-thumb img,
.testimonial-video img {
  width: 100%;
  border-radius: 12px;
}

.video-thumb,
.testimonial-video {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.video-thumb:hover,
.testimonial-video:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.15);
}

.video-thumb,
.testimonial-video {
  background: #000;
}

.video-thumb::after,
.testimonial-video::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.25),
    transparent
  );
  opacity: 0;
  transition: opacity 0.3s ease;
}

.video-thumb:hover::after,
.testimonial-video:hover::after {
  opacity: 1;
}

/* Play icon */
.play-icon {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 64px;
  height: 64px;
  background: rgba(0,0,0,0.65);
  border-radius: 50%;
}

.play-icon::before {
  content: '';
  position: absolute;
  left: 26px;
  top: 18px;
  border-style: solid;
  border-width: 14px 0 14px 22px;
  border-color: transparent transparent transparent white;
}

/* ===============================
   Testimonial Meta
================================ */

.testimonial-meta {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.75rem;
  background: linear-gradient(transparent, rgba(0,0,0,0.7));
  color: white;
}

.testimonial-meta strong {
  display: block;
  font-size: 0.95rem;
}

.testimonial-meta span {
  font-size: 0.8rem;
  opacity: 0.9;
}

/* ===============================
   Video Grid (Shared)
================================ */

/* Video Testimonials*/
.video-section,
.testimonials {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  align-items: start;
  padding: 48px 0px 48px 0px;
}

/* Tablet */
@media (max-width: 900px) {
  .video-section,
  .testimonials {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Mobile */
@media (max-width: 520px) {
  .video-section,
  .testimonials {
    grid-template-columns: 1fr;
  }
}

/* Explainer Videos */
.video-section.single-video .video-grid {
  grid-template-columns: 1fr;
  justify-items: center;
}

.video-section.single-video .video-thumb {
  max-width: 520px;
  width: 100%;
}

/* ===  Video Modal  ==== */

.video-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.85);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 2000;
}

.video-modal.open {
  display: flex;
}

.video-container {
  position: relative;
  width: 90%;
  max-width: 960px;
  aspect-ratio: 16 / 9;
}

.video-container.vertical {
  max-width: 420px;
  aspect-ratio: 9 / 16;
}

.video-container iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 12px;
}

/* Close button */

.close-video {
  position: absolute;
  top: -42px;
  right: 0;
  font-size: 2rem;
  color: white;
}

.fade-in {
  animation: fadeUp 0.8s ease forwards;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

/* ===============================
   CTA
================================ */

.cta-center {
  text-align: center;
  margin-top: 3rem;
}

.cta-center h3 {
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}

.cta-center p {
  opacity: 0.9;
  margin-bottom: 1.8rem;
}

.btn-primary {
  display: inline-block;
  background-color: #ffffff;   /* FORCE visible background */
  color: var(--primary);
  padding: 14px 36px;
  border-radius: 32px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  box-shadow: 0 10px 25px rgba(0,0,0,0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.btn-primary:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}

a.btn-primary {
  cursor: pointer;
}

/* ===============================
   Navigation
================================ */

.hamburger {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 3000;
}

.hamburger span {
  display: block;
  width: 24px;
  height: 2px;
  background: #111;
  margin: 5px 0;
}

.side-nav {
  position: fixed;
  top: 0;
  right: 0;                  /* RIGHT SIDE */
  width: 320px;
  max-width: 85%;
  height: 100vh;

  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);

  transform: translateX(100%); /* hidden by default */
  transition: transform 0.3s ease;

  z-index: 2500;
  padding: 2rem;

  overflow-y: auto;           /* ✅ scrolling enabled */
  -webkit-overflow-scrolling: touch;
}

.side-nav::after {
  content: '';
  position: sticky;
  bottom: 0;
  height: 40px;
  display: block;
  background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.95));
}


@media (max-width: 768px) {
  .side-nav {
    width: 85%;
  }
}

.side-nav.open {
  transform: translateX(0);   /* slide in */
}

.side-nav ul {
  list-style: none;
}

.side-nav li {
  margin-bottom: 1rem;
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  display: none;
  z-index: 2400;
}

.overlay.show {
  display: block;
}

.close-nav {
  font-size: 2rem;
  margin-bottom: 1rem;
}

/* ===============================
   Footer
================================ */

footer {
  padding: 3rem 1.25rem;
  text-align: center;
  background: #f7f7f7;
}

.footer-social {
  color: var(--secondary);
  display: flex;
  align-items: center;     /* vertical alignment */
  justify-content: center; /* center as a group */
  gap: 12px;               /* space between text & icons */
  flex-wrap: wrap;         /* allows wrap on small screens */
}

.footer-social span {
	font-weight: bold;
}

.brands {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.brands img {
  max-width: 330px;
}

.footer-nav {
  margin: 1rem 0;
}

.footer-nav a {
  margin: 0 0.5rem;
  text-decoration: none;
  color: var(--primary);
}

/* ===============================
   Pathway: Begins
================================ */

.pathway-clarity {
  padding: 0px;
}

.pathway-clarity .container {
  max-width: 1100px;
  margin: auto;
}

.section-title {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 20px;
}

.section-intro {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 24px;
}

.pathway-steps ul {
  padding-left: 20px;
  margin-bottom: 30px;
}

.pathway-steps li {
  margin-bottom: 15px;
  font-size: 17px;
}

.info-box {
  margin: 42px 0px;
  padding: 42px 24px;
  background: #fff3f6;
  border-left: 6px solid #d90065;
  border-radius: 6px;
}

.info-box h3 {
  margin-bottom: 10px;
  color: #d90065;
}

.ufcc-clarity {
  background: #ffffff;
  padding: 20px;
  border: 1px solid #e5e7eb;
}

/* ===============================
   Pathway: Ends
================================ */