/* ================= HERO ================= */

:root {
  /* ===== Brand Colors ===== */
  --primary: #194479;
  --primary-soft: rgba(25, 68, 121, 0.12);

  --accent: #e26c0c;
  --accent-2: #ff974a;
  --accent-soft: rgba(226, 108, 12, 0.14);

  /* ===== Backgrounds ===== */
  --bg-dark: #0b1220;
  --bg-darker: #0a0f1a;
  --bg-light: #ffffff;
  --bg-surface: #f8fafc;

  /* ===== Text ===== */
  --text-strong: #0b1220;
  --text-main: #2b3345;
  --text-muted: #6b7280;

  /* ===== Layout ===== */
  --radius-xl: 28px;
  --radius-lg: 20px;
  --radius-md: 14px;

  /* ===== Motion ===== */
  --ease-premium: cubic-bezier(0.22, 1, 0.36, 1);
}


*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Inter", system-ui, sans-serif;
  background: var(--bg-light);
  color: var(--text-main);
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}



.container {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 24px;
}

.container.narrow {
  max-width: 860px;
}

.section {
  padding: 50px 0;
  position: relative;
}

.section.alt {
  background: var(--bg-surface);
}

.center {
  text-align: center;
}


/* ===============================
   UI/UX HERO SECTION
================================ */

.uiux-hero{
  position:relative;
  padding:120px 0 140px;
  background:var(--bg-dark);
  overflow:hidden;
}

/* Soft gradient background */
.uiux-hero-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 20% 30%, var(--accent-soft), transparent 45%),
    radial-gradient(circle at 80% 70%, var(--primary-soft), transparent 45%);
  z-index:0;
}

.uiux-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:80px;
  align-items:center;
}

/* LEFT CONTENT */
.uiux-eyebrow{
  font-size:.75rem;
  letter-spacing:2px;
  font-weight:600;
  color:var(--accent);
  display:inline-block;
  margin-bottom:16px;
}

.uiux-hero-content h1{
  font-size:2.8rem;
  line-height:1.15;
  color:var(--text-strong);
}
.uiux-hero-content h1 span{
  color:var(--primary);
}

.uiux-hero-content h2{
  font-size:1.35rem;
  font-weight:500;
  margin:16px 0 22px;
  color:var(--text-main);
}
.uiux-hero-content .highlight{
  color:var(--accent);
}

.uiux-hero-content p{
  max-width:560px;
  line-height:1.7;
  color:var(--text-muted);
  margin-bottom:14px;
}

/* CTA */
.uiux-hero-actions{
  margin-top:28px;
}

.uiux-btn{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:14px 28px;
  border-radius:999px;
  font-size:.95rem;
  font-weight:500;
  text-decoration:none;
  transition:var(--transition-med);
}

.uiux-btn.primary{
  background:linear-gradient(135deg,var(--primary),var(--accent));
  color:#fff;
  box-shadow:var(--shadow-glow);
}

.uiux-btn.primary:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 70px rgba(0,0,0,.25);
}

/* RIGHT VISUAL */
.uiux-hero-visual{
  position:relative;
}

.uiux-mockup-card{
  border-radius:var(--radius-xxl);
  overflow:hidden;
  background:var(--bg-light);
  box-shadow:0 40px 120px rgba(15,23,42,.25);
  animation: uiuxFloat 6s ease-in-out infinite;
}

.uiux-mockup-card img{
  width:100%;
  display:block;
}

/* Floating tags */
.uiux-float{
  position:absolute;
  padding:8px 14px;
  border-radius:999px;
  font-size:.8rem;
  font-weight:600;
  background:var(--bg-light);
  box-shadow:var(--shadow-soft);
  animation: floatTag 5s ease-in-out infinite;
}

.float-1{
  top:12%;
  left:-20px;
  color:var(--accent);
}
.float-2{
  bottom:18%;
  right:-24px;
  color:var(--primary);
  animation-delay:1.5s;
}
.float-3{
  top:50%;
  right:-40px;
  color:var(--text-main);
  animation-delay:3s;
}

/* Animations */
@keyframes uiuxFloat{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-12px); }
}

@keyframes floatTag{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-10px); }
}

/* ===============================
   RESPONSIVE
================================ */
@media(max-width:900px){
  .uiux-hero-grid{
    grid-template-columns:1fr;
    gap:60px;
  }
  .uiux-hero-content h1{
    font-size:2.2rem;
  }
}


