/* Homepage polish: preserve the hero, copy, brand type and existing section order. */
#hero .hero_inner { grid-template-columns: minmax(0, 1fr); }
#hero .hero-content_top,
#hero .hero-content_bottom,
#hero .hero-content_copy-w { min-width: 0; max-width: 100%; }
#hero .hero-content_copy-w { width: 22em; }
#hero .hero-span_title { letter-spacing: 0; }

/* Portrait windows show the sculpture silhouette without altering the cylinder. */
#about .img-carousel__panel { height: 58em; }
#about .img-carousel__item { aspect-ratio: 3 / 5; }
#about .img-carousel__img { object-fit: contain; background: #202122; }
#about .img-carousel__list { height: 62em; perspective: 1000px; }
#about .img-carousel__wrap { padding-block: 3em; }
#about > .container > .padding-global.padding-section { padding-block: 7em; }
#about .perspective__img { object-fit: contain; }
.horizontal-words_height { height: 220svh; }
.horizontal-words_content { min-height: 0; }

#process .pin-height { height: 380svh; }
#process .process-wrapper { justify-content: center; gap: 3rem; padding: 4.5rem 2rem 2rem; }
#process .process-content_wrapper {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 1.3fr) minmax(0, 1fr) !important;
  gap: 2rem !important;
}
#process .process-header_wrapper { max-width: 64rem; }
#process .process-header_wrapper p { max-width: 52ch; margin: 0; }
#process .process-svg_wrapper { width: 100%; aspect-ratio: 1; }
#process .process-assembly { display: block; width: 100%; height: 100%; position: absolute; inset: 0; touch-action: pan-y; }
#process .has-process-assembly > .process-gif,
#process .has-process-assembly > .process__svg { display: none; }
#process .process-list_left,
#process .process-list_right { min-height: 8rem !important; max-height: none !important; overflow: visible !important; }
#process .process-list_item { transition: opacity 180ms ease-out, visibility 180ms ease-out; width: 100%; }
#process .process-list__heading { font-size: 32px !important; letter-spacing: 0; white-space: normal; }
#process .process-list_item p { margin: 0; font-size: 18px; line-height: 1.5; }
#process .process-stages { display: flex; gap: 9px; position: absolute; bottom: -12px; left: 50%; transform: translateX(-50%); }
#process .process-stage { width: 26px; height: 3px; background: #5A5C57; transition: background-color 200ms ease-out; }
#process .process-stage.is-complete { background: var(--ptech-bone); }
#process .process-stage.is-current { background: var(--ptech-green); }
#process .process-svg_abs { animation: none; opacity: .35; }

@media (max-width: 991px) {
  #hero .hero_inner { padding: 5.25rem 1.5rem 3.5rem; gap: 1rem; grid-template-rows: auto minmax(0, 1fr) auto; }
  #hero .hero-content_top { display: block; width: 100%; }
  #hero .hero-span_title { font-size: 72px; line-height: 1; }
  #hero .hero-content_bottom .hero-span_title { font-size: 64px; }
  #hero .hero-content_copy-w { width: 100%; max-width: 36ch; margin-top: 1.5rem; }
  #hero .hero-content__p { font-size: 16px; line-height: 1.5; overflow-wrap: break-word; }
  #hero .hero-content__p [data-scramble-loop] { display: inline !important; width: auto !important; white-space: normal !important; overflow: visible !important; }
  #process .process-wrapper { gap: 1.75rem; padding: 5rem 1.5rem 2rem; }
  #process .process-content_wrapper { grid-template-columns: minmax(0, 1fr) !important; gap: 1rem !important; }
  #process .process-svg_wrapper { width: min(100%, 280px); }
  #process .process-list_left,
  #process .process-list_right { text-align: center; }
  #process .process-list_left { min-height: 2.5rem !important; }
  #process .process-list_right { min-height: 5rem !important; max-width: 38ch; }
  #process .process-list_item.is--left,
  #process .process-list_item.is--right { left: 0; right: 0; transform: none; }
  #process .process-header_wrapper p { font-size: 16px; line-height: 1.45; max-width: 40ch; }
}

