/*
 * Kouider — GEO content module (home page long-form sections)
 * Typography, lists, figures and quotes for the AI-visibility content block.
 * Scoped to .k-geo so it cannot leak into other sections.
 */

.k-geo {
  padding-top: clamp(2rem, 5vw, 3.5rem);
}

/* Section intro spacing: each eyebrow + heading pair starts a new block. */
.k-geo .k-portfolio-eyebrow {
  margin-top: clamp(2.4rem, 5vw, 3.4rem);
}
.k-geo .k-portfolio-eyebrow:first-child {
  margin-top: 0;
}
.k-geo .k-section-heading {
  margin-bottom: .6rem;
}
.k-geo .k-section-sub {
  margin-bottom: 1.6rem;
}

/* Prose */
.k-geo p {
  line-height: 1.75;
  margin: .85em 0 1.1em;
  color: rgba(255,255,255,.78);
}
.k-geo p strong {
  color: var(--wp--preset--color--k-white);
  font-weight: 600;
}
.k-geo h3 {
  color: var(--wp--preset--color--k-white);
  font-weight: 600;
  font-size: clamp(1.1rem, 2.1vw, 1.35rem);
  line-height: 1.3;
  letter-spacing: -.01em;
  margin: 2em 0 .5em;
}
.k-geo a {
  color: var(--wp--preset--color--k-red-bright);
  text-decoration: underline;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
}
.k-geo a:hover {
  color: #fff;
}

/* Unordered lists */
.k-geo .k-geo-list {
  list-style: none;
  margin: .9em 0 1.3em;
  padding: 0;
}
.k-geo .k-geo-list li {
  position: relative;
  padding-left: 1.5rem;
  margin-bottom: .6em;
  line-height: 1.7;
  color: rgba(255,255,255,.78);
}
.k-geo .k-geo-list li::before {
  content: "";
  position: absolute;
  left: .15rem;
  top: .62em;
  width: .45rem;
  height: .45rem;
  border-radius: 2px;
  background: var(--wp--preset--color--k-red);
  transform: rotate(45deg);
}
.k-geo .k-geo-list li strong {
  color: var(--wp--preset--color--k-white);
}

/* Ordered step list — mono counters */
.k-geo .k-geo-steps {
  counter-reset: k-geo-step;
  list-style: none;
  margin: 1.2em 0 1.6em;
  padding: 0;
}
.k-geo .k-geo-steps li {
  counter-increment: k-geo-step;
  position: relative;
  padding: 0 0 0 3rem;
  margin-bottom: 1.15rem;
  line-height: 1.7;
  color: rgba(255,255,255,.78);
}
.k-geo .k-geo-steps li::before {
  content: counter(k-geo-step, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: .05em;
  width: 2rem;
  font-family: ui-monospace, 'Cascadia Code', 'JetBrains Mono', Menlo, Consolas, monospace;
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .04em;
  color: var(--wp--preset--color--k-red-bright);
}
.k-geo .k-geo-steps li strong {
  display: block;
  color: var(--wp--preset--color--k-white);
  margin-bottom: .15rem;
}

/* Figures — real project screenshots in a glass frame */
.k-geo .k-geo-figure {
  margin: 1.6rem 0;
  padding: 14px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: linear-gradient(145deg, rgba(255,255,255,.05), rgba(255,255,255,.02));
  transition: border-color .25s ease, transform .25s ease;
}
.k-geo .k-geo-figure:hover {
  border-color: rgba(255,38,56,.35);
  transform: translateY(-2px);
}
.k-geo .k-geo-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.07);
}
.k-geo .k-geo-figure figcaption {
  margin-top: .8rem;
  font-family: ui-monospace, 'Cascadia Code', 'JetBrains Mono', Menlo, Consolas, monospace;
  font-size: .76rem;
  line-height: 1.65;
  letter-spacing: .02em;
  color: var(--wp--preset--color--k-muted);
}
.k-geo .k-geo-figure figcaption strong {
  color: var(--wp--preset--color--k-white);
}

/* Cited quote */
.k-geo .k-geo-quote {
  margin: 1.6rem 0;
  padding: 18px 22px;
  border-left: 3px solid var(--wp--preset--color--k-red);
  border-radius: 0 14px 14px 0;
  background: rgba(255,255,255,.035);
  backdrop-filter: blur(8px);
}
.k-geo .k-geo-quote p {
  margin: 0 0 .5rem;
  font-size: clamp(1rem, 1.8vw, 1.15rem);
  line-height: 1.6;
  color: var(--wp--preset--color--k-white);
}
.k-geo .k-geo-quote cite {
  display: block;
  font-family: ui-monospace, 'Cascadia Code', 'JetBrains Mono', Menlo, Consolas, monospace;
  font-size: .72rem;
  font-style: normal;
  letter-spacing: .04em;
  color: var(--wp--preset--color--k-muted);
}

/* Dates */
.k-geo time {
  font-family: ui-monospace, 'Cascadia Code', 'JetBrains Mono', Menlo, Consolas, monospace;
  font-size: .92em;
  color: rgba(255,255,255,.9);
}

@media (max-width: 781px) {
  .k-geo .k-geo-steps li {
    padding-left: 2.4rem;
  }
  .k-geo .k-geo-figure {
    padding: 10px;
  }
}
