:root { color-scheme: dark; background: #000; }
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; background: #000; }
body { overflow-x: hidden; }
.portal-page { position: relative; min-width: 320px; width: 100%; background: #000; }
.approved-artwork { position: relative; z-index: 0; display: block; width: 100%; height: auto; pointer-events: none; user-select: none; }
.site-header, .portal-content, footer { position: absolute; inset-inline: 0; color: transparent; }
.site-header { top: 0; height: 10.7%; }
.site-header { z-index: 20; pointer-events: auto; }
.site-header a, .site-header nav { pointer-events: auto; }
.site-header a, .portal-content, .portal-content a, footer { color: transparent; }
.brand, .site-header nav a { position: absolute; display: block; }
.brand { left: 1.8%; top: 30%; z-index: 50; width: 15%; height: 42%; cursor: pointer; pointer-events: auto; }
.menu-toggle { display: none; }
#primary-navigation { position: absolute; left: 20.6%; top: 32%; width: 52%; height: 42%; }
#primary-navigation a { top: 0; height: 100%; }
#primary-navigation a:nth-child(1) { left: 0; width: 16%; }
#primary-navigation a:nth-child(2) { left: 23%; width: 12%; }
#primary-navigation a:nth-child(3) { left: 42%; width: 15%; }
#primary-navigation a:nth-child(4) { left: 64%; width: 17%; }
#primary-navigation a:nth-child(4) { cursor: pointer !important; }
#primary-navigation a:nth-child(5) { left: 87%; width: 13%; }
.social-links { position: absolute; inset: 0; }
.social-links a { top: 29%; height: 48%; width: 2.8%; }
.social-links a:nth-child(1) { left: 76.4%; }
.social-links a:nth-child(2) { left: 81%; }
.social-links a:nth-child(3) { left: 84.5%; }
.social-links a:nth-child(4) { left: 88%; }
.social-links a:nth-child(5) { left: 92%; }
.social-links a:nth-child(6) { left: 95.6%; }
.resonance-direct { position: absolute; z-index: 10; left: 20.6%; top: 32%; display: block; width: 10%; height: 42%; }
.memory-direct { position: absolute; z-index: 10; left: 32.5%; top: 32%; display: block; width: 6.5%; height: 42%; }
.ceremony-direct { position: absolute; z-index: 10; left: 42%; top: 32%; display: block; width: 9.5%; height: 42%; cursor: pointer; }
.revelations-direct { position: absolute; z-index: 10; left: 54%; top: 32%; display: block; width: 10%; height: 42%; cursor: pointer; }
.portal-content { top: 25%; left: 37%; right: 37%; height: 49%; }
.portal-content h1, .portal-content h2, .portal-content p, .portal-content > a { margin: 0; }
.portal-content { z-index: 15; pointer-events: auto; }
.portal-content > a {
  position: relative;
  z-index: 16;
  display: inline-block;
  cursor: pointer;
  pointer-events: auto;
  user-select: text;
}
.portal-email-direct {
  position: absolute;
  z-index: 30;
  display: block;
  color: transparent;
  font: 16px Georgia, 'Times New Roman', serif;
  text-decoration: none;
  cursor: pointer;
  user-select: text;
}
.portal-email-gmail { left: 41%; top: 56.5%; width: 18%; height: 4%; }
.portal-email-contact { left: 39%; top: 66%; width: 22%; height: 4%; }
.label-partner {
  position: absolute;
  z-index: 16;
  top: 73%;
  left: 50%;
  width: min(440px, 44vw);
  transform: translateX(-50%) scale(1.5);
  transform-origin: center top;
  color: #e9e8e7;
  text-align: center;
  font-family: Georgia, 'Times New Roman', serif;
  letter-spacing: .12em;
}
.label-partner p { margin: 0; }
.label-partner__eyebrow { font-size: clamp(18px, 1.48vw, 24px); text-transform: uppercase; }
.label-partner__intro { margin-top: 16px !important; font-size: clamp(18px, 1.4vw, 22px); letter-spacing: .07em; }
.label-partner__logo { display: block; width: 144px; margin: 18px auto 14px; cursor: pointer; }
.label-partner__logo img { display: block; width: 100%; height: auto; filter: invert(.88) sepia(.14) saturate(.7); }
.label-partner__name { color: #e9e8e7; font-size: clamp(18px, 1.44vw, 22px); line-height: 1.6; text-decoration: none; cursor: pointer; }
.label-partner__name span { font-size: .82em; letter-spacing: .06em; }
.label-partner__logo:hover img { filter: invert(.98) sepia(.18) saturate(1.1); }
.label-partner__name:hover { color: #fff1db; }
.label-partner__copyright { margin-top: 76px !important; color: #e9e8e7; font-size: clamp(14px, 1.05vw, 17px); letter-spacing: .16em; }
footer { top: 90%; height: 7%; text-align: center; }
a:focus-visible, .menu-toggle:focus-visible { outline: 1px solid #e9e8e7; outline-offset: 3px; }
@media (min-aspect-ratio: 3/2) { .portal-page { min-height: 100vh; } .approved-artwork { min-height: 100vh; object-fit: cover; } }
@media (min-width: 769px) {
  .portal-page { padding-bottom: 630px; }
  .label-partner { top: calc(58vw + 133px); }
  .portal-page > footer {
    display: none;
  }
}
@media (max-width: 768px) {
  .portal-page { min-height: 100svh; }
  .approved-artwork { min-height: 0; object-fit: contain; }
  .site-header { height: clamp(64px, 18vw, 100px); }
  .brand { z-index: 3; top: 0; width: 22%; height: 100%; }
  .menu-toggle { position: absolute; z-index: 5; top: 14px; right: 18px; display: grid; gap: 5px; width: 34px; height: 34px; padding: 7px 5px; border: 0; background: rgba(0,0,0,.82); cursor: pointer; }
  .menu-toggle span { display: block; width: 100%; height: 1px; background: #e9e8e7; }
  #primary-navigation { position: fixed; z-index: 4; inset: 0; display: none; width: auto; height: auto; padding: 100px 30px 30px; background: #000; }
  #primary-navigation.is-open { display: grid; align-content: start; gap: 24px; }
  #primary-navigation a { position: static; width: auto !important; height: auto; color: #e9e8e7; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(13px, 4vw, 19px); letter-spacing: .18em; line-height: 1; text-decoration: none; text-transform: uppercase; }
  #primary-navigation a[aria-current="page"] { text-decoration: underline; text-underline-offset: 8px; }
  .resonance-direct { display: none; }
  .memory-direct { display: none; }
  .ceremony-direct { display: none; }
  .revelations-direct { display: none; }
  .label-partner { top: 72%; left: 50%; width: min(440px, 92vw); transform: translateX(-50%); }
  .label-partner__logo { width: 124px; }
  .label-partner__copyright { margin-top: 114px !important; }
  footer { top: auto; bottom: 0; }
}

/* Compact desktop presentation: retain the approved composition within one viewport. */
@media (min-width: 901px) and (max-height: 1000px) { body { zoom: .86; } }
@media (min-width: 901px) and (max-height: 800px) { body { zoom: .76; } }

/* Fit the complete approved desktop artwork without vertical scrolling. */
@media (min-width: 901px) and (max-height: 1100px) { html, body { height: auto; overflow-x: hidden; overflow-y: auto; } body { zoom: .72; } }
@media (min-width: 901px) and (min-height: 1101px) { html, body { height: auto; overflow-x: hidden; overflow-y: auto; } body { zoom: .82; } }