/* ===============================
   WHY UI/UX MATTERS
================================ */
/* ===============================
   WHY UI/UX DESIGN MATTERS
================================ */

.uiux-importance{
  padding:50px 0;
  background:var(--bg-darker);
  overflow:hidden;
}

.uiux-importance-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:90px;
  align-items:flex-start;
}

/* LEFT CONTENT */
.uiux-importance-content{
  position:sticky;
  top:120px;
}

.uiux-importance-content h2{
  font-size:2.4rem;
  line-height:1.15;
  color:var(--text-strong);
  margin-bottom:18px;
}
.uiux-importance-content h2 span{
  color:var(--primary);
}

.uiux-importance-lead{
  font-size:1.05rem;
  color:var(--text-main);
  line-height:1.7;
  margin-bottom:10px;
}

.uiux-importance-sub{
  font-size:.95rem;
  color:var(--text-muted);
  line-height:1.7;
}

/* RIGHT STACK */
.uiux-impact-stack{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
}

/* ===============================
   IMPACT CARD – PREMIUM
================================ */

.uiux-impact-card{
  position:relative;
  background:var(--bg-light);
  border-radius:var(--radius-xl);
  padding:28px 26px 30px;
  box-shadow:var(--shadow-soft);
  transition:var(--transition-med);
  overflow:hidden;
}

/* Diagonal gradient fill (behind content) */
.uiux-impact-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    var(--primary),
    var(--accent)
  );
  transform:scaleX(0);
  transform-origin:top right;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
  z-index:1;
}

/* Border glow (above gradient, below text) */
.uiux-impact-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;

  border:2px solid transparent;
  background:linear-gradient(
    135deg,
    var(--accent),
    var(--primary)
  ) border-box;

  -webkit-mask:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;

  opacity:0;
  transition:opacity .4s ease;
  z-index:2;
  pointer-events:none;
}

/* Hover states */
.uiux-impact-card:hover::before{
  transform:scaleX(1);
}
.uiux-impact-card:hover::after{
  opacity:1;
}

/* ===============================
   CONTENT LAYER (ALWAYS ON TOP)
================================ */

.uiux-impact-card > *{
  position:relative;
  z-index:3;
}

/* Index number */
.impact-index{
  font-size:2.4rem;
  font-weight:700;
  color:var(--primary);
  position:absolute;
  top:18px;
  right:20px;
  pointer-events:none;
  
}

/* Text */
.uiux-impact-card h4{
  font-size:1.1rem;
  margin-bottom:8px;
  color:var(--text-strong);
  padding-right: 20px;
}

.uiux-impact-card p{
  font-size:.9rem;
  line-height:1.6;
  color:var(--text-muted);
}

/* Text color on hover */
.uiux-impact-card:hover h4{
  color:#fff;
}
.uiux-impact-card:hover p{
  color:rgba(255,255,255,.88);
}
.uiux-impact-card:hover .impact-index{
  color:var(--accent);
}

/* ===============================
   RESPONSIVE
================================ */

@media(max-width:900px){
  .uiux-importance-grid{
    grid-template-columns:1fr;
    gap:60px;
  }
  .uiux-importance-content{
    position:relative;
    top:auto;
  }
  .uiux-impact-stack{
    grid-template-columns:1fr;
  }
}



/* ===============================
   UI/UX PROCESS – LIGHT PREMIUM
================================ */

.uiux-process-dark{
  padding:50px 0;
  background:
    radial-gradient(circle at 20% 30%, var(--accent-soft), transparent 45%),
    radial-gradient(circle at 80% 70%, var(--primary-soft), transparent 45%);
}

/* Layout */
.uiux-process-wrap{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:90px;
  align-items:flex-start;
}

/* ===============================
   LEFT IMAGE (STICKY)
================================ */

.uiux-process-visual{
  position:sticky;
  top:120px;
  align-self:flex-start;
}

.uiux-process-visual img{
  width:100%;
  max-width:420px;
  display:block;
}

/* ===============================
   RIGHT STEPS
================================ */

.uiux-process-steps{
  display:flex;
  flex-direction:column;
}

/* ===============================
   STEP CARD
================================ */

.uiux-step{
  position:relative;
  display:grid;
  grid-template-columns:80px 1fr;
  gap:32px;
  padding:34px 32px;
  border-radius:var(--radius-xl);
  background:var(--bg-light);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
  transition:var(--transition-med);
}

