/* Load after ui-polish.css; semantic/content markup remains unchanged. */
.header.az-navigation-header { position: sticky; top: 0; z-index: 20; }
@media (min-width: 1001px) {
  .header.az-navigation-header { transition: box-shadow .3s ease; }
  .header.az-header-compact { box-shadow: 0 8px 24px #00000024; }
}
.header nav.az-navigation, .az-languages { position: relative; }
.az-nav-indicator, .az-language-indicator { position: absolute; left: 0; bottom: 0; height: 1px; background: var(--gold); pointer-events: none; opacity: 0; }
.az-language-indicator { bottom: 3px; height: 2px; }
.header nav.az-navigation a[aria-current="location"] { color: var(--gold); }
@media (max-width: 1000px) {
  .header nav.az-navigation { position: absolute; }
  .header nav.az-navigation[data-az-menu="closing"] { display: flex; pointer-events: none; }
  .az-nav-indicator { display: none; }
}
.az-project-motion .project-image { isolation: isolate; }
.project-card.az-project-motion .project-image img { transition: none; transform: scale(1); }
.az-project-overlay { position: absolute; inset: 0; background: #0b100d; opacity: 0; pointer-events: none; }
.az-project-motion .image-tag { z-index: 1; }
/* Progressive enhancement: the original grid remains when JS is unavailable.
   Real overflow scrolling preserves touch/trackpad momentum and page scrolling. */
.projects.az-portfolio-gallery > .section-head { align-items: end; gap: 28px; margin-bottom: 42px; }
.project-grid.az-portfolio-grid {
  display: flex; align-items: flex-start; gap: clamp(24px, 4vw, 64px);
  margin-inline: calc(-1 * var(--space)); padding: 12px var(--space) 26px;
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity;
  scroll-padding-inline: var(--space); overscroll-behavior-x: contain;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.az-portfolio-grid::-webkit-scrollbar { display: none; }
.az-portfolio-grid:focus-visible { outline-offset: -5px; }
.az-portfolio-grid > .project-card {
  flex: 0 0 clamp(340px, 54vw, 780px); min-width: 0; padding-top: 0;
  scroll-snap-align: start; scroll-margin-inline: 0;
}
.az-portfolio-grid > .project-card:nth-child(even) { padding-top: 54px; }
.az-portfolio-grid .project-image, .az-portfolio-grid .project-image.tall { height: auto; aspect-ratio: 4 / 3; }
.az-portfolio-grid .project-image img {
  position: absolute; inset: -12px; width: calc(100% + 24px); height: calc(100% + 24px); max-width: none;
  translate: var(--az-portfolio-drift, 0px) 0;
}
.az-portfolio-grid .project-title { gap: 16px; margin-top: 24px; }
.az-portfolio-grid .project-title h3 { min-width: 0; font-size: clamp(23px, 2.2vw, 32px); }
.az-portfolio-grid .project-title h3, .az-portfolio-grid .image-tag, .az-portfolio-grid .text-button { overflow-wrap: anywhere; }
.az-portfolio-grid .text-button { max-width: 100%; }
.az-portfolio-grid .image-tag { max-width: calc(100% - 40px); }
.az-portfolio-controls { display: flex; align-items: center; gap: 10px; flex: 0 0 auto; }
.az-portfolio-counter { margin-inline-end: 15px; color: #6c5b3c; font-size: 12px; letter-spacing: .13em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.az-portfolio-arrow {
  width: 48px; height: 48px; min-width: 48px; display: inline-flex; align-items: center; justify-content: center;
  padding: 0; border: 1px solid #8c8068; border-radius: 50%; color: var(--ink);
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}
.az-portfolio-arrow::before { content: ''; width: 15px; height: 9px; background: currentColor; clip-path: polygon(0 43%, 77% 43%, 58% 11%, 65% 0, 100% 50%, 65% 100%, 58% 89%, 77% 57%, 0 57%); }
.az-portfolio-previous::before { rotate: 180deg; }
.az-portfolio-arrow[aria-disabled="true"] { opacity: .35; cursor: default; }
@media (hover: hover) {
  .az-portfolio-arrow:not([aria-disabled="true"]):hover { background: var(--ink); border-color: var(--ink); color: var(--ivory); }
}
.az-portfolio-footer { display: flex; align-items: center; gap: 32px; margin-top: 20px; }
.az-portfolio-hint { color: #6c5b3c; font-size: 12px; line-height: 1.6; letter-spacing: .02em; }
.az-portfolio-rail { flex: 1; display: block; height: 2px; min-width: 40px; background: #20261f1c; overflow: hidden; }
.az-portfolio-fill { display: block; width: 100%; height: 100%; background: #8a744b; transform: scaleX(.25); transform-origin: left center; }
@media (max-width: 700px) {
  .projects.az-portfolio-gallery > .section-head { display: flex; flex-direction: column; align-items: stretch; gap: 24px; margin-bottom: 20px; }
  .az-portfolio-controls { align-self: flex-end; }
  .project-grid.az-portfolio-grid { gap: 18px; padding-bottom: 22px; scroll-snap-type: x mandatory; }
  .az-portfolio-grid > .project-card { flex-basis: calc(100vw - 3 * var(--space)); }
  .az-portfolio-grid > .project-card:nth-child(even) { padding-top: 0; }
  .az-portfolio-grid .project-title { margin-top: 20px; }
  .az-portfolio-grid .project-title h3 { font-size: 22px; }
  .az-portfolio-grid .image-tag { left: 14px; bottom: 14px; max-width: calc(100% - 28px); padding: 8px 10px; letter-spacing: .04em; }
  .az-portfolio-footer { gap: 18px; margin-top: 10px; }
  .az-portfolio-hint { max-width: 62%; font-size: 11px; }
}
@media (prefers-reduced-motion: reduce) {
  .project-grid.az-portfolio-grid { scroll-behavior: auto; }
  .az-portfolio-grid .project-image img { translate: none; }
  .az-portfolio-arrow { transition: none; }
}
@media (forced-colors: active) {
  .az-portfolio-arrow { border-color: ButtonText; }
  .az-portfolio-arrow::before { background: ButtonText; }
  .az-portfolio-rail { border-bottom: 2px solid GrayText; }
  .az-portfolio-fill { background: Highlight; forced-color-adjust: none; }
}
.az-cta-motion { --az-arrow-x: 0px; --az-arrow-opacity: .65; }
.az-cta-motion > [data-i18n] { display: inline-block; }
.az-cta-motion::after { content: ''; display: inline-block; width: 10px; height: 10px; margin-inline-start: 12px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; background: linear-gradient(135deg, transparent 44%, currentColor 45%, currentColor 55%, transparent 56%); transform: translateX(var(--az-arrow-x)); opacity: var(--az-arrow-opacity); }
/* Real phase, never upload percentages or simulated completion. */
#contact-submit, #download-application { position: relative; }
[data-az-form-state="preparing"] #contact-submit::after,
[data-az-form-state="sending"] #contact-submit::after,
[data-az-form-state="preparing"] #download-application::after,
[data-az-form-state="sending"] #download-application::after {
  content: ''; display: inline-block; width: 12px; height: 12px; margin-inline-start: 12px;
  border: 1px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: az-form-working .9s linear infinite;
}
[data-az-form-state="sent"] #contact-submit,
[data-az-form-state="sent"] #download-application { cursor: default; opacity: .85; }
[data-az-form-state="sent"] #contact-status,
[data-az-form-state="sent"] #mail-status { border-inline-start: 2px solid #56714b; padding-inline-start: 12px; }
[data-az-form-state="pending"] #contact-status,
[data-az-form-state="pending"] #mail-status,
[data-az-form-state="retry"] #contact-status,
[data-az-form-state="retry"] #mail-status { border-inline-start: 2px solid var(--gold); padding-inline-start: 12px; }
[data-az-form-state="error"] [aria-invalid="true"] { border-color: #a94d3f; }
@keyframes az-form-working { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .header.az-navigation-header { transition: none; }
  .az-project-motion .project-image img, .az-project-motion .project-title,
  .az-project-motion > p, .az-project-motion > .text-button,
  .az-cta-motion > [data-i18n] { transform: none !important; }
  .az-cta-motion { scale: 1 !important; }
  .az-cta-motion::after { transform: none; }
  [data-az-form-state] #contact-submit::after, [data-az-form-state] #download-application::after { animation: none; }
}
