/* Homepage: Phase 4D Header + Hero */
.hero {
  overflow: clip;
}

.hero__inner {
  padding-block: clamp(1.8rem, 2.7vw, 2.6rem);
}

.hero__grid {
  align-items: center;
}

.hero__copy {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.hero__eyebrow {
  margin-bottom: clamp(1.5rem, 2.3vw, 2rem);
}

.hero__title {
  max-width: 8.8ch;
  font-size: clamp(3.4rem, 4.15vw, 3.75rem);
  font-weight: 600;
  line-height: 0.92;
  letter-spacing: -0.05em;
  text-wrap: balance;
}

.hero__body {
  max-width: 31rem;
  margin-top: clamp(1.5rem, 2.3vw, 2rem);
  color: var(--color-text-secondary);
  font-size: clamp(1rem, 1.25vw, 1.125rem);
  line-height: 1.48;
  letter-spacing: -0.012em;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-4);
  margin-top: clamp(1.6rem, 2.5vw, 2.25rem);
}

.hero__location {
  margin-top: clamp(1.5rem, 2.8vw, 2.5rem);
  color: var(--color-text-secondary);
}

.hero__media {
  grid-column: 6 / -1;
  min-width: 0;
}

.hero__media-shell {
  position: relative;
  height: clamp(30rem, 38vw, 38rem);
  overflow: hidden;
  background: var(--color-mist);
}

.hero__picture,
.hero__image {
  width: 100%;
  height: 100%;
}

.hero__image {
  object-fit: cover;
  object-position: 50% 50%;
}


.positioning-strip {
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.positioning-strip__scroller {
  min-height: 3.5rem;
  display: flex;
  align-items: center;
  gap: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.positioning-strip__scroller::-webkit-scrollbar {
  display: none;
}

.positioning-strip__item {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
  white-space: nowrap;
}

.positioning-strip__item:not(:last-child)::after {
  content: "+";
  margin-inline: clamp(1.15rem, 2.8vw, 2.5rem);
  color: var(--color-ink);
}

/* Progressive reveal: content stays visible if JavaScript is unavailable. */
.js [data-reveal] {
  opacity: 0;
  transform: translateY(0.55rem);
  transition:
    opacity var(--motion-reveal) var(--ease-standard),
    transform var(--motion-reveal) var(--ease-standard);
  transition-delay: var(--reveal-delay, 0ms);
}

.js [data-reveal].is-revealed {
  opacity: 1;
  transform: translateY(0);
}

.js [data-reveal="hero-media"] {
  opacity: 1;
  transform: none;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 680ms var(--ease-standard);
  transition-delay: var(--reveal-delay, 0ms);
}

.js [data-reveal="hero-media"].is-revealed {
  clip-path: inset(0 0 0 0);
}

@media (max-width: 74.9375rem) {
  .hero__title {
    font-size: clamp(3.1rem, 4.35vw, 3.5rem);
  }

  .hero__media-shell {
    height: clamp(29rem, 41vw, 33rem);
  }
}

@media (max-width: 56.1875rem) {
  .hero__inner {
    padding-block: 2rem 2.5rem;
  }

  .hero__copy,
  .hero__media {
    grid-column: 1 / -1;
  }

  .hero__copy {
    display: contents;
  }

  .hero__eyebrow {
    grid-column: 1 / -1;
    order: 1;
    margin-bottom: var(--space-5);
  }

  .hero__title {
    grid-column: 1 / -1;
    order: 2;
    max-width: 11ch;
    font-size: clamp(3.4rem, 8.2vw, 4.7rem);
  }

  .hero__body {
    grid-column: 1 / span 6;
    order: 3;
  }

  .hero__media {
    order: 4;
    margin-top: var(--space-7);
  }

  .hero__media-shell {
    height: auto;
    aspect-ratio: 16 / 9;
  }

  .hero__actions {
    grid-column: 1 / -1;
    order: 5;
    margin-top: var(--space-6);
  }

  .hero__location {
    grid-column: 1 / -1;
    order: 6;
    margin-top: var(--space-5);
  }
}

@media (max-width: 37.4375rem) {
  .hero__inner {
    padding-block: 1.75rem 2rem;
  }

  .hero__eyebrow {
    margin-bottom: var(--space-5);
  }

  .hero__title {
    max-width: 10ch;
    font-size: clamp(2.85rem, 13.2vw, 3.55rem);
    line-height: 0.93;
  }

  .hero__body {
    grid-column: 1 / -1;
    max-width: 32rem;
    margin-top: var(--space-5);
    font-size: 1rem;
  }

  .hero__media {
    margin-top: var(--space-6);
  }

  .hero__media-shell {
    aspect-ratio: 4 / 5;
  }

  .hero__actions {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    margin-top: var(--space-5);
  }

  .hero__actions .button,
  .hero__actions .text-link {
    width: 100%;
  }

  .hero__actions .text-link {
    justify-content: flex-start;
  }

  .hero__location {
    margin-top: var(--space-4);
  }


  .positioning-strip__scroller {
    min-height: 3.25rem;
  }

  .positioning-strip__item:not(:last-child)::after {
    margin-inline: 1.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .js [data-reveal],
  .js [data-reveal="hero-media"] {
    opacity: 1;
    transform: none;
    clip-path: none;
    transition: none;
  }
}

/* Homepage: Phase 4E Selected Work */
.selected-work {
  overflow: clip;
}

.selected-work__intro {
  align-items: start;
  margin-bottom: clamp(4.5rem, 7vw, 7rem);
}

.selected-work__label {
  grid-column: 1 / span 3;
  padding-top: 0.35rem;
}

.selected-work__heading {
  grid-column: 5 / -1;
  min-width: 0;
}

.selected-work__title {
  max-width: 10.5ch;
}

.selected-work__copy {
  max-width: 37rem;
  margin-top: var(--space-5);
  color: var(--color-text-secondary);
}

.selected-work__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: var(--grid-gap);
  row-gap: clamp(5.5rem, 8vw, 7.5rem);
  align-items: start;
}

.project-card {
  min-width: 0;
}

.project-card--01 {
  grid-column: 1 / span 6;
}

.project-card--02 {
  grid-column: 8 / -1;
  margin-top: clamp(4rem, 6.5vw, 6.5rem);
}

.project-card--03 {
  grid-column: 2 / span 5;
}

.project-card--04 {
  grid-column: 8 / span 4;
  margin-top: clamp(3.5rem, 5vw, 5rem);
}

.project-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.project-card__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--color-mist);
  isolation: isolate;
}

.project-card__picture,
.project-card__image {
  width: 100%;
  height: 100%;
}

.project-card__picture {
  position: absolute;
  inset: 0;
}

.project-card__picture--01 {
  z-index: 1;
}

.project-card__picture--02 {
  z-index: 2;
  opacity: 0;
  transition: opacity 210ms var(--ease-ui);
}

.project-card__image {
  object-fit: cover;
  object-position: 50% 50%;
}

.project-card__details {
  padding-top: var(--space-4);
}

.project-card__meta-row,
.project-card__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
}

.project-card__kicker,
.project-card__frame-state,
.project-card__mode,
.project-card__status {
  font-size: var(--font-size-2xs);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.project-card__kicker {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
}

.project-card__accent {
  width: 1.5rem;
  height: 2px;
  flex: 0 0 auto;
  background: var(--project-accent);
}

.project-card__frame-state,
.project-card__mode,
.project-card__status {
  color: var(--color-text-secondary);
}

.project-card__frame-state {
  position: relative;
  min-width: 4.5rem;
  text-align: right;
}

.project-card__frame-01-label,
.project-card__frame-02-label {
  display: block;
  transition: opacity var(--motion-fast) var(--ease-ui);
}

.project-card__frame-02-label {
  position: absolute;
  inset: 0 0 auto auto;
  opacity: 0;
}

.project-card__title-row {
  margin-top: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-line);
}

.project-card__title {
  font-size: clamp(1.7rem, 2.6vw, 2.6rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.04em;
}

.project-card__arrow {
  flex: 0 0 auto;
  font-size: 1.05rem;
  transition:
    color var(--motion-fast) var(--ease-ui),
    transform var(--motion-fast) var(--ease-ui);
}

.project-card__mode {
  margin-top: var(--space-3);
}

.project-card__status {
  margin-top: var(--space-2);
}

.selected-work__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: clamp(5rem, 7vw, 7rem);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

@media (hover: hover) and (pointer: fine) {
  .project-card__link:hover .project-card__picture--02,
  .project-card__link:focus-visible .project-card__picture--02 {
    opacity: 1;
  }

  .project-card__link:hover .project-card__frame-01-label,
  .project-card__link:focus-visible .project-card__frame-01-label {
    opacity: 0;
  }

  .project-card__link:hover .project-card__frame-02-label,
  .project-card__link:focus-visible .project-card__frame-02-label {
    opacity: 1;
  }

  .project-card__link:hover .project-card__arrow,
  .project-card__link:focus-visible .project-card__arrow {
    color: var(--project-accent);
    transform: translate(0.16rem, -0.16rem);
  }
}

@media (max-width: 74.9375rem) {
  .selected-work__grid {
    row-gap: 5.5rem;
  }

  .project-card--01,
  .project-card--03 {
    grid-column: 1 / span 6;
  }

  .project-card--02,
  .project-card--04 {
    grid-column: 7 / -1;
  }

  .project-card--02 {
    margin-top: 3.5rem;
  }

  .project-card--04 {
    margin-top: 2.5rem;
  }
}

@media (max-width: 56.1875rem) {
  .selected-work__intro {
    margin-bottom: 4rem;
  }

  .selected-work__label,
  .selected-work__heading {
    grid-column: 1 / -1;
  }

  .selected-work__heading {
    margin-top: var(--space-6);
  }

  .selected-work__title {
    max-width: 11ch;
  }

  .selected-work__grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
    row-gap: 4.5rem;
  }

  .project-card--01,
  .project-card--03 {
    grid-column: 1 / span 4;
  }

  .project-card--02,
  .project-card--04 {
    grid-column: 5 / -1;
    margin-top: 0;
  }

  .selected-work__footer {
    margin-top: 4.5rem;
  }
}