/* Spacing between cards */
.uiux-step + .uiux-step{
  margin-top:32px;
}

/* ===============================
   STEP NUMBER + CONNECTOR
================================ */

.step-number{
  position:relative;
  font-size:3.2rem;
  font-weight:600;
  color:var(--primary-soft);
  line-height:1;
}

/* Dot (button feel) */
.step-number::before{
  content:"";
  position:absolute;
  top:46px;
  left:50%;
  transform:translateX(-50%);
  width:10px;
  height:10px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 6px var(--accent-soft);
  z-index:4;
}

/* Dotted vertical line */
.step-number::after{
  content:"";
  position:absolute;
  top:60px;
  left:50%;
  transform:translateX(-50%);
  width:2px;
  height:calc(100% + 40px);
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(0,0,0,.25),
      rgba(0,0,0,.25) 4px,
      transparent 4px,
      transparent 8px
    );
}

/* Remove line for last step */
.uiux-step:last-child .step-number::after{
  display:none;
}

/* ===============================
   CONTENT
================================ */

.step-content h3{
  font-size:1.4rem;
  color:var(--text-strong);
  margin-bottom:4px;
}

.step-content h4{
  font-size:.95rem;
  font-weight:500;
  color:var(--accent-2);
  margin-bottom:10px;
}

.step-content p{
  font-size:.95rem;
  line-height:1.7;
  color:var(--text-main);
  margin-bottom:10px;
}

/* List */
.step-content ul{
  list-style:none;
  padding:0;
  margin:0;
}

.step-content li{
  position:relative;
  padding-left:22px;
  margin-bottom:8px;
  color:var(--text-muted);
  font-size:.95rem;
}

.step-content li::before{
  content:"—";
  position:absolute;
  left:0;
  color:var(--accent);
  transition:color .3s ease;
}

/* ===============================
   PREMIUM HOVER EFFECT
================================ */

/* Diagonal fill */
.uiux-step::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    var(--primary),
    var(--accent)
  );
  transform:scaleX(0);
  transform-origin:top right;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
  z-index:1;
}

/* Border glow */
.uiux-step::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  border:2px solid transparent;
  background:linear-gradient(
    135deg,
    var(--accent),
    var(--primary)
  ) border-box;

  -webkit-mask:
    linear-gradient(#fff 0 0) padding-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;

  opacity:0;
  transition:opacity .4s ease;
  z-index:2;
}

/* Hover states */
.uiux-step:hover::before{
  transform:scaleX(1);
}

.uiux-step:hover::after{
  opacity:1;
}

/* Keep content above layers */
.uiux-step > *{
  position:relative;
  z-index:3;
}

/* Text color sync on hover */
.uiux-step:hover h3,
.uiux-step:hover h4,
.uiux-step:hover p,
.uiux-step:hover li{
  color:#fff;
}

.uiux-step:hover li::before{
  color:#fff;
}

.uiux-step:hover .step-number{
  color:rgba(255,255,255,.35);
}

.uiux-step:hover .step-number::before{
  background:#fff;
  box-shadow:0 0 0 6px rgba(255,255,255,.25);
}

.uiux-step:hover .step-number::after{
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,.6),
      rgba(255,255,255,.6) 4px,
      transparent 4px,
      transparent 8px
    );
}


/* Brand-colored heading */
.seo-blue{
  background:linear-gradient(
    135deg,
    var(--primary),
    var(--accent)
  );
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}


.seo-orange{
  color:var(--accent); /* Brand Orange */
}


/* ===============================
   RESPONSIVE
================================ */

@media(max-width:900px){
  .uiux-process-wrap{
    grid-template-columns:1fr;
    gap:60px;
  }

  .uiux-process-visual{
    position:relative;
    top:auto;
    display:none;
  }

  .uiux-step{
    grid-template-columns:1fr;
  }

  .step-number{
    margin-bottom:12px;
  }

  .step-number::after{
    display:none;
  }
}










/* ===============================
   UX → SEO SYSTEM SECTION
================================ */

.uiux-seo-system{
  padding:50px 0;
  background:var(--bg-dark);
}

/* Header */
.uiux-seo-header{
  max-width:720px;
  margin-bottom:10px;
}

.uiux-seo-header h2{
  font-size:2.6rem;
  color:var(--text-strong);
  margin-bottom:12px;
}

