/* Unit 01 only. Geometry follows HOME2 with the approved D13 outer grid. */
.apak-opening {
  /* Background spans the header/hero tracks, ending before the connector's
     reserved 111px extension. Content remains in the normal grid flow. */
  grid-column: 1;
  grid-row: 1 / 3;
  position: absolute;
  inset: 0 0 111px;
  z-index: -1;
  isolation: isolate;
  background: var(--apak-ink);
}

/* The photograph and tint are the only full-stage positioned layers. */
.apak-opening__media { position: absolute; inset: 0; z-index: -2; }
.apak-opening__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.apak-opening::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: rgb(29 29 27 / 10%); opacity: .6; mix-blend-mode: multiply; }

.apak-header { grid-column: 1; grid-row: 1; position: sticky; top: 0; z-index: 80; padding-block-start: 63px; color: var(--apak-white); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0); will-change: padding, background-color, box-shadow, backdrop-filter; transition: padding-block .22s ease, background-color .22s ease, box-shadow .22s ease, -webkit-backdrop-filter .22s ease, backdrop-filter .22s ease; }
body.admin-bar .apak-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .apak-header { top: 46px; } }
.apak-header[data-apak-sticky="true"] { padding-block: 18px; background: rgb(29 29 27 / 92%); box-shadow: 0 14px 30px rgb(29 29 27 / 18%); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.apak-header__row { align-items: start; }
.apak-header__brand-column { grid-column: span 3; }
.apak-header__navigation-column { grid-column: span 9; }
.apak-header__toggle-column { display: none; }
.apak-header__brand { display: block; width: 183px; max-width: 100%; transition: width .22s ease; }
.apak-header__brand img { width: 183px; height: auto; transition: width .22s ease; }
.apak-header[data-apak-sticky="true"] .apak-header__brand,
.apak-header[data-apak-sticky="true"] .apak-header__brand img { width: 136px; }
.apak-navigation__list { display: flex; flex-wrap: wrap; align-items: start; justify-content: flex-end; gap: 16px 39px; margin: 0; padding: 0; list-style: none; }
.apak-navigation__list li { min-width: 0; max-width: 100%; }
.apak-navigation__link { position: relative; isolation: isolate; display: block; border-radius: 5px 22px 5px 25px; color: var(--apak-white); text-decoration: none; font-family: var(--apak-font-ui); font-size: 16px; font-weight: 800; line-height: 37px; letter-spacing: 1.6px; text-transform: uppercase; overflow-wrap: anywhere; }
/* Extends the 34/37px visual links to at least 44px usable height. */
.apak-navigation__link::before { content: ""; position: absolute; inset: -5px -14px; }
/* Hover/focus surfaces do not move or resize the existing navigation text. */
.apak-navigation__link::after { content: ""; position: absolute; z-index: -1; inset: 0 -14px; border-radius: inherit; pointer-events: none; }
.apak-navigation__link--contact { min-inline-size: 117px; padding-inline: 18px 14px; border: 1px solid var(--apak-lime); border-radius: 5px 22px 5px 25px; line-height: 32px; text-align: center; }
.apak-navigation__link--contact::before { inset-inline: 0; }
.apak-navigation__link--contact::after { inset: 0; }
.apak-navigation__link:focus-visible { color: var(--apak-ink); }
.apak-navigation__link:focus-visible::after { background: var(--apak-lime); }
/* D24: reference-style two-line hamburger. The 52px circle is a deliberate
   control target, not a height constraint on the header or menu content. */
.apak-header__toggle { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; width: 52px; height: 52px; max-width: 100%; margin-inline-start: auto; border: 1px solid var(--apak-lime); border-radius: 50%; padding: 0; background: transparent; color: var(--apak-white); cursor: pointer; }
.apak-header__toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.apak-header__toggle-line { display: block; flex: none; width: 21px; height: 2px; background: currentColor; }
.apak-header__toggle[aria-expanded="true"] .apak-header__toggle-line:nth-last-child(2) { transform: translateY(5px) rotate(45deg); }
.apak-header__toggle[aria-expanded="true"] .apak-header__toggle-line:last-child { transform: translateY(-5px) rotate(-45deg); }
.apak-header__toggle:focus-visible { color: var(--apak-ink); background: var(--apak-lime); }

.apak-hero { container-type: inline-size; padding-block: 191px 31px; margin-block-end: 111px; color: var(--apak-white); }
.apak-hero__heading-column { position: relative; padding-inline-end: 18px; }
.apak-hero__title { max-inline-size: 576px; margin: 0 auto; font-family: var(--apak-font-body); font-size: 60px; font-weight: 300; line-height: 61px; text-align: center; text-transform: uppercase; overflow-wrap: anywhere; }
.apak-hero__title span { display: block; }
/* Exact 2 × 249px ornament. Anchored to the growing headline, never page Y. */
.apak-hero__heading-column::after { content: ""; position: absolute; inset-block-start: calc(100% + 29px); inset-inline-start: calc(50% - 18px); inline-size: 2px; block-size: 249px; background: var(--apak-lime); pointer-events: none; }
/* D21: extend only this in-flow column to the banner edge. The difference
   between its container width and the hero's query width is the live gutter. */
.apak-hero__social-column { display: flex; justify-content: flex-end; margin-block-start: 90px; margin-inline-end: calc((100% - 100cqw) / 2); }
.apak-socials { display: grid; grid-template-columns: 24px 21px 21px; column-gap: 13.5px; margin: 0; padding: 0 31px 0 3px; border-block-end: 2px solid var(--apak-lime); list-style: none; }
.apak-socials__link { position: relative; display: flex; align-items: center; justify-content: center; min-block-size: 44px; }
.apak-socials__link::before { content: ""; position: absolute; inset: 0 -2px; }
.apak-socials__link img { flex: none; }
.apak-socials__link:focus-visible { background: rgb(29 29 27 / 60%); outline-offset: 1px; }

@media (hover: hover) and (pointer: fine) {
  .apak-navigation__link:hover { color: var(--apak-ink); }
  .apak-navigation__link:hover::after { background: var(--apak-lime); }
  .apak-header__toggle:hover { color: var(--apak-ink); background: var(--apak-lime); }
  .apak-socials__link:hover { background: rgb(29 29 27 / 60%); }
}

/* Navigation begins to crowd the brand below this measured content width. */
@media (max-width: 960px) {
  .apak-header { padding-block-start: 32px; }
  .apak-header__row { align-items: center; row-gap: 20px; }
  .apak-header__brand-column { grid-column: span 7; }
  .apak-header__brand,
  .apak-header__brand img { width: 160px; }
  .apak-header[data-apak-sticky="true"] .apak-header__brand,
  .apak-header[data-apak-sticky="true"] .apak-header__brand img { width: 128px; }
  .apak-header__toggle-column { grid-column: span 5; }
  .apak-js .apak-header__toggle-column { display: block; }
  .apak-js .apak-header:not([data-apak-menu-ready]) .apak-header__navigation-column { display: none; }
  .apak-header__navigation-column { grid-column: span 12; }
  .apak-navigation__list { justify-content: flex-start; gap: 8px 28px; }
  .apak-navigation__link { line-height: 44px; }
  .apak-navigation__link::before { inset-block: 0; }
  .apak-navigation__link--contact { line-height: 42px; }
  /* D25: only the enhanced compact menu floats above the page. The header
     owns its anchor; the panel's content determines its height. */
  .apak-header[data-apak-menu-ready] { z-index: 90; }
  .apak-header[data-apak-menu-ready] .apak-header__navigation-column { position: absolute; inset-inline: 0; top: 100%; padding-block: 24px; background: var(--apak-ink); border-bottom: 1px solid var(--apak-lime); box-shadow: 0 12px 24px rgb(29 29 27 / 20%); }
  .apak-header[data-apak-menu-ready] .apak-navigation { width: calc(100% - 40px); margin-inline: auto; }
  .apak-header[data-apak-menu-ready] .apak-navigation__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .apak-header[data-apak-menu-ready] .apak-navigation__link--contact { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; min-block-size: 44px; padding-block: 2px 0; line-height: 1; }
  .apak-hero { padding-block-start: 112px; }
  .apak-hero__title { font-size: clamp(40px, 6.25vw, 60px); line-height: 1.0166667; }
  .apak-hero__heading-column { padding-inline-end: 0; }
  .apak-hero__heading-column::after { inset-inline-start: calc(50% - 1px); }
  .apak-opening__media img { object-position: 42% center; }
}

@media (min-width: 768px) and (max-width: 960px) {
  .apak-header[data-apak-menu-ready] .apak-navigation { width: calc(100% - 80px); }
}

@media (max-width: 560px) {
  .apak-navigation__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .apak-navigation__link--contact { display: inline-block; }
  .apak-hero { padding-block-start: 96px; }
}

@media (prefers-reduced-motion: reduce) {
  .apak-header,
  .apak-header__brand,
  .apak-header__brand img { transition: none; }
}
