/* Layout & components. Colours and fonts live in brand.css */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: clip;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Thin brand line across the top of the page */
body::before {
  content: "";
  position: fixed;
  inset: 0 0 auto 0;
  height: 3px;
  background: var(--brand-gradient);
  z-index: 10;
}

[hidden] {
  display: none !important;
}

/* Icons are drawn by a font; until it arrives the browser would show stand-in
   characters (they can look Chinese), so keep icons invisible until then */
.icons-loading .hgi {
  visibility: hidden;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

a {
  color: inherit;
}

.page {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 48px);
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}

/* ---------- Header ---------- */

.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0;
}

.brand {
  position: relative;
  display: inline-block;
  transition: transform 0.4s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.brand img {
  height: 44px;
  width: auto;
}

/* Hover: a soft band of light sweeps across the letters (masked to the logo's shape) */
.brand::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 25%, rgba(255, 255, 255, 0.7) 50%, transparent 75%) no-repeat;
  background-size: 50% 100%;
  background-position: -100% 0;
  -webkit-mask: url("data:image/png;base64,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") center / contain no-repeat;
  mask: url("data:image/png;base64,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") center / contain no-repeat;
}

.brand:hover,
.brand:focus-visible {
  transform: translateY(-2px);
}

.brand:hover::after,
.brand:focus-visible::after {
  background-position: 200% 0;
  transition: background-position 0.9s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 20px;
}

.header-link {
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--muted);
  transition: color 0.2s ease;
}

.header-link:hover {
  color: var(--ink);
}

.theme-toggle {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font-size: 18px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.theme-toggle:hover {
  border-color: var(--ink);
}

.theme-toggle .icon-sun {
  display: none;
}

:root[data-theme="dark"] .theme-toggle .icon-sun {
  display: block;
}

:root[data-theme="dark"] .theme-toggle .icon-moon {
  display: none;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .theme-toggle .icon-sun {
    display: block;
  }
  :root:not([data-theme="light"]) .theme-toggle .icon-moon {
    display: none;
  }
}

/* ---------- Hero ---------- */

.hero {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(32px, 6vw, 96px);
  padding: clamp(24px, 5vh, 64px) 0 clamp(48px, 8vh, 96px);
}

.eyebrow {
  margin: 0 0 28px;
  font-family: var(--font-body);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--accent);
  display: flex;
  align-items: center;
  gap: 14px;
}

.eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: currentColor;
}

h1 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(2.75rem, 6.4vw, 5.75rem);
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-variation-settings: "opsz" 144;
}

h1 em {
  font-style: italic;
  color: var(--accent-2);
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 40px;
}

/* Collapse the button row until links are set in script.js */
.actions:not(:has(a:not([hidden]))) {
  display: none;
}

.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  border-radius: var(--radius);
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn i {
  font-size: 18px;
}

.btn-primary {
  background: var(--btn-bg);
  color: var(--btn-ink);
  border: 1px solid var(--btn-bg);
}

.btn-primary:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--btn-ink);
}

.btn-ghost {
  border: 1px solid var(--line);
  color: var(--ink);
}

.btn-ghost:hover {
  border-color: var(--ink);
}

.note {
  margin: 28px 0 0;
  font-size: 0.9375rem;
  color: var(--muted);
}

/* Logo mark with rotating ring of text */

.hero-mark {
  position: relative;
  width: min(100%, 460px);
  aspect-ratio: 1;
  justify-self: center;
}

.ring {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  animation: spin 60s linear infinite;
}

.ring text {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  fill: var(--muted);
}

.mark {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 58%;
  /* nudged up: the wide wordmark makes a true centre look bottom-heavy */
  transform: translate(-50%, -55%);
}

.hero-mark::before {
  content: "";
  position: absolute;
  inset: 8.5%;
  border: 1px solid var(--line);
  border-radius: 50%;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* ---------- Photo showcase (home): one photo at a time ---------- */

.showcase {
  margin-bottom: clamp(48px, 7vh, 72px);
  --showcase-interval: 6s;
}

.showcase-frame {
  position: relative;
  display: block;
  aspect-ratio: 2 / 1;
  max-height: 600px;
  width: 100%;
  overflow: hidden;
  border-radius: 24px;
  background: var(--surface);
}

.showcase-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  /* hidden photos keep the zoomed-in size, so the outgoing one doesn't jump while it fades */
  transform: scale(1.06);
  transition: opacity 1.2s ease;
}

.showcase-frame img.is-active {
  opacity: 1;
  /* slow, gentle zoom while the photo is showing */
  animation: showcase-zoom calc(var(--showcase-interval) + 1.2s) linear forwards;
}

@keyframes showcase-zoom {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.06);
  }
}

.showcase-bar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 20px 0 14px;
}

.showcase-category {
  margin: 0 0 4px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--accent);
}

.showcase-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.375rem, 2.4vw, 1.875rem);
  font-weight: 300;
  line-height: 1.2;
}

.showcase-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: none;
}

.showcase-count {
  font-family: var(--font-display);
  font-style: italic;
  color: var(--muted);
  font-variant-numeric: tabular-nums;
}