@media (max-width: 37.4375rem) {
  .selected-work__intro {
    margin-bottom: 3.25rem;
  }

  .selected-work__heading {
    margin-top: var(--space-5);
  }

  .selected-work__copy {
    margin-top: var(--space-4);
    font-size: 1rem;
  }

  .selected-work__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    row-gap: 3.75rem;
  }

  .project-card--01,
  .project-card--02,
  .project-card--03,
  .project-card--04 {
    grid-column: 1 / -1;
    margin-top: 0;
  }

  .project-card__details {
    padding-top: var(--space-3);
  }

  .project-card__title {
    font-size: clamp(1.75rem, 8vw, 2.15rem);
  }

  .project-card__status {
    max-width: 24rem;
  }

  .selected-work__footer {
    justify-content: flex-start;
    margin-top: 3.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .project-card__picture--02,
  .project-card__frame-01-label,
  .project-card__frame-02-label,
  .project-card__arrow {
    transition: none;
  }
}


/* Homepage: Phase 4F Services + Pricing */
.services,
.pricing {
  overflow: clip;
}

.services {
  border-top: 1px solid var(--color-line);
}

.services__intro,
.pricing__intro {
  align-items: start;
  margin-bottom: clamp(3.75rem, 6vw, 6rem);
}

.services__label,
.pricing__label {
  grid-column: 1 / span 3;
  padding-top: 0.35rem;
}

.services__heading,
.pricing__heading {
  grid-column: 5 / -1;
  min-width: 0;
}

.services__title {
  max-width: 10ch;
}

.pricing__title {
  max-width: 13ch;
}

.services__copy,
.pricing__copy {
  max-width: 40rem;
  margin-top: var(--space-5);
  color: var(--color-text-secondary);
}

.services__body {
  align-items: stretch;
}

.service-list {
  grid-column: 1 / span 7;
  border-top: 1px solid var(--color-line);
}

.service-row {
  width: 100%;
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr) auto;
  gap: var(--space-5);
  align-items: start;
  padding: clamp(1.55rem, 2.35vw, 2.15rem) 0;
  border: 0;
  border-bottom: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-ink);
  text-align: left;
  cursor: pointer;
}

.service-row__index {
  padding-top: 0.35rem;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  letter-spacing: var(--tracking-meta);
}

.service-row__main {
  min-width: 0;
}

.service-row__title {
  display: block;
  font-size: clamp(2.1rem, 4.15vw, 4rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.04em;
}

.service-row__copy {
  display: block;
  max-width: 35rem;
  margin-top: var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.service-row__action {
  padding-top: 0.05rem;
  font-size: 1.3rem;
  line-height: 1;
  transition: transform var(--motion-fast) var(--ease-ui);
}

.service-row:hover .service-row__action,
.service-row:focus-visible .service-row__action {
  transform: rotate(90deg);
}

.services-preview {
  grid-column: 9 / -1;
  align-self: stretch;
  min-width: 0;
}

.services-preview__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--color-mist);
}

.services-preview__picture {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 220ms var(--ease-ui);
}

.services-preview__picture--stills {
  opacity: 1;
}

.services[data-active-preview="motion"] .services-preview__picture--stills,
.services[data-active-preview="campaigns"] .services-preview__picture--stills {
  opacity: 0;
}

.services[data-active-preview="motion"] .services-preview__picture--motion,
.services[data-active-preview="campaigns"] .services-preview__picture--campaigns {
  opacity: 1;
}

.services-preview__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.services-preview__caption {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  padding-top: var(--space-3);
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.services__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-7);
}

.pricing {
  background: var(--color-white);
  border-top: 1px solid var(--color-line);
  border-bottom: 1px solid var(--color-line);
}

.pricing-list {
  border-top: 1px solid var(--color-line-strong);
}

.pricing-row {
  width: 100%;
  min-height: 5.25rem;
  display: grid;
  grid-template-columns: minmax(2.75rem, 0.7fr) minmax(0, 5fr) minmax(9.5rem, 1.55fr) auto;
  gap: var(--grid-gap);
  align-items: center;
  padding: var(--space-4) 0;
  border: 0;
  border-bottom: 1px solid var(--color-line);
  background: transparent;
  color: var(--color-ink);
  text-align: left;
  cursor: pointer;
}

.pricing-row__index {
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  letter-spacing: var(--tracking-meta);
}

.pricing-row__name {
  font-size: clamp(1.45rem, 2.55vw, 2.7rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.035em;
}

.pricing-row__price {
  justify-self: start;
  font-size: clamp(1rem, 1.45vw, 1.25rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.015em;
  white-space: nowrap;
}

.pricing-row__price > span {
  margin-right: 0.32rem;
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  letter-spacing: var(--tracking-meta);
}

.pricing-row__action {
  font-size: 1.25rem;
  transition: transform var(--motion-fast) var(--ease-ui);
}

.pricing-row:hover .pricing-row__action,
.pricing-row:focus-visible .pricing-row__action {
  transform: rotate(90deg);
}

.pricing__note {
  align-items: start;
  margin-top: var(--space-6);
}

.pricing__note > p {
  grid-column: 5 / span 5;
  max-width: 38rem;
  line-height: 1.55;
}

.pricing__start {
  grid-column: 10 / -1;
  justify-self: end;
}

.service-drawer__body {
  display: grid;
  gap: var(--space-7);
}

.service-drawer__hero {
  display: grid;
  gap: var(--space-4);
}

.service-drawer__title {
  font-size: clamp(2.4rem, 4.1vw, 3.8rem);
  font-weight: 500;
  line-height: 0.94;
  letter-spacing: -0.045em;
}

.service-drawer__price {
  white-space: normal;
  font-size: 1.05rem;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.01em;
}

.service-drawer__intro {
  color: var(--color-text-secondary);
  font-size: var(--font-size-md);
  line-height: 1.55;
}

.service-drawer__block {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line);
}

.service-drawer__list {
  display: grid;
  gap: 0;
  list-style: none;
}

.service-drawer__list li {
  position: relative;
  padding: 0.72rem 0 0.72rem 1.25rem;
  border-bottom: 1px solid var(--color-line);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}

.service-drawer__list li::before {
  content: "+";
  position: absolute;
  left: 0;
  color: var(--color-text-secondary);
}

.service-drawer__note,
.service-drawer__legal {
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-line-strong);
  line-height: 1.55;
}

.service-drawer__usage-grid {
  display: grid;
  border-top: 1px solid var(--color-line);
}

.service-drawer__usage-grid > div {
  display: grid;
  grid-template-columns: minmax(7.5rem, 0.8fr) 1fr;
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-bottom: 1px solid var(--color-line);
  font-size: var(--font-size-xs);
  line-height: 1.45;
}

.service-drawer__usage-grid strong {
  font-size: var(--font-size-2xs);
  font-weight: 600;
  letter-spacing: 0.05em;
}

.service-drawer__usage-grid span {
  color: var(--color-text-secondary);
}

.service-drawer__footer {
  display: grid;
  gap: var(--space-4);
}

.service-drawer__footer .button,
.service-drawer__footer .text-link {
  width: 100%;
}

.service-drawer__footer .text-link {
  justify-content: flex-start;
}

@media (max-width: 56.1875rem) {
  .services__label,
  .pricing__label {
    grid-column: 1 / span 2;
  }

  .services__heading,
  .pricing__heading {
    grid-column: 3 / -1;
  }

  .service-list {
    grid-column: 1 / span 5;
  }

  .services-preview {
    grid-column: 6 / -1;
  }

  .service-row {
    grid-template-columns: 2.2rem minmax(0, 1fr) auto;
    gap: var(--space-4);
  }

  .service-row__title {
    font-size: clamp(2rem, 5vw, 3rem);
  }

  .pricing-row {
    grid-template-columns: 2.25rem minmax(0, 1fr) minmax(8.5rem, auto) auto;
    gap: var(--space-4);
  }

  .pricing__note > p {
    grid-column: 3 / span 4;
  }

  .pricing__start {
    grid-column: 7 / -1;
  }
}

@media (max-width: 46rem) {
  .services-preview {
    display: none;
  }

  .service-list {
    grid-column: 1 / -1;
  }
}

