/* SIGNAL — a mobile-first, editorial studio experience.
   All scroll motion is progressive enhancement; no scroll interception. */
:root {
  --future-paper: #eeeae2;
  --future-ink: #181a17;
  --future-muted: #6b6c65;
  --future-blue: #ff1684;
  --future-text-blue: #ff1684;
  --future-lime: #ff1684;
}
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
.next-home { font-family: Arial, Helvetica, sans-serif; overflow-x: clip; }
.next-home a { text-decoration: none; }
.next-home button { font: inherit; cursor: pointer; }
.next-home :focus-visible { outline: 3px solid #ff8b5e; outline-offset: 5px; }
.next-home h1, .next-home h2, .next-home h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: 600;
  letter-spacing: -.07em;
  line-height: .96;
  margin: 0;
}
.next-home .site-nav {
  position: absolute;
  height: 78px;
  min-height: 78px;
  padding: 19px 4vw;
  background: var(--future-paper);
  border: 0;
  color: var(--future-ink);
}
.next-home .site-nav-brand { color: var(--future-ink); font-size: 21px; letter-spacing: -1.1px; }
.next-home .site-nav-links, .next-home .header-search-toggle { display: none; }
.next-home .menu-toggle {
  top: 17px;
  right: 4vw;
  height: 44px;
  padding: 12px 20px;
  background: var(--future-ink);
  color: var(--future-paper);
  border: 0;
  border-radius: 40px;
  box-shadow: none;
  animation: menu-arrival .7s both;
}
.next-home .mobile-menu { color: white; }
.next-home .mobile-menu a { font-style: normal; }
.next-home .menu-search button { background: var(--future-blue); color: white; }
.next-home .site-sound-control { bottom: 16px; left: 16px; }
.next-main { background: var(--future-paper); color: var(--future-ink); overflow: hidden; padding-top: 78px; }
.future-hero { padding: 10px 4vw 0; }
.next-eyebrow, .next-label, .hero-footnote, .cinema-top, .cinema-bottom {
  font-family: 'Courier New', monospace;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: .04em;
}
.next-eyebrow { display: flex; align-items: center; gap: 8px; }
.intro-location { margin-left: auto; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--future-blue); }
.next-intro { position: relative; }
.next-intro h1 { font-size: clamp(90px, 12.5vw, 185px); line-height: .81; letter-spacing: -.085em; margin: 34px 0 32px; }
.headline-line { display: block; transform-origin: left; }
.headline-line:first-child { transform: translateX(calc(var(--intro-progress, 0) * -55px)); }
.outline-line { color: var(--future-text-blue); transform: translateX(calc(var(--intro-progress, 0) * 45px)); }
.title-dot { color: var(--future-ink); }
.intro-bottom { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-bottom: 30px; }
.intro-bottom p { margin: 0; font-size: 16px; line-height: 1.4; }
.next-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 17px 23px;
  border-radius: 50px;
  background: var(--future-blue);
  color: white !important;
  font-size: 13px;
  font-weight: 600;
  transition: transform .3s, background .3s;
}
.next-cta:hover { transform: translateY(-4px); background: #1729dc; }
.next-cta:active { transform: scale(.97); }
.next-cinema { transform: scale(calc(.94 + var(--cinema-progress, 0) * .06)); transform-origin: center; }
.cinema-viewport { position: relative; height: min(650px, 68vw); border-radius: 130px 12px 12px 12px; background: #111; overflow: hidden; }
.cinema-viewport video { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; transform: scale(calc(1.1 - var(--cinema-progress, 0) * .1)); }
.cinema-top { position: absolute; top: 24px; left: 65px; right: 24px; display: flex; align-items: center; justify-content: space-between; color: white; text-shadow: 0 1px 5px black; }
.cinema-top button { border: 1px solid #ffffff66; background: #16161670; color: white; border-radius: 40px; padding: 10px 15px; font-size: 10px; }
.cinema-bottom { padding: 13px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.reel-options { display: flex; gap: 5px; }
.reel-options button { border: 1px solid #181a1730; color: var(--future-ink); width: 38px; height: 38px; background: transparent; border-radius: 50%; font-size: 10px; }
.reel-options button[aria-pressed=true] { background: var(--future-ink); color: white; }
.film-stamp { position: absolute; width: 100px; height: 100px; right: 25px; bottom: 24px; background: var(--future-lime); border-radius: 50%; color: var(--future-ink); }
.film-stamp svg { width: 100%; height: 100%; animation: stamp-turn 25s linear infinite; }
.film-stamp text { fill: currentColor; font-size: 10.2px; font-family: Arial, sans-serif; font-weight: 700; letter-spacing: 1.7px; }
.film-stamp > span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 40px; }
.hero-footnote { display: flex; justify-content: space-between; padding: 22px 0 38px; color: var(--future-muted); }
.hero-footnote a { color: inherit; }
.next-ticker { overflow: hidden; background: var(--future-blue); color: white; padding: 20px 0; transform: rotate(-2deg); margin: 0 -10px; }
.next-ticker > div { width: max-content; white-space: nowrap; font-size: 23px; letter-spacing: -.04em; animation: ticker-flow 30s linear infinite; }
.next-pad { padding: 95px 5vw; }
.next-label { margin-bottom: 28px; color: var(--future-muted); }
.next-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 38px; }
.next-home h2 { font-size: clamp(45px, 6.2vw, 90px); }
.next-home h2 em { color: var(--future-muted); font-style: normal; }
.next-heading-row h2 { transform: translateX(calc((1 - var(--arrival, 1)) * -35px)); opacity: calc(.4 + var(--arrival, 1) * .6); }
.next-heading-row p { font-size: 14px; line-height: 1.6; }
.work-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 10px; color: var(--future-muted); margin-bottom: 18px; }
.work-toolbar > div { display: flex; gap: 7px; }
.work-toolbar button { width: 40px; height: 40px; border: 1px solid #181a1733; border-radius: 50%; background: transparent; color: inherit; }
.next-projects { display: flex; overflow-x: auto; gap: 24px; padding-bottom: 25px; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--future-blue) #dad6cd; overscroll-behavior-x: contain; }
.next-project { flex: 0 0 57%; min-width: 0; color: inherit; scroll-snap-align: start; }
.next-project:nth-child(even) { padding-top: 50px; }
.project-art { height: 440px; position: relative; overflow: hidden; border-radius: 12px; }
.project-art img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.next-project:hover img { transform: scale(1.045); }
.project-art > span { position: absolute; bottom: 20px; right: 20px; background: var(--future-paper); padding: 13px 20px; border-radius: 50px; font-size: 12px; }
.project-caption { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; }
.next-home .project-caption h3 { font-size: 23px; letter-spacing: -.04em; }
.project-caption > span { font: 10px monospace; }
.next-text-link { display: inline-block; padding: 10px 0; margin-top: 24px; border-bottom: 1px solid currentColor; color: inherit; font-size: 13px; }
.next-capabilities { background: var(--future-ink); color: var(--future-paper); border-radius: 40px 40px 0 0; }
.next-capabilities .next-label { color: #acafa3; }
.next-capabilities h2 > span { color: var(--future-lime); }
.capability-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 9vw; margin-top: 45px; }
.next-tabs { display: flex; flex-direction: column; }
.next-tabs button { display: flex; gap: 20px; align-items: center; text-align: left; padding: 21px 0; color: #a7a99f; border: 0; border-bottom: 1px solid #ffffff25; background: transparent; font-size: 25px; letter-spacing: -.04em; }
.next-tabs button > span { font: 10px monospace; }
.next-tabs button > b { margin-left: auto; font-weight: 400; }
.next-tabs button[aria-selected=true] { color: var(--future-lime); border-bottom-color: var(--future-lime); }
.next-panels [role=tabpanel] { animation: panel-arrival .4s both; }
.next-panels [hidden] { display: none; }
.capability-symbol { display: block; color: var(--future-lime); font-size: 80px; line-height: 1; width: 80px; margin-bottom: 25px; transform: rotate(calc(var(--service-progress, 0) * 160deg)); }
.next-home .next-panels h3 { font-size: 34px; letter-spacing: -.05em; }
.next-panels p { font-size: 16px; line-height: 1.7; color: #bec0b5; }
.next-panels small { display: block; font-size: 11px; line-height: 1.8; color: #bec0b5; }
.next-dark { margin-top: 25px; background: var(--future-lime); color: var(--future-ink) !important; }
.next-dark:hover { background: #e5ffa0; }
.next-about { background: var(--future-lime); }
.about-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 8vw; }
.next-about h2 em { color: #627330; }
.about-grid p { font-size: 21px; line-height: 1.5; margin: 0 0 22px; }
.about-grid p + p { font-size: 15px; color: #515c35; }
.next-proof { display: flex; align-items: center; justify-content: center; gap: 55px; margin-top: 55px; border-top: 1px solid #181a1722; padding-top: 30px; }
.next-proof span { font-size: 11px; }
.next-proof img { width: 95px; height: 55px; object-fit: contain; filter: grayscale(1); opacity: .65; }
.kinetic-bridge { padding: 65px 0; background: var(--future-blue); color: var(--future-paper); overflow: hidden; }
.kinetic-word { font-size: clamp(90px, 15vw, 210px); line-height: .86; letter-spacing: -.08em; font-weight: 600; white-space: nowrap; width: max-content; transform: translateX(calc(-12% + var(--bridge-progress, 0) * 18%)); }
.kinetic-outline { color: transparent; -webkit-text-stroke: 1px var(--future-paper); transform: translateX(calc(25% - var(--bridge-progress, 0) * 25%)); }
.next-art { background: var(--future-paper); }
.next-art-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; padding: 40px 0; }
.next-art-grid a { position: relative; aspect-ratio: 3/4; transform: translateY(calc((1 - var(--art-progress, 1)) * 50px)) rotate(-7deg); transition: transform .4s; }
.next-art-grid a:nth-child(even) { transform: translateY(calc(25px + (1 - var(--art-progress, 1)) * 60px)) rotate(7deg); }
.next-art-grid img { width: 100%; height: 100%; object-fit: cover; border: 5px solid white; box-shadow: 0 10px 30px #181a1718; }
.next-art-grid a:hover, .next-art-grid a:focus-visible { transform: rotate(0) translateY(-8px); z-index: 1; }
.next-art-grid span { position: absolute; left: 15px; bottom: 15px; padding: 8px 12px; background: #181a17c9; color: white; font-size: 10px; border-radius: 20px; }
.art-note { color: var(--future-muted); font-size: 12px; margin-top: 30px; }
.next-close { background: var(--future-blue); color: var(--future-paper); border-radius: 45px 45px 0 0; }
.next-close .next-label { color: #ffffffb0; }
.close-link { position: relative; display: block; color: inherit; font-size: clamp(75px, 12vw, 175px); font-weight: 600; letter-spacing: -.075em; line-height: .86; }
.close-link em { font-style: normal; color: var(--future-lime); }
.close-link > span { position: absolute; right: 0; top: 0; font-size: .8em; transition: transform .3s; }
.close-link:hover > span { transform: translate(8px, -8px); }
.close-bottom { display: flex; gap: 35px; align-items: center; margin-top: 45px; padding-top: 25px; border-top: 1px solid #ffffff40; font-size: 13px; }
.close-bottom p { margin-right: auto; }
.close-bottom a { color: inherit; }
.next-home .site-footer { color: var(--future-paper); padding-top: 30px; }
.next-home .site-footer-callout, .next-home .site-footer-glow, .next-home .site-footer-brand { display: none; }
.next-home .site-footer-inner { gap: 20px; }
.next-home .site-footer-links { border-top: 0; }
.next-home .site-footer-meta { color: #aaa; }
.mobile-dock { display: none; }
.next-scroll-meter { position: fixed; top: 0; left: 0; width: 100%; height: 2px; background: var(--future-blue); transform: scaleX(var(--reading-progress, 0)); transform-origin: left; z-index: 100; pointer-events: none; }
.next-reveal { animation: panel-arrival .65s both; }
.next-intro h1 { animation: headline-arrival .85s .12s both; }
@keyframes headline-arrival { from { opacity: 0; transform: translateY(25px) rotate(2deg); } to { opacity: 1; transform: none; } }
@keyframes panel-arrival { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: translateX(0); } }
@keyframes menu-arrival { from { transform: translateY(-80px); } to { transform: translateY(0); } }
@keyframes stamp-turn { to { transform: rotate(360deg); } }
@keyframes ticker-flow { to { transform: translateX(-50%); } }
@media (min-width: 1000px) {
  .next-intro h1 { margin-bottom: 55px; }
  .intro-bottom { position: absolute; right: 0; top: 48px; flex-direction: column; align-items: start; width: 260px; gap: 20px; }
  .intro-bottom p { font-size: 15px; }
}
@media (max-width: 700px) {
  html { scroll-padding-top: 30px; }
  .next-home .site-nav { height: 61px; min-height: 61px; padding: 17px 18px; }
  .next-home .site-nav-brand { font-size: 18px; }
  .next-home .menu-toggle { right: 18px; top: 12px; height: 36px; padding: 10px 14px; font-size: 10px; }
  .next-main { padding-top: 61px; }
  .future-hero { padding: 12px 18px 0; }
  .next-eyebrow { font-size: 7px; letter-spacing: .01em; }
  .intro-location { display: none; }
  .next-intro h1 { font-size: clamp(44px, 12.6vw, 86px); line-height: .92; margin: 20px 0 19px; letter-spacing: -.075em; }
  .headline-line:first-child { font-size: 1.62em; }
  .intro-bottom { align-items: start; gap: 15px; margin-bottom: 22px; }
  .intro-bottom p { font-size: 11px; line-height: 1.45; max-width: 153px; }
  .intro-bottom .next-cta { padding: 12px 14px; font-size: 10px; gap: 10px; border-radius: 35px; }
  .cinema-viewport { height: 365px; border-radius: 80px 8px 8px 8px; }
  .cinema-top { top: 17px; left: 42px; right: 13px; font-size: 7px; }
  .cinema-top button { padding: 9px 12px; font-size: 9px; }
  .film-stamp { width: 77px; height: 77px; right: 15px; bottom: 17px; }
  .film-stamp > span { font-size: 30px; }
  .cinema-bottom { font-size: 8px; padding: 10px 0; }
  .reel-options button { width: 34px; height: 34px; font-size: 9px; }
  .hero-footnote { font-size: 7px; padding: 14px 0 26px; }
  .next-ticker { padding: 15px 0; }
  .next-ticker > div { font-size: 19px; }
  .next-pad { padding: 54px 18px; }
  .next-label { font-size: 8px; margin-bottom: 20px; }
  .next-home h2 { font-size: 43px; line-height: .99; }
  .next-heading-row { display: block; margin-bottom: 25px; }
  .next-heading-row p { font-size: 12px; margin-top: 20px; }
  .next-heading-row .next-cta { margin-top: 23px; }
  .work-toolbar { font-size: 8px; }
  .work-toolbar > span { max-width: 200px; }
  .work-toolbar button { width: 36px; height: 36px; }
  .next-projects { gap: 15px; margin-right: -18px; padding-right: 18px; }
  .next-project { flex-basis: 86%; }
  .next-project:nth-child(even) { padding-top: 30px; }
  .project-art { height: 345px; border-radius: 8px; }
  .project-art > span { padding: 10px 15px; bottom: 15px; right: 15px; font-size: 10px; }
  .next-home .project-caption h3 { font-size: 19px; }
  .next-capabilities { border-radius: 30px 30px 0 0; }
  .capability-layout { display: block; margin-top: 30px; }
  .next-tabs { flex-direction: row; overflow-x: auto; gap: 7px; padding: 0 0 15px; scrollbar-width: thin; scrollbar-color: #ff1684 #333; }
  .next-tabs button { flex: 0 0 auto; font-size: 12px; letter-spacing: -.01em; padding: 12px 15px; border: 1px solid #ffffff40; border-radius: 40px; white-space: nowrap; gap: 8px; }
  .next-tabs button > span, .next-tabs button > b { display: none; }
  .next-tabs button[aria-selected=true] { background: var(--future-lime); color: var(--future-ink); border-color: var(--future-lime); }
  .next-panels { margin-top: 25px; }
  .capability-symbol { font-size: 57px; width: 57px; margin-bottom: 20px; }
  .next-home .next-panels h3 { font-size: 29px; }
  .next-panels p { font-size: 14px; line-height: 1.65; }
  .next-panels small { font-size: 10px; }
  .next-cta { font-size: 12px; padding: 15px 20px; }
  .about-grid { display: block; }
  .about-grid > div { margin-top: 25px; }
  .about-grid p { font-size: 18px; }
  .about-grid p + p { font-size: 13px; line-height: 1.6; }
  .next-proof { flex-wrap: wrap; gap: 25px; margin-top: 35px; padding-top: 25px; }
  .next-proof span { width: 100%; text-align: center; font-size: 9px; }
  .next-proof img { width: 80px; height: 44px; }
  .kinetic-bridge { padding: 45px 0; }
  .kinetic-word { font-size: 82px; }
  .next-art-grid { grid-template-columns: repeat(2, 1fr); gap: 27px 16px; padding: 15px 0 30px; }
  .next-art-grid img { border-width: 3px; }
  .next-art-grid span { bottom: 10px; left: 10px; padding: 7px 10px; font-size: 9px; }
  .art-note { font-size: 10px; }
  .next-close { border-radius: 30px 30px 0 0; }
  .close-link { font-size: 69px; }
  .close-link > span { font-size: 39px; }
  .close-bottom { flex-wrap: wrap; gap: 18px; font-size: 11px; margin-top: 35px; }
  .close-bottom p { width: 100%; margin: 0; }
  .mobile-dock { position: fixed; display: flex; left: 50%; bottom: max(15px, env(safe-area-inset-bottom)); transform: translateX(-50%); width: 274px; padding: 5px; background: #181a17ed; border: 1px solid #ffffff30; border-radius: 60px; box-shadow: 0 8px 30px #0003; z-index: 35; backdrop-filter: blur(15px); }
  .mobile-dock a { display: flex; justify-content: center; align-items: center; gap: 16px; padding: 12px 17px; color: var(--future-paper); font-size: 11px; }
  .mobile-dock a:last-child { background: var(--future-lime); color: var(--future-ink); border-radius: 40px; margin-left: auto; }
  .next-home.menu-open .mobile-dock { visibility: hidden; }
  .next-home .site-sound-control { display: none; }
  .next-home .site-footer { padding-bottom: 120px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .headline-line, .next-cinema, .cinema-viewport video, .next-heading-row h2, .capability-symbol, .kinetic-word, .next-art-grid a, .next-art-grid a:nth-child(even) { transform: none; opacity: 1; }
  .kinetic-word { font-size: clamp(35px, 10vw, 150px); white-space: normal; padding: 0 18px; }
}
/* Stable panels prevent a tab change from shifting the content below it. */
.next-panels { min-height: 345px; }
.next-home .mobile-menu-links > a span { color: var(--future-lime); }
.next-home .mobile-menu-links > a { font-style: normal; }
.next-home .mobile-menu .menu-more > summary { color: var(--future-lime); }
@media (max-width: 700px) {
  .next-home .site-nav { min-height: 61px !important; }
  .next-home .menu-toggle { min-height: 36px; }
  .next-panels { min-height: 325px; }
}
/* Keep every line inside its text column throughout the entrance. */
.next-heading-row h2 { transform: translateY(calc((1 - var(--arrival, 1)) * 20px)); }
.next-home:has(.menu-toggle[aria-expanded="true"]) .mobile-dock {
  visibility: hidden;
}

/* Aqua edition: dark labels keep the bright surfaces readable. */
.next-cta { color: var(--future-ink) !important; }
.next-cta:hover { background: #36c9b9; }
.next-ticker, .kinetic-bridge, .next-close { color: var(--future-ink); }
.kinetic-outline { -webkit-text-stroke-color: var(--future-ink); }
.next-close .next-label { color: #244a46; }
.close-link em { color: #155d57; }
.next-home .menu-search button { color: var(--future-ink); }
.next-scroll-meter, .status-dot { background: var(--future-text-blue); }

/* Visitor-selectable themes. The variables are also set from site.js so the
   same DOM update is immediately available to other components. */
:root[data-visitor-theme="noir"] .next-main,
:root[data-visitor-theme="noir"] .next-home .site-nav,
:root[data-visitor-theme="noir"] .next-art {
  background: var(--future-paper);
  color: var(--future-ink);
}
:root[data-visitor-theme="noir"] .project-art > span {
  background: var(--future-ink);
  color: var(--future-paper);
}
:root[data-visitor-theme="noir"] .next-projects {
  scrollbar-color: var(--future-blue) #2d3030;
}
:root[data-visitor-theme="noir"] .next-proof img {
  filter: grayscale(1) invert(1);
}

.menu-theme-picker {
  margin: 0;
  border-block: 1px solid #ffffff1f;
}
.menu-theme-picker > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
  color: white;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  list-style: none;
}
.menu-theme-picker > summary::-webkit-details-marker { display: none; }
.menu-theme-picker[open] > summary span { transform: rotate(45deg); }
.visitor-theme-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 0 0 15px;
}
.visitor-theme-grid button {
  min-width: 0;
  padding: 9px;
  border: 1px solid #ffffff20;
  border-radius: 10px;
  background: #17191b;
  color: white;
  text-align: left;
  transition: border-color .2s, transform .2s, background .2s;
}
.visitor-theme-grid button:hover { transform: translateY(-2px); }
.visitor-theme-grid button.is-active {
  border-color: var(--future-blue);
  background: #242728;
  box-shadow: inset 0 0 0 1px var(--future-blue);
}
.visitor-theme-grid button > i {
  display: flex;
  height: 23px;
  margin-bottom: 8px;
  overflow: hidden;
  border-radius: 5px;
}
.visitor-theme-grid button > i b { flex: 1; }
.visitor-theme-grid button > span,
.visitor-theme-grid button > small { display: block; }
.visitor-theme-grid button > span { font-size: 10px; font-weight: 700; }
.visitor-theme-grid button > small { margin-top: 2px; color: #aeb0aa; font-size: 7px; }
[data-visitor-theme="aqua"] > i b:nth-child(1) { background: #eeeae2; }
[data-visitor-theme="aqua"] > i b:nth-child(2) { background: #ff1684; }
[data-visitor-theme="aqua"] > i b:nth-child(3) { background: #ff1684; }
[data-visitor-theme="noir"] > i b:nth-child(1) { background: #111314; }
[data-visitor-theme="noir"] > i b:nth-child(2) { background: #c8ff42; }
[data-visitor-theme="noir"] > i b:nth-child(3) { background: #8fdad2; }
[data-visitor-theme="ultraviolet"] > i b:nth-child(1) { background: #f2edff; }
[data-visitor-theme="ultraviolet"] > i b:nth-child(2) { background: #a783ff; }
[data-visitor-theme="ultraviolet"] > i b:nth-child(3) { background: #f1ff72; }
[data-visitor-theme="solar"] > i b:nth-child(1) { background: #fff1df; }
[data-visitor-theme="solar"] > i b:nth-child(2) { background: #ff765c; }
[data-visitor-theme="solar"] > i b:nth-child(3) { background: #ffd23f; }
@media (max-width: 700px) {
  .visitor-theme-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .visitor-theme-grid button { padding: 8px; }
}
