html, body { margin: 0; height: 100%; }
body {
  background: #fff;
  color: #000;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }

/* background slideshow */
#bg { position: fixed; inset: 0; z-index: 0; background: #fff; }
#bg .slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
}
#bg .slide.on { opacity: 1; }
.bg-off #bg { display: none; }

/* left white panel */
.panel {
  position: fixed; z-index: 1;
  left: 0; top: 6vh; bottom: 6vh;
  width: 41.5vw; min-width: 360px;
  box-sizing: border-box;
  padding: 105px 0 30px 14%;
  background: #fff;
  display: flex; flex-direction: column;
}
.logo { display: block; width: 72%; max-width: 600px; }
.logo img { display: block; width: 100%; height: auto; }

nav { margin-top: 62px; font-size: 2.1rem; line-height: 1.12; letter-spacing: -.02em; }
nav a { display: block; width: fit-content; }
nav a:hover { text-decoration: underline; }

footer {
  margin-top: auto;
  display: flex; align-items: flex-end; justify-content: space-between;
  padding-right: 4.5%;
}
.copy { font-size: .78rem; line-height: 1.15; font-weight: 500; }
#eye { background: none; border: 0; padding: 0; color: #000; cursor: pointer; line-height: 0; }
#eye .closed { display: none; }
.bg-off #eye .open { display: none; }
.bg-off #eye .closed { display: block; }


@media (max-width: 700px) {
  #bg, #eye { display: none; }
  .panel { width: 100%; min-width: 0; padding: 60px 8% 24px; top: 0; bottom: 0; }
  .logo { width: 70%; }
  nav { margin-top: 40px; font-size: 1.8rem; }
}

/* ---------- inner pages: left panel + right content pane ---------- */
.pane {
  position: fixed; z-index: 1;
  left: calc(max(41.5vw, 360px) + 4.15vw); right: 0; top: 6vh; bottom: 6vh;
  background: #fff; overflow-y: auto;
  padding: 26px 3.5% 40px 2.7%;
}
.pane h1 { font-size: 2.6rem; font-weight: 400; letter-spacing: -.03em; line-height: 1.05; margin: 0 0 22px; }
nav a[aria-current] { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 2px; }

@media (max-width: 900px) {
  body.sub #bg, body.sub #eye { display: none; }
  body.sub { height: auto; }
  body.sub .panel { position: relative; width: 100%; min-width: 0; top: 0; bottom: 0; height: auto; padding: 36px 7% 24px; }
  body.sub .logo { width: 46%; }
  body.sub nav { margin-top: 28px; font-size: 1.7rem; }
  body.sub footer { margin-top: 36px; }
  body.sub .pane { position: relative; left: 0; top: 0; bottom: 0; margin-top: 16px; padding: 24px 7% 40px; overflow: visible; }
}