@media (max-width: 767px) {
  #hero .hero_inner { padding: 5.25rem 1.5rem 3.5rem; gap: 1rem; grid-template-rows: auto minmax(0, 1fr) auto; }
  #hero .hero-content_top { display: block; width: 100%; }
  #hero .hero-span_title { font-size: 48px; line-height: 1; }
  #hero .hero-content_bottom .hero-span_title { font-size: 36px; }
  #hero .hero-content_copy-w { width: 100%; max-width: 30ch; margin-top: 1.5rem; }
  #hero .hero-content__p { font-size: 16px; line-height: 1.5; overflow-wrap: break-word; }
  #hero .hero-content__p [data-scramble-loop] { display: inline !important; width: auto !important; white-space: normal !important; overflow: visible !important; }
  #about .img-carousel__list { font-size: 7px; width: 100%; height: 54em; perspective: 700px; }
  #about .img-carousel__panel { width: 12em; height: 48em; }
  #about .img-carousel__wrap { padding-block: 1.5rem; }
  #about > .container > .padding-global.padding-section { padding-block: 4em; }
  .horizontal-words_height { height: 200svh; }
  #process .pin-height { height: 400svh; }
  #process .process-list_item p { font-size: 16px; }
}

@media (max-width: 374px) {
  #hero .hero-span_title { font-size: 42px; }
  #hero .hero-content_bottom .hero-span_title { font-size: 30px; }
  #process .process-wrapper { padding-inline: 1rem; gap: 1rem; }
  #process .process-svg_wrapper { width: 210px; }
}

@media (max-height: 720px) and (max-width: 991px) {
  #process .process-wrapper { gap: 1rem; padding-top: 3.5rem; }
  #process .process-svg_wrapper { width: 200px; }
  #process .process-header_wrapper p { font-size: 14px; }
  #process .process-list__heading { font-size: 26px !important; }
}

@media (prefers-reduced-motion: reduce) {
  #about .img-carousel__wrap { transform: none !important; }
  #about .img-carousel__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; width: 100%; height: auto; perspective: none; font-size: inherit; }
  #about .img-carousel__panel { display: contents; }
  #about .img-carousel__item { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  #about .img-carousel__panel .img-carousel__item + .img-carousel__item { display: none; }
  .horizontal-words_height { height: auto; }
  .horizontal-words_content { position: relative; height: auto; min-height: 0; padding-block: 5rem; }
  .horizontal-words_wrapper { max-width: 100%; margin-inline: 1.5rem; }
  .horizontal-words_text { font-size: 40px; }
  .horizontal-words_svg { display: none; }
  #process .pin-height { height: auto; }
  #process .process-wrapper { position: relative; height: auto; max-height: none; padding-block: 4rem; }
  #process .process-content_wrapper { grid-template-columns: minmax(140px, .6fr) minmax(0, 1fr) !important; gap: 1.5rem !important; }
  #process .process-svg_wrapper { grid-column: 1 / -1; grid-row: 1; width: min(100%, 320px); }
  #process .process-list_left,
  #process .process-list_right { display: contents; }
  #process .process-list_item { position: static; transform: none !important; opacity: 1 !important; visibility: visible !important; text-align: left; display: block; transition: none; }
  #process .process-list_item.is--left { grid-column: 1; }
  #process .process-list_item.is--right { grid-column: 2; }
  #process .process-list_item:nth-child(1) { grid-row: 2; }
  #process .process-list_item:nth-child(2) { grid-row: 3; }
  #process .process-list_item:nth-child(3) { grid-row: 4; }
  #process .process-list_item:nth-child(4) { grid-row: 5; }
  #process .process-list_item:nth-child(5) { grid-row: 6; }
  #process .process-list__heading { font-size: 20px !important; }
  #process .process-stages { display: none; }
}