.uiux-seo-header p{
  font-size:1.1rem;
  color:var(--text-muted);
}

/* Map layout */
.uiux-seo-map{
  display:grid;
  grid-template-columns:1fr 180px 1fr;
  gap:50px;
  align-items:center;
}

/* Columns */
.seo-column h3{
  font-size:1.2rem;
  margin-bottom:22px;
  color:var(--text-strong);
}

/* Nodes */
.seo-node{
  position:relative;
  padding:18px 22px;
  margin-bottom:18px;
  border-radius:var(--radius-lg);
  background:var(--bg-light);
  box-shadow:var(--shadow-soft);
  font-size:.95rem;
  color:var(--text-main);
  overflow:hidden;
  transition:var(--transition-med);
}


/* PREMIUM HOVER (same system language) */
/* Premium hover gradient */
.seo-node::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(
    135deg,
    var(--primary),
    var(--accent)
  );
  transform:scaleX(0);
  transform-origin:top right;
  transition:transform .6s cubic-bezier(.22,1,.36,1);
  z-index:1; /* 👈 BELOW TEXT */
}


.seo-node:hover::before{
  transform:scaleX(1);
}


.seo-node > *{
  position:relative;
  z-index:2;
}

.seo-node:hover{
  color:#fff;
}

/* Flow center */
.seo-flow{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  color:var(--text-muted);
  font-weight:600;
}

.flow-line{
  width:2px;
  height:220px;
  background:
    repeating-linear-gradient(
      to bottom,
      var(--accent-2),
      var(--border-subtle) 6px,
      transparent 6px,
      transparent 12px
    );
}

/* Bottom insight */
.uiux-seo-insight{
  max-width:760px;
  margin-top:10px;
}

.uiux-seo-insight p{
  font-size:1.05rem;
  color:var(--text-main);
  line-height:1.75;
}

/* ===============================
   RESPONSIVE
================================ */

@media(max-width:900px){
  .uiux-seo-map{
    grid-template-columns:1fr;
    gap:60px;
  }
  .seo-flow{
    display:none;
  }
}





/* ===============================
   WHY CHOOSE SAASSTARGO
================================ */

.uiux-why{
  padding:50px 0;
  background:var(--bg-dark);
}

.uiux-why-wrap{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:100px;
  align-items:flex-start;
}

/* LEFT CONTENT */
.uiux-why-content h2{
  font-size:2.6rem;
  line-height:1.15;
  margin-bottom:18px;
  color:var(--text-strong);
}

.why-blue{
  color:var(--primary);
}

.why-orange{
  color:var(--accent);
}

.uiux-why-lead{
  font-size:1.05rem;
  line-height:1.75;
  color:var(--text-main);
  max-width:520px;
  margin-bottom:28px;
}

/* RIGHT REASONS */
.uiux-why-reasons{
  display:flex;
  flex-direction:column;
  gap:26px;
}

/* INDIVIDUAL POINT */
.why-point{
  position:relative;
  padding-left:56px;
  transition:var(--transition-med);
}

.why-index{
  position:absolute;
  left:0;
  top:0;
  font-size:1.4rem;
  font-weight:700;
  color:var(--primary);
}

.why-point p{
  font-size:1.05rem;
  line-height:1.6;
  color:var(--text-main);
}

/* Hover interaction (subtle & premium) */
.why-point::before{
  content:"";
  position:absolute;
  left:0;
  bottom: 60%;
  width:0;
  height:2px;
  background:linear-gradient(
    to right,
    var(--primary),
    var(--accent)
  );
  transition:width .4s cubic-bezier(.22,1,.36,1);
}

.why-point::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px; /* 👈 places line BELOW text */
  width:0;
  height:2px;
  background:linear-gradient(
    to right,
    var(--primary),
    var(--accent)
  );
  transition:width .4s cubic-bezier(.22,1,.36,1);
}

.why-point:hover::before{
  width:36px;
}

.why-point:hover .why-index{
  color:var(--accent);
}

/* ===============================
   RESPONSIVE
================================ */

@media(max-width:900px){
  .uiux-why-wrap{
    grid-template-columns:1fr;
    gap:70px;
  }
}






/* ===============================
   FINAL UI/UX CTA – IMAGE LAYOUT
================================ */

.uiux-final{
  padding:50px 0;
  background:rgb(255, 255, 255);
  
}