@media (max-width: 37.4375rem) {
  .services__intro,
  .pricing__intro {
    margin-bottom: var(--space-8);
  }

  .services__label,
  .services__heading,
  .pricing__label,
  .pricing__heading {
    grid-column: 1 / -1;
  }

  .services__heading,
  .pricing__heading {
    margin-top: var(--space-6);
  }

  .service-row {
    grid-template-columns: 1.75rem minmax(0, 1fr) auto;
    gap: var(--space-3);
    padding-block: var(--space-5);
  }

  .service-row__title {
    font-size: clamp(2rem, 10vw, 2.7rem);
  }

  .service-row__copy {
    margin-top: var(--space-3);
    font-size: 0.8125rem;
  }

  .services__footer {
    justify-content: flex-start;
    margin-top: var(--space-6);
  }

  .pricing-row {
    min-height: 5.75rem;
    grid-template-columns: 1.75rem minmax(0, 1fr) auto;
    gap: var(--space-3);
    align-items: start;
    padding-block: var(--space-5);
  }

  .pricing-row__name {
    font-size: clamp(1.45rem, 7vw, 1.85rem);
  }

  .pricing-row__price {
    grid-column: 2;
    margin-top: 0.2rem;
    font-size: 0.95rem;
  }

  .pricing-row__action {
    grid-column: 3;
    grid-row: 1 / span 2;
  }

  .pricing__note {
    display: grid;
    gap: var(--space-5);
  }

  .pricing__note > p,
  .pricing__start {
    grid-column: 1 / -1;
  }

  .pricing__start {
    justify-self: start;
  }

  .service-drawer__usage-grid > div {
    grid-template-columns: 1fr;
    gap: var(--space-1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .services-preview__picture,
  .service-row__action,
  .pricing-row__action {
    transition: none;
  }
}

/* Homepage: Phase 4G Approach + Process + About */
.approach__intro,
.process__intro,
.about__intro {
  align-items: start;
  margin-bottom: clamp(3.5rem, 5vw, 5rem);
}

.approach__label,
.process__label,
.about__label {
  grid-column: 1 / span 3;
}

.approach__heading,
.process__heading,
.about__heading {
  grid-column: 5 / -1;
  max-width: 50rem;
}

.approach__title,
.process__title,
.about__title {
  max-width: 12ch;
}

.approach__copy,
.process__copy {
  max-width: 40rem;
  margin-top: var(--space-5);
  color: var(--color-text-secondary);
}

.approach-pillars {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--color-line-strong);
}

.approach-pillar {
  min-width: 0;
  padding: var(--space-5) var(--space-6) var(--space-7) 0;
}

.approach-pillar + .approach-pillar {
  padding-left: var(--space-6);
  border-left: 1px solid var(--color-line);
}

.approach-pillar__index,
.process-step__index {
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  line-height: 1;
  letter-spacing: var(--tracking-meta);
}

.approach-pillar__title {
  margin-top: clamp(2.5rem, 4vw, 4.5rem);
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.approach-pillar__copy {
  max-width: 26rem;
  margin-top: var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.approach__footer {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-6);
}

/* Approach drawer */
.approach-drawer__body,
.about-drawer__body {
  display: grid;
  align-content: start;
  gap: var(--space-8);
}

.approach-drawer__hero,
.about-drawer__hero {
  display: grid;
  gap: var(--space-5);
}

.approach-drawer__title {
  max-width: 11ch;
  font-size: clamp(2.3rem, 4.2vw, 4rem);
  font-weight: 600;
  line-height: 0.95;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.approach-drawer__intro {
  max-width: 37rem;
  color: var(--color-text-secondary);
  font-size: 1rem;
  line-height: 1.55;
}

.realism-modes {
  border-top: 1px solid var(--color-line-strong);
}

.realism-mode {
  display: grid;
  grid-template-columns: 2rem minmax(0, 0.9fr) minmax(0, 1.35fr);
  gap: var(--space-4);
  align-items: start;
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-line);
}

.realism-mode > span {
  color: var(--color-text-secondary);
  font-size: var(--font-size-2xs);
  letter-spacing: var(--tracking-meta);
}

.realism-mode > strong {
  font-size: var(--font-size-xs);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: 0.04em;
}

.realism-mode > p {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.approach-drawer__quote {
  max-width: 18ch;
  font-family: var(--font-serif);
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -0.025em;
}

.approach-drawer__quality {
  display: grid;
  gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: 1px solid var(--color-line-strong);
}

.approach-drawer__quality ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3) var(--space-6);
  list-style: none;
}

.approach-drawer__quality li {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
}

/* Process */
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  list-style: none;
  border-top: 1px solid var(--color-line-strong);
}

.process-step {
  min-width: 0;
  min-height: 19rem;
  display: flex;
  flex-direction: column;
  padding: var(--space-5) var(--space-6) var(--space-6) 0;
}

.process-step + .process-step {
  padding-left: var(--space-6);
  border-left: 1px solid var(--color-line);
}

.process-step__title {
  margin-top: auto;
  padding-top: var(--space-8);
  font-size: clamp(1.75rem, 2.5vw, 2.6rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.04em;
}

.process-step__copy {
  min-height: 4.6rem;
  margin-top: var(--space-4);
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.process__cta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

/* About */
.about__body {
  align-items: start;
}

.about__media {
  grid-column: 1 / span 5;
  overflow: hidden;
  background: var(--color-mist);
}

.about__media picture,
.about__image {
  width: 100%;
}

.about__image {
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.about__copy-block {
  grid-column: 7 / -1;
  align-self: end;
  display: grid;
  gap: clamp(1.75rem, 3vw, 2.75rem);
  max-width: 37rem;
  padding-bottom: var(--space-2);
}

.about__statement {
  max-width: 25ch;
  font-family: var(--font-serif);
  font-size: clamp(1.65rem, 2.7vw, 2.6rem);
  line-height: 1.06;
  letter-spacing: -0.026em;
}

.about__copy-block .text-link {
  justify-self: start;
}

.about-drawer__facts {
  border-top: 1px solid var(--color-line-strong);
}

.about-drawer__facts > div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.55fr) minmax(0, 1.45fr);
  gap: var(--space-5);
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-line);
}

.about-drawer__facts dt {
  font-size: var(--font-size-2xs);
  font-weight: 600;
  letter-spacing: var(--tracking-meta);
}

.about-drawer__facts dd {
  color: var(--color-text-secondary);
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

@media (max-width: 56.1875rem) {
  .approach__label,
  .process__label,
  .about__label {
    grid-column: 1 / span 2;
  }

  .approach__heading,
  .process__heading,
  .about__heading {
    grid-column: 3 / -1;
  }

  .approach-pillars {
    grid-template-columns: 1fr;
  }

  .approach-pillar,
  .approach-pillar + .approach-pillar {
    min-height: 0;
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 0.8fr) minmax(0, 1.2fr);
    gap: var(--space-4);
    padding: var(--space-5) 0;
    border-left: 0;
    border-bottom: 1px solid var(--color-line);
  }

  .approach-pillar__title,
  .approach-pillar__copy {
    margin-top: 0;
  }

  .approach-pillar__title {
    font-size: 1.35rem;
  }

  .process-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .process-step {
    min-height: 15rem;
  }

  .process-step:nth-child(3) {
    padding-left: 0;
    border-left: 0;
    border-top: 1px solid var(--color-line);
  }

  .process-step:nth-child(4) {
    border-top: 1px solid var(--color-line);
  }

  .about__media {
    grid-column: 1 / span 4;
  }

  .about__copy-block {
    grid-column: 5 / -1;
  }
}

@media (max-width: 37.4375rem) {
  .approach__intro,
  .process__intro,
  .about__intro {
    margin-bottom: var(--space-8);
  }

  .approach__label,
  .approach__heading,
  .process__label,
  .process__heading,
  .about__label,
  .about__heading {
    grid-column: 1 / -1;
  }

  .approach__heading,
  .process__heading,
  .about__heading {
    margin-top: var(--space-6);
  }

  .approach__title,
  .process__title,
  .about__title {
    max-width: 10ch;
  }

  .approach-pillar,
  .approach-pillar + .approach-pillar {
    grid-template-columns: 1.75rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .approach-pillar__copy {
    grid-column: 2;
  }

  .approach__footer {
    justify-content: flex-start;
  }

  .process-steps {
    grid-template-columns: 1fr;
  }

  .process-step,
  .process-step + .process-step,
  .process-step:nth-child(3),
  .process-step:nth-child(4) {
    min-height: 0;
    display: grid;
    grid-template-columns: 1.75rem minmax(0, 1fr);
    gap: var(--space-3);
    padding: var(--space-5) 0;
    border-left: 0;
    border-top: 0;
    border-bottom: 1px solid var(--color-line);
  }

  .process-step__title {
    margin: 0;
    padding: 0;
    font-size: 1.65rem;
  }

  .process-step__copy {
    grid-column: 2;
    min-height: 0;
    margin-top: 0;
  }

  .process__cta {
    align-items: flex-start;
    justify-content: flex-start;
    flex-direction: column;
    gap: var(--space-2);
    margin-top: var(--space-6);
  }

  .about__media,
  .about__copy-block {
    grid-column: 1 / -1;
  }

  .about__copy-block {
    margin-top: var(--space-7);
  }

  .about__statement {
    font-size: clamp(1.7rem, 8vw, 2.2rem);
  }

  .realism-mode {
    grid-template-columns: 1.75rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .realism-mode > p {
    grid-column: 2;
  }

  .approach-drawer__quality ul {
    grid-template-columns: 1fr;
  }

  .about-drawer__facts > div {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }
}

/* Homepage: Phase 4H Learn + Journal + FAQ */
.learn__intro,
.journal__intro,
.faq__intro {
  align-items: start;
  margin-bottom: clamp(4.5rem, 7vw, 7rem);
}

.learn__label,
.journal__label,
.faq__label {
  grid-column: 1 / span 3;
  padding-top: 0.35rem;
}

.learn__heading,
.journal__heading,
.faq__heading {
  grid-column: 5 / -1;
  min-width: 0;
}

.learn__title,
.journal__title,
.faq__title {
  max-width: 11ch;
}

.learn__copy {
  max-width: 37rem;
  margin-top: var(--space-5);
  color: var(--color-text-secondary);
}

/* Learn */
.learn__offers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--color-line-strong);
  border-bottom: 1px solid var(--color-line-strong);
}

.learn-offer {
  min-height: 30rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.75rem, 3vw, 2.5rem);
}

.learn-offer + .learn-offer {
  border-left: 1px solid var(--color-line);
}

