/* Keep the portrait legible throughout its entrance. */
@media (prefers-reduced-motion: no-preference) {
  html.has-js:not(.motion-reduced):not(.gn93-reading) body.sober-home .hero79-stage .hero-work {
    animation-name: v201-portrait-arrival;
    animation-delay: 0s;
    animation-duration: .32s;
  }

  html.has-js:not(.motion-reduced):not(.gn93-reading) body.sober-home .hero79-stage .hero-work-portrait {
    animation: none;
  }

  @keyframes v201-portrait-arrival {
    from { opacity: 1; transform: translateY(6px); }
    to { opacity: 1; transform: none; }
  }
}

body.sober-home .hero79-copy .hero94-description {
  max-inline-size: 53ch;
  text-wrap: pretty;
}

@media (min-width: 901px) {
  body.sober-home .hero81-track .hero79-inner {
    min-height: clamp(520px, 67svh, 600px);
    padding-block: clamp(34px, 6svh, 56px) 36px;
  }

  body.sober-home .hero79-inner .hero-work {
    justify-self: center;
  }
}

@media (max-width: 700px) {
  body.sober-home .hero81-track .hero79-inner {
    gap: 18px;
  }
}

@media (min-width: 1001px) {
  body.sober-home #projets .selection-intro {
    justify-content: flex-start;
    align-items: baseline;
    gap: clamp(24px, 3.4vw, 48px);
  }

  body.sober-home #projets .selection-intro > p {
    max-inline-size: 51ch;
  }
}

body.sober-home #projets .project-index-link > :is(.project-entry-copy, .selection-arrow) {
  align-self: end;
}

body.sober-home #projets .project-index-story-cue {
  display: block;
  font-size: 12px;
  line-height: 16px;
}

@media (min-width: 801px) and (max-width: 1100px) {
  body.sober-home #projets .project-index-link > .selection-arrow {
    margin-block-end: 8px;
  }
}

/* Shorten the entry in normal flow. The sticky stages measure their own travel. */
@media (min-width: 801px) {
  body.sober-home :is(#malakoff-experience, #interface-en-contexte, #allianz-trade-pay, #apphalt-produit) > .project-brief {
    padding-block: clamp(70px, 10svh, 92px) 0;
  }

  body.sober-home .story-navigation .story-vertical-rail {
    right: max(clamp(4px, 1.25vw, 18px), calc((100% - 1280px) / 2 - 42px));
  }
}

@media (hover: hover) {
  body.sober-home .story-navigation .story-vertical-rail :is(.gn102-segment, [data-workshop-jump]):hover {
    border-radius: 5px;
    background: color-mix(in srgb, currentColor 8%, transparent);
    cursor: pointer;
  }

  body.sober-home .story-navigation .story-vertical-rail :is(.gn102-segment, [data-workshop-jump]):hover::before {
    opacity: 1;
  }
}

@media (max-width: 600px) {
  body.sober-home .v197-scene-footer .v197-scene-exit {
    max-inline-size: 100%;
    text-align: end;
    white-space: normal;
    line-height: 1.25;
  }
}

@media (min-width: 1101px) {
  body.sober-home #malakoff-experience .mh3-copy h2 {
    font-size: clamp(40px, 3.65vw, 54px);
    text-wrap: balance;
  }
}

@media (min-width: 801px) {
  body.sober-home #allianz-trade-pay[data-at125] :is(.at84-beat, .ap-reading-copy) h3 {
    font-size: clamp(37px, 3.65vw, 53px);
    text-wrap: balance;
  }
}

@media (max-width: 700px) {
  body.sober-home #malakoff-experience .mh159-notes article span {
    letter-spacing: .015em;
    overflow-wrap: normal;
    white-space: nowrap;
  }
}

body.sober-home #parcours .experience li > span {
  color: #41536a;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.sober-home #parcours .experience li p {
  font-size: 13px;
}

@media (min-width: 801px) {
  body.sober-home #parcours {
    padding-block-start: clamp(90px, 11svh, 120px);
  }

  body.sober-home #parcours .experience li {
    padding-block: 16px;
  }
}

@media (max-width: 700px) {
  body.sober-home #parcours .experience li {
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: 12px;
  }
}

body.sober-home #ia.aiv194 .aiv12-desc {
  max-inline-size: none;
  margin-block-end: 16px;
}

body.sober-home #ia.aiv194 .aiv138-option > span,
body.sober-home #ia.aiv194 .aiv138-option-screen i,
body.sober-home #ia.aiv194 .aiv194-demo-label {
  font-size: 11px;
  line-height: 1.3;
}

body.sober-home #ia.aiv194 .aiv194-demo {
  border: 1px solid #d8e3fb;
  background: #eef3ff;
}

@media (min-width: 1081px) {
  body.sober-home #ia.aiv194 .aiv12-card {
    min-height: 0;
  }
}

body.sober-home #contact .sober-contact-copy h2 {
  margin-block-end: 18px;
}

body.sober-home #contact .sober-contact-copy .sober-email {
  font-size: 17px;
  font-weight: 600;
  margin-block-start: 14px;
}

body.sober-home #contact .sober-contact-actions {
  margin-block-start: 6px;
  font-size: 14px;
}

body.sober-home #contact :is(#contact-message-hint, .contact-privacy, .contact-required) {
  font-size: 13px;
  line-height: 1.45;
}

body.sober-home #contact #contact-message-hint {
  max-inline-size: 54ch;
}

@media (min-width: 1001px) {
  body.sober-home #contact #contact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 16px;
    align-content: start;
    align-self: start;
  }

  body.sober-home #contact #contact-form > :not(.contact-field),
  body.sober-home #contact #contact-form > .contact-field:has(textarea) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  body.sober-home #contact {
    padding-block-start: 96px;
  }

  body.sober-home #contact .sober-contact-grid {
    gap: 22px;
  }

  body.sober-home #contact .sober-contact-copy {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    column-gap: 14px;
  }

  body.sober-home #contact .sober-contact-copy > :is(.sober-kicker, h2, p) {
    flex-basis: 100%;
  }

  body.sober-home #contact .sober-contact-copy .sober-email,
  body.sober-home #contact .sober-contact-actions {
    min-height: 44px;
    margin-block-start: 10px;
    font-size: 14px;
  }
}

body.sober-home .site-footer button[data-motion-toggle]:not([hidden]) {
  padding-inline: 12px;
  border: 1px solid #cbd6e8;
  border-radius: 999px;
  background: #f5f8fd;
  color: #263f66;
}

body.sober-home .site-footer button[data-motion-toggle][aria-pressed="true"]:not([hidden]) {
  border-color: #a4b7db;
  background: #e8efff;
  color: #19386c;
}

body.sober-home .site-footer button[data-motion-toggle]:hover:not([hidden]) {
  border-color: #8ca2ca;
}

@media (min-width: 1101px) {
  body.sober-home .site-footer > .footer-links {
    inline-size: max-content;
    flex-wrap: nowrap;
    white-space: nowrap;
  }
}