/* Grid */
.uiux-final-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:110px;
  align-items:flex-start;
}

/* LEFT IMAGE */
.uiux-final-visual{
  position:sticky;
  top:120px;
}

.uiux-final-visual img{
  width:100%;
  max-width:420px;
  border-radius:var(--radius-xxl);
  
  display:block;
}

/* RIGHT CONTENT */
.uiux-final-content{
  display:flex;
  flex-direction:column;
  gap:120px;
}

/* PART 1 */
.uiux-final-pricing h2{
  font-size:2.6rem;
  line-height:1.15;
  color:var(--text-strong);
  margin-bottom:18px;
}

.final-blue{
  color:var(--primary);
}

.final-orange{
  color:var(--accent);
}

.final-lead{
  font-size:1.05rem;
  line-height:1.75;
  color:var(--text-main);
  max-width:620px;
  margin-bottom:28px;
}

/* PART 2 */
.uiux-final-convert h2{
  font-size:2.4rem;
  line-height:1.15;
  color:var(--text-strong);
  margin-bottom:14px;
}

.final-meta{
  font-size:.9rem;
  color:var(--text-muted);
  margin-bottom:12px;
}

.final-desc{
  font-size:1rem;
  line-height:1.75;
  color:var(--text-main);
  max-width:680px;
  margin-bottom:32px;
}

/* ACTIONS */
.uiux-final-actions{
  display:flex;
  gap:24px;
  align-items:center;
  flex-wrap:wrap;
}

/* Secondary CTA */
.btn-secondary{
  font-size:.95rem;
  color:var(--primary);
  text-decoration:none;
  position:relative;
  padding-bottom:4px;
}

.btn-secondary::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  background:linear-gradient(
    to right,
    var(--primary),
    var(--accent)
  );
  transition:width .4s cubic-bezier(.22,1,.36,1);
}

.btn-secondary:hover::after{
  width:100%;
}

/* ===============================
   RESPONSIVE
================================ */

@media(max-width:900px){
  .uiux-final-grid{
    grid-template-columns:1fr;
    gap:80px;
  }

  .uiux-final-visual{
    position:relative;
    top:auto;
  }

  .uiux-final-visual img{
    max-width:100%;
  }

  .uiux-final-content{
    gap:80px;
  }
}



/* ===============================
   PREMIUM FAQ SECTION
================================ */

.uiux-faq{
  padding:50px 0;
  background:var(--bg-dark);
  
}

.uiux-faq-header{
  max-width:760px;
  margin-bottom:80px;
}

.uiux-faq-header h2{
  font-size:2.5rem;
  color:var(--text-strong);
  margin-bottom:12px;
}

.uiux-faq-header p{
  color:var(--text-muted);
  line-height:1.7;
}

/* FAQ LIST */
.uiux-faq-list{
  max-width:900px;
}

/* ITEM */
.faq-item{
  border-radius:var(--radius-xl);
  background:var(--bg-light);
  box-shadow:var(--shadow-soft);
  margin-bottom:18px;
  overflow:hidden;
}

/* QUESTION */
.faq-question{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:26px 30px;
  background:none;
  border:none;
  cursor:pointer;
  font-size:1.05rem;
  font-weight:500;
  color:var(--text-strong);
  text-align:left;
  transition:var(--transition-med);
}

/* ICON */
.faq-icon{
  width:22px;
  height:22px;
  position:relative;
}
.faq-icon::before,
.faq-icon::after{
  content:"";
  position:absolute;
  background:var(--accent);
  transition:var(--transition-med);
}
.faq-icon::before{
  width:2px;
  height:100%;
  left:50%;
  top:0;
  transform:translateX(-50%);
}
.faq-icon::after{
  width:100%;
  height:2px;
  top:50%;
  left:0;
  transform:translateY(-50%);
}

/* ANSWER */
.faq-answer{
  max-height:0;
  overflow:hidden;
  padding:0 30px;
  color:var(--text-muted);
  line-height:1.7;
  transition:max-height .5s ease, padding .4s ease;
}

/* ACTIVE */
.faq-item.active .faq-answer{
  max-height:260px;
  padding:0 30px 24px;
}

.faq-item.active .faq-icon::before{
  transform:translateX(-50%) rotate(90deg);
  opacity:0;
}

.faq-item.active .faq-question{
  color:var(--primary);
}