.learn-offer__top,
.learn-offer__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}

.learn-offer__index {
  color: var(--color-text-secondary);
  font-size: var(--font-size-xs);
  font-weight: 500;
}

.learn-offer__body {
  margin-block: auto;
  padding-block: var(--space-8);
}

.learn-offer__title {
  max-width: 11ch;
  font-size: clamp(2.4rem, 4.8vw, 5.2rem);
  font-weight: 500;
  line-height: 0.92;
  letter-spacing: -0.05em;
}

.learn-offer__copy {
  max-width: 28rem;
  margin-top: var(--space-5);
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: 1.55;
}

.learn-offer__note {
  max-width: 15rem;
  color: var(--color-text-secondary);
  text-align: right;
}

.learn-offer__note--link {
  text-decoration: none;
}

.learn-offer__note--link:hover,
.learn-offer__note--link:focus-visible {
  color: var(--color-ink);
}

.learn-dialog__body {
  display: grid;
  gap: var(--space-7);
}

.learn-dialog__intro {
  display: grid;
  gap: var(--space-4);
}

.learn-dialog__intro p {
  max-width: 32rem;
}

.learn-form__consent {
  align-items: flex-start;
  max-width: 31rem;
}

.form-feedback {
  font-size: var(--font-size-sm);
  line-height: 1.5;
}

.form-feedback--error {
  color: var(--color-danger);
}

.form-success {
  min-height: 14rem;
  display: grid;
  align-content: center;
  gap: var(--space-4);
  border-top: 1px solid var(--color-line-strong);
  border-bottom: 1px solid var(--color-line);
}

.form-success[hidden] {
  display: none;
}

.bot-field {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Journal */
.journal__body {
  align-items: start;
}

.journal__list {
  grid-column: 1 / span 8;
  border-top: 1px solid var(--color-line-strong);
}

.journal-row {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) auto 1.25rem;
  gap: var(--space-5);
  align-items: center;
  min-height: 8rem;
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-line);
  text-decoration: none;
}

.journal-row__index,
.journal-row__category,
.journal-row__status,
.journal-preview__meta {
  font-size: var(--font-size-2xs);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.journal-row__index,
.journal-row__category,
.journal-row__status {
  color: var(--color-text-secondary);
}

.journal-row__main {
  min-width: 0;
  display: grid;
  gap: var(--space-2);
}

.journal-row__title {
  max-width: 22ch;
  font-size: clamp(1.65rem, 2.7vw, 2.9rem);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.036em;
}

.journal-row__arrow {
  transition: transform var(--motion-fast) var(--ease-ui);
}

.journal-row:hover .journal-row__arrow,
.journal-row:focus-visible .journal-row__arrow {
  transform: translateX(0.18rem);
}

.journal-row:hover .journal-row__title,
.journal-row:focus-visible .journal-row__title {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12em;
}

.journal__cta {
  padding-top: var(--space-5);
}

.journal-preview {
  grid-column: 10 / -1;
  position: sticky;
  top: calc(var(--header-height) + var(--space-6));
}

.journal-preview__shell {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--color-mist);
}

.journal-preview__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 210ms var(--ease-ui);
}

.journal-preview__image.is-active {
  opacity: 1;
}

.journal-preview__meta {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  margin-top: var(--space-3);
  color: var(--color-text-secondary);
}

/* FAQ */
.faq__body {
  align-items: start;
}

.faq-list {
  grid-column: 1 / span 9;
  border-top: 1px solid var(--color-line-strong);
}

.faq-item {
  border-bottom: 1px solid var(--color-line);
}

.faq-item__summary {
  min-height: 5.25rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--touch-min);
  gap: var(--space-5);
  align-items: center;
  list-style: none;
  cursor: pointer;
  font-size: clamp(1.15rem, 1.9vw, 1.55rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

.faq-item__summary::-webkit-details-marker {
  display: none;
}

.faq-item__icon {
  position: relative;
  width: var(--touch-min);
  height: var(--touch-min);
}

.faq-item__icon::before,
.faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.9rem;
  height: 1px;
  background: currentColor;
  transform: translate(-50%, -50%);
  transition: transform var(--motion-fast) var(--ease-ui), opacity var(--motion-fast) var(--ease-ui);
}

.faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.faq-item[open] .faq-item__icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(0deg);
}

.faq-item__answer {
  max-width: 48rem;
  padding: 0 var(--touch-min) var(--space-6) 0;
  color: var(--color-text-secondary);
  font-size: var(--font-size-base);
  line-height: 1.6;
}

.faq__aside {
  grid-column: 11 / -1;
  display: grid;
  gap: var(--space-4);
  padding-top: var(--space-5);
}

.faq__aside .text-link {
  justify-self: start;
}

@media (max-width: 56.1875rem) {
  .learn__label,
  .journal__label,
  .faq__label {
    grid-column: 1 / span 2;
  }

  .learn__heading,
  .journal__heading,
  .faq__heading {
    grid-column: 3 / -1;
  }

  .learn-offer {
    min-height: 26rem;
  }

  .journal__list {
    grid-column: 1 / span 6;
  }

  .journal-preview {
    grid-column: 7 / -1;
  }

  .journal-row {
    grid-template-columns: 2rem minmax(0, 1fr) 1.25rem;
  }

  .journal-row__status {
    display: none;
  }

  .faq-list {
    grid-column: 1 / span 6;
  }

  .faq__aside {
    grid-column: 7 / -1;
  }
}

@media (max-width: 37.4375rem) {
  .learn__intro,
  .journal__intro,
  .faq__intro {
    margin-bottom: var(--space-8);
  }

  .learn__label,
  .learn__heading,
  .journal__label,
  .journal__heading,
  .faq__label,
  .faq__heading {
    grid-column: 1 / -1;
  }

  .learn__heading,
  .journal__heading,
  .faq__heading {
    margin-top: var(--space-6);
  }

  .learn__offers {
    grid-template-columns: 1fr;
  }

  .learn-offer {
    min-height: 24rem;
    padding-inline: 0;
  }

  .learn-offer + .learn-offer {
    border-left: 0;
    border-top: 1px solid var(--color-line);
  }

  .learn-offer__title {
    font-size: clamp(2.7rem, 13vw, 4.4rem);
  }

  .learn-offer__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .learn-offer__note {
    max-width: none;
    text-align: left;
  }

  .journal__list,
  .faq-list,
  .faq__aside {
    grid-column: 1 / -1;
  }

  .journal-preview {
    display: none;
  }

  .journal-row {
    grid-template-columns: 1.5rem minmax(0, 1fr) 1rem;
    gap: var(--space-3);
    min-height: 7.25rem;
  }

  .journal-row__title {
    font-size: clamp(1.55rem, 7.2vw, 2rem);
  }

  .faq__aside {
    margin-top: var(--space-6);
    padding-top: 0;
  }

  .faq-item__summary {
    min-height: 4.75rem;
    gap: var(--space-3);
    font-size: 1.1rem;
  }

  .faq-item__answer {
    padding-right: 0;
  }
}

/* Homepage: Phase 4I Final Start Project + Footer */
.final-cta {
  padding-block: clamp(4.75rem, 7.5vw, 7.5rem);
  border-top: 0;
}

.final-cta .section-label,
.final-cta .section-label__index,
.final-cta .type-meta {
  color: rgba(246, 245, 241, 0.62);
}

.final-cta__intro {
  align-items: start;
  margin-bottom: clamp(4.25rem, 6.5vw, 6.5rem);
}

.final-cta__label {
  grid-column: 1 / span 3;
  padding-top: 0.4rem;
}

.final-cta__heading {
  grid-column: 5 / -1;
}

.final-cta__title {
  max-width: none;
  color: var(--color-on-dark);
  font-size: clamp(4.2rem, 7vw, 7.4rem);
  font-weight: 500;
  line-height: 0.86;
  letter-spacing: -0.058em;
}

.final-cta__copy {
  max-width: 32rem;
  margin-top: var(--space-6);
  color: rgba(246, 245, 241, 0.68);
  font-size: clamp(1.05rem, 1.35vw, 1.2rem);
  line-height: 1.5;
}

.final-cta__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(246, 245, 241, 0.34);
  border-bottom: 1px solid rgba(246, 245, 241, 0.34);
}

.final-cta-choice {
  min-height: 24rem;
  display: flex;
  flex-direction: column;
  padding: clamp(1.75rem, 3vw, 2.5rem);
}

.final-cta-choice + .final-cta-choice {
  border-left: 1px solid rgba(246, 245, 241, 0.22);
}

.final-cta-choice__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-5);
}

.final-cta-choice__mark {
  color: rgba(246, 245, 241, 0.64);
  font-size: 1.1rem;
}

.final-cta-choice__body {
  margin-block: auto;
  padding-block: var(--space-8);
}