.showcase-toggle {
  width: 36px;
  height: 36px;
  font-size: 15px;
}

.showcase-toggle .icon-play,
.showcase.is-paused .showcase-toggle .icon-pause {
  display: none;
}

.showcase.is-paused .showcase-toggle .icon-play {
  display: block;
}

.showcase-progress {
  height: 1px;
  background: var(--line);
}

.showcase-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--ink);
  transform-origin: left;
  transform: scaleX(0);
}

.showcase-progress span.is-running {
  animation: showcase-progress var(--showcase-interval) linear forwards;
}

@keyframes showcase-progress {
  to {
    transform: scaleX(1);
  }
}

/* Hovering the photo or pressing pause holds the current slide */
.showcase.is-paused .showcase-progress span,
.showcase.is-paused .showcase-frame img.is-active,
.showcase-frame:hover img.is-active,
.showcase:has(.showcase-frame:hover) .showcase-progress span {
  animation-play-state: paused;
}

/* ---------- Categories (home) ---------- */

.categories {
  border-top: 1px solid var(--line);
  padding: 48px 0 56px;
}

/* the showcase's progress line already separates the sections */
.showcase:not([hidden]) + .categories {
  border-top: 0;
  padding-top: 8px;
}

/* Wraps evenly for any number of categories; a leftover item on the last row centres */
.category-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px 24px;
}

.category-list li {
  flex: 1 1 150px;
  max-width: 260px;
}

.category-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px 0;
  text-align: center;
  text-decoration: none;
}

.category-link h3 {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.375rem;
  line-height: 1.25;
}

.category-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
  transition: color 0.2s ease;
}

.category-cta i {
  font-size: 14px;
  transition: transform 0.2s ease;
}

.cat-icon {
  display: block;
  width: 64px;
  height: 64px;
  margin-bottom: 22px;
  color: var(--accent);
  stroke-width: 0.75;
  transition: transform 0.3s ease, color 0.3s ease;
}

.category-link:hover .cat-icon {
  color: var(--accent-2);
  transform: translateY(-4px);
}

.category-link:hover .category-cta {
  color: var(--ink);
}

.category-link:hover .category-cta i {
  transform: translateX(3px);
}

/* ---------- Shared controls ---------- */

.icon-button {
  position: relative;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font-size: 19px;
  cursor: pointer;
  transition: border-color 0.2s ease;
}

.icon-button:hover {
  border-color: var(--ink);
}

.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.chip {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  padding: 8px 16px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-size: 0.875rem;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.chip:hover {
  border-color: var(--ink);
}

.chip[aria-pressed="true"],
.chip[aria-current="page"] {
  background: var(--btn-bg);
  border-color: var(--btn-bg);
  color: var(--btn-ink);
}

.chip sup {
  font-size: 0.6875rem;
  opacity: 0.6;
}

/* ---------- Footer ---------- */

.site-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 24px 0 32px;
  border-top: 1px solid var(--line);
  font-size: 0.875rem;
  color: var(--muted);
}

.site-footer p {
  margin: 0;
}

.footer-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 24px;
}

.credit {
  font-size: 0.8125rem;
}

.credit span {
  color: var(--ink);
}

.socials {
  display: flex;
  gap: 6px;
}

.socials a {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  font-size: 19px;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.socials a:hover {
  color: var(--ink);
  background: var(--surface);
}

/* ---------- Entrance animation ---------- */

.reveal {
  opacity: 0;
  transform: translateY(14px);
  animation: reveal 0.9s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}

.hero-copy .reveal:nth-child(2) { animation-delay: 0.08s; }
.hero-copy .reveal:nth-child(3) { animation-delay: 0.16s; }
.hero-copy .reveal:nth-child(4) { animation-delay: 0.24s; }
.hero-copy .reveal:nth-child(5) { animation-delay: 0.32s; }
.hero-mark.reveal { animation-delay: 0.2s; }

@keyframes reveal {
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .reveal {
    opacity: 1;
    transform: none;
    animation: none;
  }
  .ring {
    animation: none;
  }
  .brand,
  .brand:hover::after {
    transition: none;
  }
  /* no zoom, and a quick fade between photos */
  .showcase-frame img {
    transition-duration: 0.3s;
  }
  .showcase-frame img.is-active {
    animation: none;
  }
  body {
    transition: none;
  }
}

/* ---------- Responsive ---------- */

@media (max-width: 960px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .hero-mark {
    order: -1;
    width: min(86vw, 360px);
  }

  .showcase-frame {
    aspect-ratio: 3 / 2;
  }
}

@media (max-width: 560px) {
  .site-header {
    padding: 20px 0;
  }

  .brand img {
    height: 36px;
  }

  .header-link {
    display: none;
  }

  .btn {
    flex: 1 1 100%;
    justify-content: center;
  }

  .cat-icon {
    width: 52px;
    height: 52px;
    margin-bottom: 16px;
  }

  .showcase-frame {
    aspect-ratio: 4 / 5;
    border-radius: 18px;
  }

  .site-footer {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
}
