/* intro v21 — Loewe fold: vertical heading, watercolor blob, sketch figure, load rise */

/* Rotated 90° vertical heading */
.intro-fold__vtitle {
    writing-mode: vertical-rl;
    white-space: nowrap;
    line-height: 1;
}
@media (max-width: 767.98px) {
    .intro-fold__vtitle { writing-mode: horizontal-tb; }
}

/* Wax-seal / watercolor blob */
.intro-fold__blob {
    width: 24rem;
    height: 24rem;
    filter: blur(56px);
    opacity: 0.4;
    border-radius: 42% 58% 63% 37% / 45% 38% 62% 55%;
}

/* Drop-cap lead (framework-agnostic ::first-letter, no TW variant dependency) */
.intro-fold__lead::first-letter {
    font-size: 3rem;
    font-weight: 900;
    float: left;
    line-height: 0.9;
    margin-right: 0.75rem;
}

/* Like button fixed size (no BS w-N/h-N utility) */
.intro-fold__like {
    width: 2.25rem;
    height: 2.25rem;
}

/* Hand-drawn sketch treatment on the figure */
.intro-fold [data-figure] { aspect-ratio: 16 / 9; }
.intro-fold__img {
    object-fit: cover;
    filter: grayscale(0.35) contrast(1.12) saturate(0.9);
}

/* Subtle scale-up on load (0.92 → 1) */
.intro-fold__rise {
    opacity: 0;
    transform: scale(0.92);
    animation: intro-fold-rise 620ms ease forwards;
}
@keyframes intro-fold-rise {
    to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
    .intro-fold__rise { opacity: 1; transform: none; animation: none; }
}

.portfolio-flex__min {
    min-width: 0;
}

/* Card hover: scale */
.portfolio-item-hover {
    transition: transform 0.3s ease;
}
.portfolio-item-hover:hover {
    transform: scale(1.05);
}

/* Overlay: hidden by default, fades in when card is hovered */
.portfolio-overlay-hover {
    opacity: 0;
    transition: opacity 0.3s ease;
}
.portfolio-item-hover:hover .portfolio-overlay-hover {
    opacity: 0.9;
}


.prose-bodycopy__media-overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.prose-bodycopy__well-stack-gap {
    gap: 4rem;
}

.content-v43-badge-size {
    width: 2.25rem;
    height: 2.25rem;
    flex-shrink: 0;
}

.content-grid-gap {
    gap: 2rem;
}

.content-prose-measure {
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-wide-frame {
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.content-cta__lift { transition: transform 150ms ease; }
.content-cta__lift:hover { transform: translateY(-2px); }

.content-col-grow {
    flex: 1 1 0%;
    min-width: 0;
}

.content-img-ratio {
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    object-fit: cover;
    flex-shrink: 0;
}

.content-media-fullheight {
    min-height: 18rem;
}
@media (min-width: 992px) {
    .content-media-fullheight {
        height: 100%;
        min-height: 18rem;
    }
}

.content-thumb-height {
    display: block;
    width: 100%;
    height: 10rem;
    min-height: 10rem;
    flex-shrink: 0;
    object-fit: cover;
}

.cta-smoke-hero__cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.cta-smoke-hero__lines {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.cta-smoke-hero__line-track {
  letter-spacing: 0.08em;
  line-height: 1;
}

.cta-smoke-hero__line--center {
  align-self: center;
  text-align: center;
}

.cta-smoke-hero__line--end {
  align-self: flex-end;
  text-align: end;
  margin-inline-end: 4%;
}

.cta-smoke-hero__line--start {
  align-self: flex-start;
  text-align: start;
  margin-inline-start: 4%;
}

.cta-smoke-hero__rule {
  height: 0;
}

.cta-smoke-hero__cta {
  transition: filter 0.2s ease, transform 0.15s ease;
}

.cta-smoke-hero__cta:hover,
.cta-smoke-hero__cta:focus-visible {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.cta-smoke-hero__cta:hover .cta-smoke-hero__cta-icon,
.cta-smoke-hero__cta:focus-visible .cta-smoke-hero__cta-icon {
  transform: translate(2px, -2px);
}

.cta-smoke-hero__cta-icon {
  transition: transform 0.2s ease;
}

@media (min-width: 768px) {
  .cta-smoke-hero__lines {
    gap: 0.75rem;
  }

  .cta-smoke-hero__line--end {
    margin-inline-end: 10%;
  }

  .cta-smoke-hero__line--start {
    margin-inline-start: 10%;
  }
}

@media (max-width: 767px) {
  .cta-smoke-hero__line--end,
  .cta-smoke-hero__line--start {
    margin-inline: 0;
    align-self: center;
    text-align: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cta-smoke-hero__cta:hover,
  .cta-smoke-hero__cta:focus-visible {
    transform: none;
  }

  .cta-smoke-hero__cta:hover .cta-smoke-hero__cta-icon,
  .cta-smoke-hero__cta:focus-visible .cta-smoke-hero__cta-icon {
    transform: none;
  }
}