.final-cta-choice__title {
  max-width: 13ch;
  color: var(--color-on-dark);
  font-size: clamp(2rem, 3.2vw, 3.65rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.042em;
}

.final-cta-choice__body p {
  max-width: 28rem;
  margin-top: var(--space-5);
  color: rgba(246, 245, 241, 0.66);
  font-size: var(--font-size-base);
  line-height: 1.55;
}

.final-cta-choice .button {
  align-self: flex-start;
}

.site-footer {
  padding-block: clamp(4.5rem, 7vw, 7rem) var(--space-6);
  border-top: 1px solid rgba(246, 245, 241, 0.28);
}

.site-footer a,
.site-footer button {
  color: inherit;
}

.site-footer__main {
  align-items: start;
  padding-bottom: clamp(5rem, 9vw, 9rem);
}

.site-footer__brand {
  grid-column: 1 / span 5;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.site-footer__wordmark {
  font-size: clamp(3.8rem, 7vw, 7.5rem);
  font-weight: 600;
  line-height: 0.86;
  letter-spacing: -0.065em;
  text-decoration: none;
}

.site-footer__descriptor {
  margin-top: var(--space-7);
  font-size: var(--font-size-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.site-footer__micro,
.site-footer__location {
  color: rgba(246, 245, 241, 0.6);
  font-size: var(--font-size-sm);
  line-height: 1.45;
}

.site-footer__micro {
  max-width: 22rem;
  margin-top: var(--space-3);
}

.site-footer__location {
  margin-top: var(--space-6);
  letter-spacing: 0.04em;
}

.site-footer__email {
  margin-top: var(--space-3);
  font-size: var(--font-size-sm);
  text-underline-offset: 0.25em;
}

.site-footer__group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.site-footer__group:nth-of-type(1) { grid-column: 7 / span 2; }
.site-footer__group:nth-of-type(2) { grid-column: 9 / span 2; }
.site-footer__group:nth-of-type(3) { grid-column: 11 / span 1; }
.site-footer__group:nth-of-type(4) { grid-column: 12 / span 1; }

.site-footer__group-title {
  margin-bottom: var(--space-2);
  color: rgba(246, 245, 241, 0.48);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.site-footer__group a,
.site-footer__group button {
  min-height: 2rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(246, 245, 241, 0.88);
  font-size: var(--font-size-sm);
  line-height: 1.3;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}

.site-footer__group a:hover,
.site-footer__group a:focus-visible,
.site-footer__group button:hover,
.site-footer__group button:focus-visible,
.site-footer__email:hover,
.site-footer__email:focus-visible {
  color: var(--color-on-dark);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.site-footer :focus-visible {
  outline-color: var(--color-on-dark);
}

.site-footer__bottom {
  min-height: var(--touch-min);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--space-6);
  padding-top: var(--space-5);
  border-top: 1px solid rgba(246, 245, 241, 0.18);
  color: rgba(246, 245, 241, 0.5);
  font-size: var(--font-size-2xs);
  font-weight: 500;
  letter-spacing: var(--tracking-meta);
  text-transform: uppercase;
}

.site-footer__language {
  color: rgba(246, 245, 241, 0.62);
}

.site-footer__language .language-switch__current,
.site-footer__language .language-switch__link:hover,
.site-footer__language .language-switch__link:focus-visible {
  color: var(--color-on-dark);
}

@media (max-width: 74.9375rem) {
  .site-footer__brand { grid-column: 1 / span 4; }
  .site-footer__group:nth-of-type(1) { grid-column: 5 / span 2; }
  .site-footer__group:nth-of-type(2) { grid-column: 7 / span 2; }
  .site-footer__group:nth-of-type(3) { grid-column: 9 / span 2; }
  .site-footer__group:nth-of-type(4) { grid-column: 11 / span 2; }
}

@media (max-width: 56.1875rem) {
  .final-cta__label { grid-column: 1 / span 2; }
  .final-cta__heading { grid-column: 3 / -1; }
  .final-cta__title { font-size: clamp(3.8rem, 10vw, 6.7rem); }

  .site-footer__brand {
    grid-column: 1 / span 4;
    margin-bottom: var(--space-8);
  }
  .site-footer__group:nth-of-type(1) { grid-column: 5 / span 2; }
  .site-footer__group:nth-of-type(2) { grid-column: 7 / span 2; }
  .site-footer__group:nth-of-type(3) { grid-column: 5 / span 2; margin-top: var(--space-7); }
  .site-footer__group:nth-of-type(4) { grid-column: 7 / span 2; margin-top: var(--space-7); }
}

@media (max-width: 37.4375rem) {
  .final-cta {
    padding-block: var(--space-9);
  }

  .final-cta__intro {
    margin-bottom: var(--space-8);
  }

  .final-cta__label,
  .final-cta__heading {
    grid-column: 1 / -1;
  }

  .final-cta__heading {
    margin-top: var(--space-6);
  }

  .final-cta__title {
    font-size: clamp(3.25rem, 15.4vw, 5rem);
  }

  .final-cta__choices {
    grid-template-columns: 1fr;
  }

  .final-cta-choice {
    min-height: 22rem;
    padding-inline: 0;
  }

  .final-cta-choice + .final-cta-choice {
    border-left: 0;
    border-top: 1px solid rgba(246, 245, 241, 0.22);
  }

  .site-footer {
    padding-top: var(--space-9);
  }

  .site-footer__main {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-8) var(--space-5);
    padding-bottom: var(--space-9);
  }

  .site-footer__brand {
    grid-column: 1 / -1;
    margin-bottom: var(--space-4);
  }

  .site-footer__wordmark {
    font-size: clamp(4.5rem, 25vw, 7rem);
  }

  .site-footer__group:nth-of-type(1),
  .site-footer__group:nth-of-type(2),
  .site-footer__group:nth-of-type(3),
  .site-footer__group:nth-of-type(4) {
    grid-column: auto;
    margin-top: 0;
  }

  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--space-4);
  }

  /* Phase 4K: preserve the compact footer while giving touch users a real 44px hit area. */
  .site-footer__group {
    gap: 0;
  }

  .site-footer__group a,
  .site-footer__group button,
  .site-footer__email,
  .site-footer__language .language-switch__link,
  .learn-offer__note--link {
    min-height: var(--touch-min);
    display: inline-flex;
    align-items: center;
  }

  .site-footer__language .language-switch__link {
    min-width: var(--touch-min);
  }
}


/* Phase 4K: touch targets remain comfortable on landscape phones and touch tablets. */
@media (pointer: coarse) {
  .site-footer__group {
    gap: 0;
  }

  .site-footer__group a,
  .site-footer__group button,
  .site-footer__email,
  .site-footer__language .language-switch__link,
  .learn-offer__note--link {
    min-height: var(--touch-min);
    display: inline-flex;
    align-items: center;
  }

  .site-footer__language .language-switch__link {
    min-width: var(--touch-min);
    justify-content: center;
  }
}

@media (pointer: coarse) {
  .site-footer__group a,
  .site-footer__group button {
    min-width: var(--touch-min);
  }
}

/* Pricing 2026 document links */
.pricing__smallprint{grid-column:5/span 5;display:grid;gap:var(--space-3);max-width:42rem}.pricing__smallprint>p{max-width:42rem}.pricing__documents,.service-drawer__documents{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-line)}.pricing__documents .text-link,.service-drawer__documents .text-link{justify-content:flex-start;width:100%}.service-drawer__documents{margin-top:var(--space-1)}@media(max-width:56.1875rem){.pricing__smallprint{grid-column:3/-1}.pricing__start{grid-column:3/-1;justify-self:start}}@media(max-width:37.4375rem){.pricing__smallprint,.pricing__start{grid-column:1/-1}.pricing__documents,.service-drawer__documents{grid-template-columns:1fr}}


/* ============================================================
   HOME REDESIGN 2026 - visual rhythm, stronger CTAs, live media
   ============================================================ */
.home-cta{
  min-height:3.5rem;
  padding-inline:1.35rem;
  font-size:.82rem;
  letter-spacing:.025em;
  border-radius:0;
}
.home-cta.button--primary:hover,
.home-cta.button--primary:focus-visible{background:var(--project-accent);border-color:var(--project-accent)}

/* SERVICES: keep expandable service drawers, add visual context on mobile */
.services-mobile-gallery{display:none}
@media(max-width:46rem){
  .services-mobile-gallery{
    display:flex;
    gap:.75rem;
    overflow-x:auto;
    margin:0 calc(var(--container-pad) * -1) var(--space-7);
    padding:0 var(--container-pad) .65rem;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }
  .services-mobile-gallery::-webkit-scrollbar{display:none}
  .services-mobile-card{
    flex:0 0 min(72vw,19rem);
    scroll-snap-align:start;
    padding:0;
    border:0;
    background:transparent;
    color:var(--color-ink);
    text-align:left;
    cursor:pointer;
  }
  .services-mobile-card__media{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--color-mist)}
  .services-mobile-card__media img{width:100%;height:100%;object-fit:cover}
  .services-mobile-card__meta{display:flex;justify-content:space-between;gap:1rem;padding-top:.75rem;font-size:.72rem;font-weight:600;letter-spacing:.08em}
}
.services__footer .home-cta{min-width:12rem}

/* 16:9 motion break */
.motion-showcase{padding-block:0 clamp(5rem,8vw,8rem);background:var(--color-paper)}
.motion-showcase__card{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111;color:var(--color-on-dark)}
.motion-showcase__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(.98)}
.motion-showcase__overlay{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.25rem,3vw,2.5rem);background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(0,0,0,.08) 38%,rgba(0,0,0,.72))}
.motion-showcase__top{display:flex;justify-content:space-between;align-items:center;gap:1rem;color:rgba(255,255,255,.86)}
.motion-showcase__play{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.7);border-radius:50%;font-size:.72rem;padding-left:.15rem}
.motion-showcase__body{max-width:45rem}
.motion-showcase__title{font-size:clamp(3rem,7vw,7.5rem);line-height:.86;letter-spacing:-.06em;font-weight:600}
.motion-showcase__copy{max-width:35rem;margin-top:1.2rem;color:rgba(255,255,255,.76);font-size:clamp(.95rem,1.35vw,1.2rem);line-height:1.5}
.motion-showcase__body .button{margin-top:1.5rem}
@media(max-width:37.4375rem){
  .motion-showcase{padding-bottom:var(--space-9)}
  .motion-showcase .l-container{padding-inline:0}
  .motion-showcase__card{aspect-ratio:4/5}
  .motion-showcase__overlay{padding:1.25rem var(--container-pad)}
  .motion-showcase__title{font-size:clamp(3.3rem,16vw,5.4rem)}
  .motion-showcase__copy{font-size:.9rem;max-width:29rem}
}

/* PRICING becomes a real package hierarchy while + drawers remain intact */
.pricing-list.pricing-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-4);border-top:0}
.pricing-cards .pricing-row{
  position:relative;
  min-height:22rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  padding:1.4rem;
  border:1px solid var(--color-line-strong);
  background:var(--color-paper);
}
.pricing-cards .pricing-row__index{margin-bottom:auto}
.pricing-cards .pricing-row__badge{position:absolute;top:1.35rem;right:3.4rem;font-size:.62rem;font-weight:600;letter-spacing:.09em;color:var(--color-text-secondary)}
.pricing-cards .pricing-row__name{display:block;margin-top:4.2rem;font-size:clamp(2rem,3.5vw,3.7rem);line-height:.92}
.pricing-cards .pricing-row__summary{display:block;max-width:22rem;margin-top:1rem;color:var(--color-text-secondary);font-size:.88rem;line-height:1.45}
.pricing-cards .pricing-row__price{display:block;margin-top:auto;padding-top:2.5rem;font-size:1.08rem;font-weight:600}
.pricing-cards .pricing-row__action{position:absolute;top:1.2rem;right:1.25rem;font-size:1.5rem}
.pricing-cards .pricing-row[data-package="campaign"]{background:var(--color-ink);color:var(--color-on-dark);border-color:var(--color-ink)}
.pricing-cards .pricing-row[data-package="campaign"] .pricing-row__index,
.pricing-cards .pricing-row[data-package="campaign"] .pricing-row__summary,
.pricing-cards .pricing-row[data-package="campaign"] .pricing-row__badge{color:rgba(246,245,241,.65)}
.pricing-cards .pricing-row:hover,.pricing-cards .pricing-row:focus-visible{transform:translateY(-2px)}
.pricing-cards .pricing-row{transition:transform 160ms var(--ease-ui),background-color 160ms var(--ease-ui)}
.pricing__start.home-cta{justify-self:end}
@media(max-width:56.1875rem){
  .pricing-list.pricing-cards{grid-template-columns:1fr 1fr}
  .pricing-cards .pricing-row:last-child{grid-column:1/-1;min-height:18rem}
}
@media(max-width:37.4375rem){
  .pricing-list.pricing-cards{grid-template-columns:1fr;gap:.85rem}
  .pricing-cards .pricing-row,.pricing-cards .pricing-row:last-child{grid-column:auto;min-height:17rem;padding:1.2rem}
  .pricing-cards .pricing-row__name{margin-top:3.6rem;font-size:clamp(2.35rem,12vw,3.25rem)}
  .pricing-cards .pricing-row__price{padding-top:2rem}
  .pricing__start.home-cta{justify-self:start;width:100%;margin-top:.25rem}
}

/* JOURNAL becomes visual horizontal swipe */
.journal{border-top:1px solid var(--color-line);overflow:hidden}
.journal__copy{max-width:35rem;margin-top:var(--space-5);color:var(--color-text-secondary)}
.journal__body{display:block}
.journal-scroller{display:flex;gap:var(--space-4);overflow-x:auto;padding-bottom:1rem;scroll-snap-type:x mandatory;scrollbar-width:none}
.journal-scroller::-webkit-scrollbar{display:none}
.journal-card{flex:0 0 calc((100% - (var(--space-4) * 2))/3);min-width:18rem;scroll-snap-align:start;display:flex;flex-direction:column;text-decoration:none;color:var(--color-ink)}
.journal-card__media{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--color-mist)}
.journal-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 300ms var(--ease-ui)}
.journal-card:hover .journal-card__media img,.journal-card:focus-visible .journal-card__media img{transform:scale(1.015)}
.journal-card__meta{display:flex;justify-content:space-between;gap:1rem;padding-top:.9rem;color:var(--color-text-secondary);font-size:.66rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.journal-card__title{display:block;max-width:20ch;margin-top:.75rem;font-size:clamp(1.4rem,2.35vw,2.45rem);font-weight:500;line-height:1.02;letter-spacing:-.035em}
.journal-card__link{display:inline-flex;gap:.5rem;align-items:center;margin-top:1.15rem;font-size:.74rem;font-weight:600;letter-spacing:.03em}
.journal__footer{display:flex;justify-content:flex-end;margin-top:var(--space-6)}
@media(max-width:56.1875rem){.journal-card{flex-basis:46vw}}
@media(max-width:37.4375rem){
  .journal-scroller{margin-inline:calc(var(--container-pad) * -1);padding-inline:var(--container-pad)}
  .journal-card{flex-basis:82vw;min-width:0}
  .journal-card__title{font-size:clamp(1.75rem,8vw,2.35rem)}
  .journal__footer{justify-content:flex-start}
  .journal__footer .home-cta{width:100%}
}

/* APPROACH: editorial image beside the idea */
.approach__intro{grid-template-rows:auto auto}
.approach__heading{grid-column:5/span 4}
.approach__media{grid-column:9/-1;grid-row:1/span 2;margin-top:0;align-self:start;overflow:hidden}
.approach__image{width:100%;aspect-ratio:4/5;object-fit:cover}
.approach__media-caption{display:flex;justify-content:space-between;padding-top:.65rem;color:var(--color-text-secondary);font-size:.64rem;font-weight:600;letter-spacing:.08em}
.approach__footer .home-cta{min-width:10rem}
@media(max-width:56.1875rem){
  .approach__heading{grid-column:3/span 3}
  .approach__media{grid-column:6/-1}
}
@media(max-width:37.4375rem){
  .approach__heading,.approach__media{grid-column:1/-1}
  .approach__media{grid-row:auto;margin-top:var(--space-7)}
  .approach__footer .home-cta{width:100%}
}

/* PROCESS: dark CTA break */
.process__cta.process-cta-panel{margin-top:clamp(3rem,6vw,6rem);padding:clamp(1.5rem,3vw,2.75rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;background:var(--color-ink);color:var(--color-on-dark)}
.process-cta-panel__text{display:grid;gap:.65rem}
.process-cta-panel__kicker{color:rgba(246,245,241,.6)}
.process-cta-panel__title{font-size:clamp(2.4rem,5vw,5.2rem);font-weight:500;line-height:.9;letter-spacing:-.05em}
.process-cta-panel__copy{max-width:31rem;color:rgba(246,245,241,.7);font-size:.95rem;line-height:1.5}
@media(max-width:37.4375rem){
 .process__cta.process-cta-panel{grid-template-columns:1fr;align-items:start}
 .process-cta-panel__title{font-size:clamp(2.8rem,14vw,4.5rem)}
 .process-cta-panel .home-cta{width:100%;margin-top:.5rem}
}

/* ABOUT: make the image moment harder to miss */
.about__media{position:relative;overflow:visible}
.about__media picture{display:block;overflow:hidden}
.about__inset{position:absolute;right:-18%;bottom:-10%;width:48%;aspect-ratio:4/5;object-fit:cover;border:8px solid var(--color-paper);box-shadow:0 14px 30px rgba(0,0,0,.08)}
@media(max-width:56.1875rem){.about__inset{right:-10%;width:45%}}
@media(max-width:37.4375rem){
 .about__body{display:grid;grid-template-columns:1fr}
 .about__media,.about__copy-block{grid-column:1/-1}
 .about__media{margin-bottom:4.5rem}
 .about__inset{right:.5rem;bottom:-3.5rem;width:40%;border-width:6px}
 .about__copy-block .home-cta{width:100%}
}

/* LEARN: turn Prompt Vault into a distinct digital product block */
.learn__offers{gap:var(--space-4);border:0}
.learn-offer{border:1px solid var(--color-line-strong)}
.learn-offer + .learn-offer{border-left:1px solid var(--color-line-strong)}
.learn-offer--vault{background:var(--color-ink);color:var(--color-on-dark);border-color:var(--color-ink)}
.learn-offer--vault .learn-offer__index,
.learn-offer--vault .learn-offer__copy,
.learn-offer--vault .learn-offer__note,
.learn-offer--vault .type-meta{color:rgba(246,245,241,.65)}
.prompt-vault-preview{display:grid;grid-template-columns:38% 1fr;margin-top:2rem;border:1px solid rgba(246,245,241,.28);background:#151515}
.prompt-vault-preview__image{min-height:12rem;overflow:hidden}
.prompt-vault-preview__image img{width:100%;height:100%;object-fit:cover}
.prompt-vault-preview__panel{display:flex;flex-direction:column;padding:1rem}
.prompt-vault-preview__label,.prompt-vault-preview__output{color:rgba(246,245,241,.58);font-size:.6rem;font-weight:600;letter-spacing:.09em}
.prompt-vault-preview__prompt{margin-block:auto;padding-block:1.2rem;color:var(--color-on-dark);font-size:.9rem;line-height:1.5}
.course-visual-preview{margin-top:2rem;aspect-ratio:16/9;overflow:hidden;background:var(--color-mist)}
.course-visual-preview img{width:100%;height:100%;object-fit:cover}
.learn-offer__footer .home-cta{flex:0 0 auto}
@media(max-width:37.4375rem){
 .learn__offers{gap:.85rem}
 .learn-offer,.learn-offer + .learn-offer{padding:1.25rem;border:1px solid var(--color-line-strong)}
 .learn-offer--vault{border-color:var(--color-ink)}
 .prompt-vault-preview{grid-template-columns:34% 1fr}
 .learn-offer__footer .home-cta{width:100%}
}

/* Make section CTAs obvious without turning every small link into a button */
.faq__aside .home-cta{justify-self:start}
@media(max-width:37.4375rem){.faq__aside .home-cta,.services__footer .home-cta{width:100%}}

@media(prefers-reduced-motion:reduce){
 .pricing-cards .pricing-row,.journal-card__media img{transition:none}
}


/* ============================================================
   HOME POLISH V4 - premium hierarchy & mobile rhythm
   ============================================================ */

/* Primary actions feel intentional, not decorative */
.home-cta{position:relative;overflow:hidden;transition:background-color 180ms var(--ease-ui),color 180ms var(--ease-ui),border-color 180ms var(--ease-ui),transform 180ms var(--ease-ui)}
.home-cta .button__arrow{transition:transform 180ms var(--ease-ui)}
.home-cta:hover .button__arrow,.home-cta:focus-visible .button__arrow{transform:translateX(.22rem)}
.home-cta:hover,.home-cta:focus-visible{transform:translateY(-1px)}

/* Services: distinguish inspiration from information on small screens */
.services-mobile-cue{display:none}
@media(max-width:46rem){
  .services-mobile-cue{display:flex;justify-content:space-between;gap:1rem;margin:0 0 .8rem;color:var(--color-text-secondary);font-size:.61rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
  .services-mobile-gallery{margin-bottom:2.15rem}
  .services-mobile-card{flex-basis:min(69vw,18rem)}
  .services-mobile-card__media{aspect-ratio:4/5}
  .services-mobile-card__meta{padding-top:.65rem}
  .service-list{margin-top:.35rem}
}

/* Motion: a subtle moving image placeholder until the real 16:9 reel is supplied */
.motion-showcase__image{transform:scale(1.025);animation:noell-motion-drift 9s ease-in-out infinite alternate;will-change:transform}
.motion-showcase__status{display:inline-flex;align-items:center;gap:.55rem;font-size:.62rem;font-weight:600;letter-spacing:.09em}
.motion-showcase__status i{display:block;width:.42rem;height:.42rem;border-radius:50%;background:currentColor;box-shadow:0 0 0 .32rem rgba(255,255,255,.12)}
@keyframes noell-motion-drift{from{transform:scale(1.025) translate3d(-.35%,0,0)}to{transform:scale(1.065) translate3d(.35%,-.4%,0)}}

/* Pricing: shorter headline, slightly tighter but more premium cards */
.pricing__title{max-width:10ch}
.pricing-cards .pricing-row{min-height:21rem;padding:1.5rem}
.pricing-cards .pricing-row[data-package="campaign"]{box-shadow:0 16px 36px rgba(0,0,0,.07)}
.pricing-cards .pricing-row__badge{padding:.28rem .45rem;border:1px solid rgba(246,245,241,.34);color:rgba(246,245,241,.78)!important}
.pricing-cards .pricing-row__summary{font-size:.84rem}

/* Journal: make horizontal interaction unmistakable without adding another CTA */
.journal-swipe-hint{margin-top:1.15rem;color:var(--color-text-secondary);font-size:.62rem;font-weight:600;letter-spacing:.09em;text-transform:uppercase}
.journal-card{position:relative}
.journal-card__link .button__arrow,.journal-card__link span{transition:transform 180ms var(--ease-ui)}
.journal-card:hover .journal-card__link span,.journal-card:focus-visible .journal-card__link span{transform:translateX(.2rem)}
@media(max-width:37.4375rem){
  .journal-card{flex-basis:76vw}
  .journal-scroller{gap:.85rem;padding-right:20vw}
  .journal-swipe-hint{margin-top:1rem}
}

/* Approach: keep image prominent but prevent text from feeling oversized */
.approach__copy{max-width:34rem}
.approach__image{transition:transform 500ms var(--ease-standard)}
.approach__media:hover .approach__image{transform:scale(1.01)}

/* Course: its own recognisable visual language, not a generic project photo */
.course-visual-preview.course-story-board{display:grid;grid-template-columns:1fr .78fr 1fr;aspect-ratio:16/9;border:1px solid var(--color-line-strong);background:var(--color-paper)}
.course-story-board__frame{position:relative;overflow:hidden;min-width:0}
.course-story-board__frame img{width:100%;height:100%;object-fit:cover}
.course-story-board__frame span{position:absolute;left:.65rem;bottom:.55rem;padding:.28rem .38rem;background:rgba(17,17,17,.84);color:#fff;font-size:.52rem;font-weight:600;letter-spacing:.08em}
.course-story-board__direction{display:flex;flex-direction:column;justify-content:space-between;padding:.8rem;background:var(--color-ink);color:var(--color-on-dark)}
.course-story-board__direction>span,.course-story-board__direction small{font-size:.5rem;font-weight:600;letter-spacing:.09em;color:rgba(246,245,241,.58)}
.course-story-board__direction p{font-size:.72rem;line-height:1.45;letter-spacing:.025em}

/* Lower half on mobile: editorial breathing room, without the endless-scroll feeling */
@media(max-width:37.4375rem){
  .approach.section,.process.section,.about.section,.learn.section,.faq.section{padding-block:3.15rem}
  .approach__intro,.process__intro,.about__intro,.learn__intro,.faq__intro{margin-bottom:2.5rem}
  .process__cta.process-cta-panel{margin-top:2.7rem}
  .about__media{margin-bottom:4rem}
  .learn__offers{margin-top:.25rem}
  .course-visual-preview.course-story-board{aspect-ratio:1.55/1;grid-template-columns:1fr .88fr 1fr}
  .course-story-board__direction{padding:.65rem}
  .course-story-board__direction p{font-size:.62rem}
}

/* Fine contrast and focus polish */
.pricing-row:focus-visible,.services-mobile-card:focus-visible,.journal-card:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.motion-showcase__image{animation:none}.home-cta,.home-cta .button__arrow,.approach__image{transition:none}}

/* ============================================================
   HOME V5 - KEEP IT SIMPLE
   Less repetition, fewer competing CTAs, cleaner responsive flow.
   ============================================================ */

/* Services: one job only - explain the three offers. */
.services__intro{margin-bottom:clamp(3rem,5vw,4.5rem)}
.services__body{align-items:start}
.service-row__copy{max-width:34rem}

/* Pricing: compact, even cards. The + drawers hold the detail. */
.pricing__copy{max-width:34rem}
.pricing-cards .pricing-row{min-height:16.5rem;padding:1.3rem}
.pricing-cards .pricing-row__index{margin-bottom:0}
.pricing-cards .pricing-row__name{margin-top:auto;font-size:clamp(1.9rem,3vw,3rem)}
.pricing-cards .pricing-row__summary{margin-top:.75rem;max-width:19rem;font-size:.8rem}
.pricing-cards .pricing-row__price{margin-top:1.7rem;padding-top:0}
.pricing__note.pricing__note--simple{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--color-line)}
.pricing__note--simple>p{margin:0;max-width:none}
.pricing__documents{display:flex;gap:clamp(1.4rem,3vw,3rem);align-items:center;flex-wrap:wrap}

/* Home Journal is a preview, not the archive. */
.journal-scroller{gap:var(--space-4)}
.journal-card{flex:0 0 calc((100% - var(--space-4))/2)}
.journal__footer{margin-top:2rem}

/* About: remove collage treatment and keep one clear visual + one message. */
.about__intro{margin-bottom:clamp(2.75rem,4.5vw,4rem)}
.about__media{overflow:hidden}
.about__copy-block{align-self:center;gap:1.5rem;padding-bottom:0}
.about__copy-block .type-body-lg{max-width:31rem}
.about__more{justify-self:start}

/* Learn: concise teaser only. The full experience lives on /learn/. */
.learn__intro{margin-bottom:clamp(2.75rem,4.5vw,4rem)}
.learn-offer{min-height:19rem;padding:clamp(1.4rem,2.5vw,2rem)}
.learn-offer__body{margin:0;padding:clamp(2.2rem,4vw,3.25rem) 0}
.learn-offer__title{font-size:clamp(2.1rem,4vw,4rem)}
.learn-offer__copy{margin-top:1rem;font-size:.92rem}
.learn-offer__footer{margin-top:auto;justify-content:flex-start}
.learn-offer__footer .button{width:auto}

/* Final contact: one concise decision instead of two competing cards. */
.final-cta{padding-block:clamp(4.5rem,8vw,7rem)}
.final-cta__simple{align-items:start}
.final-cta__simple .final-cta__label{grid-column:1/span 3;padding-top:.5rem}
.final-cta__simple-content{grid-column:5/-1;display:grid;gap:1.4rem}
.final-cta__simple .final-cta__title{max-width:10ch;font-size:clamp(3.4rem,8vw,7.2rem);line-height:.88}
.final-cta__simple .final-cta__copy{margin:0;max-width:31rem}
.final-cta__simple-actions{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;margin-top:.4rem}
.final-cta__brief-link{color:var(--color-on-dark)}

/* Tablet: never create the orphaned third pricing card seen in the old layout. */
@media(max-width:56.1875rem){
  .pricing-list.pricing-cards{grid-template-columns:1fr;gap:0}
  .pricing-cards .pricing-row,
  .pricing-cards .pricing-row:last-child{
    min-height:0;grid-column:auto;display:grid;
    grid-template-columns:2rem minmax(0,1fr) minmax(8rem,auto) 2rem;
    grid-template-rows:auto auto;gap:.35rem 1rem;align-items:center;
    padding:1.25rem 1rem;border-bottom:0;
  }
  .pricing-cards .pricing-row + .pricing-row{border-top:0}
  .pricing-cards .pricing-row__index{grid-column:1;grid-row:1/span 2;align-self:start;padding-top:.2rem}
  .pricing-cards .pricing-row__name{grid-column:2;grid-row:1;margin:0;font-size:clamp(1.75rem,4.4vw,2.5rem)}
  .pricing-cards .pricing-row__summary{grid-column:2;grid-row:2;margin:0;max-width:30rem}
  .pricing-cards .pricing-row__price{grid-column:3;grid-row:1/span 2;margin:0;padding:0;align-self:center}
  .pricing-cards .pricing-row__action{position:static;grid-column:4;grid-row:1/span 2;align-self:center;justify-self:end}
  .pricing-cards .pricing-row__badge{display:none}
  .about__media{grid-column:1/span 5}
  .about__copy-block{grid-column:6/-1}
  .final-cta__simple .final-cta__label{grid-column:1/span 2}
  .final-cta__simple-content{grid-column:3/-1}
}

@media(max-width:46rem){
  .services__body{display:block}
  .service-list{width:100%}
  .journal-card{flex-basis:78vw}
}

@media(max-width:37.4375rem){
  .services.section,.pricing.section,.journal.section,.about.section,.learn.section{padding-block:3.4rem}
  .services__intro,.pricing__intro,.journal__intro,.about__intro,.learn__intro{margin-bottom:2.35rem}

  .pricing-list.pricing-cards{gap:.7rem}
  .pricing-cards .pricing-row,
  .pricing-cards .pricing-row:last-child{
    grid-template-columns:1.5rem minmax(0,1fr) 1.5rem;
    grid-template-rows:auto auto auto;gap:.3rem .75rem;padding:1.05rem;
  }
  .pricing-cards .pricing-row__index{grid-column:1;grid-row:1/span 3}
  .pricing-cards .pricing-row__name{grid-column:2;grid-row:1;font-size:clamp(1.65rem,8vw,2.15rem)}
  .pricing-cards .pricing-row__summary{grid-column:2;grid-row:2;font-size:.76rem}
  .pricing-cards .pricing-row__price{grid-column:2;grid-row:3;margin-top:.6rem;font-size:.9rem}
  .pricing-cards .pricing-row__action{grid-column:3;grid-row:1/span 3}
  .pricing__note.pricing__note--simple{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:1.5rem}
  .pricing__documents{gap:1.5rem}

  .journal-scroller{padding-right:16vw}
  .journal-card{flex-basis:80vw}

  .about__body{display:grid;grid-template-columns:1fr}
  .about__media,.about__copy-block{grid-column:1/-1}
  .about__media{margin-bottom:1.75rem}
  .about__copy-block{gap:1.25rem}

  .learn__offers{grid-template-columns:1fr;gap:.7rem}
  .learn-offer,.learn-offer + .learn-offer{min-height:0;padding:1.2rem}
  .learn-offer__body{padding:2rem 0 2.3rem}
  .learn-offer__title{font-size:clamp(2.25rem,11vw,3.2rem)}
  .learn-offer__footer .button{width:100%}

  .final-cta{padding-block:4rem}
  .final-cta__simple .final-cta__label,
  .final-cta__simple-content{grid-column:1/-1}
  .final-cta__simple-content{margin-top:2.5rem}
  .final-cta__simple .final-cta__title{font-size:clamp(3.2rem,15vw,4.8rem)}
  .final-cta__simple-actions{display:grid;gap:1rem;align-items:start}
  .final-cta__simple-actions .button{width:100%}
  .final-cta__brief-link{justify-self:start}
}
\n\n/* ============================================================
   HOME V6 - ESSENTIALS ONLY
   Seven sections, one job per section, details live elsewhere.
   ============================================================ */

/* Overall rhythm */
.selected-work.section,.services.section,.pricing.section,.journal.section,.about.section,.learn.section{padding-block:clamp(4rem,7vw,6.5rem)}
.selected-work__intro,.services__intro,.pricing__intro,.journal__intro,.about__intro,.learn__intro{margin-bottom:clamp(2.4rem,4vw,3.5rem)}
.section-label{opacity:.72}

/* Hero: one action, less noise */
.hero__body{max-width:31rem}
.hero__actions{margin-top:1.75rem}
.hero__actions .button{min-width:0}

/* Selected work: let the images do the talking */
.project-card__details{padding-top:.75rem}
.project-card__meta-row{margin-bottom:.4rem}
.project-card__kicker{font-size:.58rem}
.project-card__title{font-size:clamp(1.35rem,2.3vw,2.15rem)}
.project-card__title-row{align-items:center}
.selected-work__footer{margin-top:2.2rem}

/* Services: names + detail drawers only */
.service-row{min-height:6.2rem;padding-block:1.1rem}
.service-row__main{display:block}
.service-row__title{font-size:clamp(2.25rem,5vw,5rem);line-height:.92}
.services-preview__media{min-height:28rem}
.services__footer{display:none}

/* Pricing: package / price / plus. No sales paragraph on the home page. */
.pricing-list.pricing-cards{gap:0}
.pricing-cards .pricing-row{min-height:11.75rem;padding:1.25rem;grid-template-rows:auto 1fr auto}
.pricing-cards .pricing-row__name{margin-top:1.6rem;font-size:clamp(1.85rem,3vw,2.8rem)}
.pricing-cards .pricing-row__price{margin-top:1.4rem;font-size:.95rem}
.pricing__note.pricing__note--simple{display:block;margin-top:1.4rem;padding-top:1rem;border-top:1px solid var(--color-line)}
.pricing__single-link{font-size:.72rem}

/* Journal: image, category, headline. Nothing repetitive. */
.journal-card__meta{margin-top:.75rem}
.journal-card__title{margin-top:.45rem}
.journal__footer{margin-top:1.5rem}
.journal__simple-link{font-size:.74rem}

/* About: single visual + single paragraph */
.about__copy-block{gap:1.2rem}
.about__copy-block .type-body-lg{font-size:clamp(1.2rem,2vw,1.7rem);line-height:1.42}
.about__more{font-size:.7rem}

/* Learn: two calm rows instead of two mini landing pages */
.learn-simple-list{border-top:1px solid var(--color-line-strong)}
.learn-simple-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 2rem;gap:1.5rem;align-items:center;padding:1.55rem 0;border:0;border-bottom:1px solid var(--color-line-strong);background:transparent;color:var(--color-ink);text-align:left;cursor:pointer}
.learn-simple-row__title{font-size:clamp(1.75rem,3.4vw,3.25rem);line-height:.96;letter-spacing:-.04em}
.learn-simple-row__status{font-size:.62rem;font-weight:600;letter-spacing:.09em;color:var(--color-text-secondary)}
.learn-simple-row__arrow{font-size:1.25rem;transition:transform 180ms var(--ease-ui)}
.learn-simple-row:hover .learn-simple-row__arrow,.learn-simple-row:focus-visible .learn-simple-row__arrow{transform:translateX(.22rem)}
.learn-simple-row:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}

/* Final CTA: one sentence is the headline */
.final-cta__simple-content{gap:1.25rem}
.final-cta__simple-actions{margin-top:.35rem}

@media(max-width:56.1875rem){
  .pricing-cards .pricing-row,.pricing-cards .pricing-row:last-child{min-height:0;grid-template-columns:2rem minmax(0,1fr) minmax(7rem,auto) 2rem;grid-template-rows:auto;gap:1rem;padding:1.15rem 1rem}
  .pricing-cards .pricing-row__index{grid-column:1;grid-row:1;align-self:center;padding:0}
  .pricing-cards .pricing-row__name{grid-column:2;grid-row:1;margin:0;font-size:clamp(1.55rem,4vw,2.25rem)}
  .pricing-cards .pricing-row__price{grid-column:3;grid-row:1;margin:0;font-size:.82rem}
  .pricing-cards .pricing-row__action{grid-column:4;grid-row:1}
}

@media(max-width:46rem){
  .services-preview{display:none}
  .services__body{display:block}
  .service-row{min-height:5.4rem}
  .journal-card{flex-basis:82vw}
}

@media(max-width:37.4375rem){
  .selected-work.section,.services.section,.pricing.section,.journal.section,.about.section,.learn.section{padding-block:3.15rem}
  .selected-work__intro,.services__intro,.pricing__intro,.journal__intro,.about__intro,.learn__intro{margin-bottom:2rem}
  .hero__actions .button{width:100%}
  .selected-work__footer .button{width:100%}
  .service-row__title{font-size:clamp(2rem,11vw,3rem)}
  .pricing-cards .pricing-row,.pricing-cards .pricing-row:last-child{grid-template-columns:1.4rem minmax(0,1fr) auto;grid-template-rows:auto auto;gap:.35rem .7rem;padding:1rem}
  .pricing-cards .pricing-row__index{grid-column:1;grid-row:1/span 2;align-self:start;padding-top:.2rem}
  .pricing-cards .pricing-row__name{grid-column:2;grid-row:1;font-size:1.65rem}
  .pricing-cards .pricing-row__price{grid-column:2;grid-row:2;font-size:.78rem;margin-top:.2rem}
  .pricing-cards .pricing-row__action{grid-column:3;grid-row:1/span 2}
  .journal-scroller{padding-right:14vw}
  .journal-card{flex-basis:84vw}
  .learn-simple-row{grid-template-columns:minmax(0,1fr) auto;gap:.6rem 1rem;padding:1.25rem 0}
  .learn-simple-row__title{font-size:clamp(1.55rem,8vw,2.2rem)}
  .learn-simple-row__status{grid-column:1;font-size:.56rem}
  .learn-simple-row__arrow{grid-column:2;grid-row:1/span 2}
  .final-cta__simple-content{margin-top:2rem}
}
