/* ==========================================================================
   FRANKE'N'STEIN — The Expert Aviation Guidance Monsters
   Design system: signal green / bone greige / ink black.
   Signature: the suture — stitched seams join every section.
   ========================================================================== */

:root {
  --green: #3fd60d;
  --green-deep: #2fae06;
  --ink: #101208;
  --ink-soft: #2a2d20;
  --bone: #c9c1b7;
  --bone-light: #e8e4de;
  --paper: #faf9f6;
  --white: #ffffff;

  --font-display: 'Anton', 'Arial Narrow', sans-serif;
  --font-body: 'Archivo', 'Helvetica Neue', Arial, sans-serif;

  --measure: 68ch;
  --container: 76rem;
  --pad-x: clamp(1.25rem, 4vw, 2.5rem);
  --space-1: 0.5rem;
  --space-2: 1rem;
  --space-3: 1.75rem;
  --space-4: 2.5rem;
  /* Tightened after client feedback: the bands were carrying so much air
     that scrolling felt like crossing empty rooms. */
  --space-5: 3.25rem;
  --space-6: 4.5rem;

  --radius: 0.375rem;
  --shadow: 0 10px 30px -12px rgba(16, 18, 8, 0.35);

  /* suture stitch, drawn as repeating SVG: line + diagonal cross-stitches */
  --stitch-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cg stroke='%23101208' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M0 7h28'/%3E%3Cpath d='M8 2 12 12'/%3E%3Cpath d='M20 2 16 12'/%3E%3C/g%3E%3C/svg%3E");
  --stitch-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cg stroke='%233fd60d' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M0 7h28'/%3E%3Cpath d='M8 2 12 12'/%3E%3Cpath d='M20 2 16 12'/%3E%3C/g%3E%3C/svg%3E");
  --stitch-bone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='14' viewBox='0 0 28 14'%3E%3Cg stroke='%23c9c1b7' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M0 7h28'/%3E%3Cpath d='M8 2 12 12'/%3E%3Cpath d='M20 2 16 12'/%3E%3C/g%3E%3C/svg%3E");

  /* hex bolt bullet */
  --bolt-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpolygon points='8 1 14 4.5 14 11.5 8 15 2 11.5 2 4.5' fill='none' stroke='%23101208' stroke-width='1.8'/%3E%3Cpath d='M5 8h6' stroke='%23101208' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  --bolt-green: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpolygon points='8 1 14 4.5 14 11.5 8 15 2 11.5 2 4.5' fill='none' stroke='%233fd60d' stroke-width='1.8'/%3E%3Cpath d='M5 8h6' stroke='%233fd60d' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */

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

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

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  color: var(--ink);
  background: var(--paper);
  caret-color: var(--green);
}

::selection {
  background: var(--green);
  color: var(--ink);
}

body::-webkit-scrollbar { width: 12px; }
body::-webkit-scrollbar-track { background: var(--ink); }
body::-webkit-scrollbar-thumb {
  background: var(--green);
  border: 3px solid var(--ink);
  border-radius: 999px;
}
@supports (scrollbar-color: red blue) {
  html { scrollbar-color: var(--green) var(--ink); }
}

:focus-visible {
  outline: 3px solid var(--green);
  outline-offset: 3px;
  border-radius: 2px;
}
.band--green :focus-visible,
.band--bone :focus-visible {
  outline-color: var(--ink);
}

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

a {
  color: inherit;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
  text-decoration-color: var(--green);
}
a:hover { text-decoration-color: currentColor; }

p { margin: 0 0 var(--space-2); max-width: var(--measure); }
p:last-child { margin-bottom: 0; }

h1, h2, h3 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: 0.005em;
  text-transform: uppercase;
  margin: 0 0 var(--space-3);
  text-wrap: balance;
}

h1 { font-size: clamp(3rem, 9vw, 6rem); }
h2 { font-size: clamp(2.25rem, 5.5vw, 4rem); }
h3 { font-size: clamp(1.5rem, 3vw, 2.25rem); }

.sub {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: clamp(1.125rem, 2.2vw, 1.5rem);
  letter-spacing: 0.02em;
  max-width: 40ch;
}

.container {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--pad-x);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: var(--pad-x);
  z-index: 100;
  background: var(--ink);
  color: var(--green);
  font-weight: 700;
  text-decoration: none;
  padding: 0.6em 1.2em;
  border-radius: 0 0 var(--radius) var(--radius);
}
.skip-link:focus-visible {
  top: 0;
}

/* --------------------------------------------------------------------------
   The suture — section seams
   -------------------------------------------------------------------------- */

.stitch {
  border: 0;
  height: 14px;
  margin: 0;
  background-image: var(--stitch-ink);
  background-repeat: repeat-x;
  background-size: 28px 14px;
  background-position: left center;
}
.stitch--green { background-image: var(--stitch-green); }
.stitch--bone { background-image: var(--stitch-bone); }
.stitch--short { width: min(9rem, 40%); }

.js .stitch {
  clip-path: inset(0 100% 0 0);
}
.js .stitch.is-sewn {
  animation: sew 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes sew {
  to { clip-path: inset(0 0 0 0); }
}

/* Seams — the suture joins two bands across their boundary */
.seam {
  height: 28px;
  background-repeat: repeat-x, no-repeat;
  background-size: 28px 14px, 100% 100%;
  background-position: left center, center;
}
.seam--green-bone { background-image: var(--stitch-ink), linear-gradient(to bottom, var(--green) 50%, var(--bone) 50%); }
.seam--bone-ink { background-image: var(--stitch-green), linear-gradient(to bottom, var(--bone) 50%, var(--ink) 50%); }
.seam--ink-paper { background-image: var(--stitch-green), linear-gradient(to bottom, var(--ink) 50%, var(--paper) 50%); }
.seam--paper-green { background-image: var(--stitch-ink), linear-gradient(to bottom, var(--paper) 50%, var(--green) 50%); }
.seam--green-paper { background-image: var(--stitch-ink), linear-gradient(to bottom, var(--green) 50%, var(--paper) 50%); }
.seam--green-ink { background-image: var(--stitch-bone), linear-gradient(to bottom, var(--green) 50%, var(--ink) 50%); }
.seam--paper-ink { background-image: var(--stitch-green), linear-gradient(to bottom, var(--paper) 50%, var(--ink) 50%); }

.js .seam { clip-path: inset(0 100% 0 0); }
.js .seam.is-sewn { animation: sew 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

/* Plates — monster photography in ink-framed plates with caption band */
.plate {
  position: relative;
  margin: 0;
  border: 3px solid var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: var(--bone);
}
.plate img { border-radius: calc(var(--radius) - 3px); }
.plate figcaption {
  position: absolute;
  left: 50%;
  bottom: -1rem;
  translate: -50% 0;
  background: var(--ink);
  color: var(--green);
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95rem;
  padding: 0.35em 1em;
  border-radius: 999px;
  white-space: nowrap;
  max-width: 92%;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */

.btn {
  display: inline-block;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.01em;
  text-decoration: none;
  padding: 0.85em 1.9em;
  border-radius: 999px;
  border: 2px solid transparent;
  transition: transform 0.18s ease-out, background-color 0.18s ease-out,
    color 0.18s ease-out, border-color 0.18s ease-out, box-shadow 0.18s ease-out;
}
.btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.btn:active { transform: translateY(0); box-shadow: none; }

.btn--green {
  background: var(--green);
  color: var(--ink);
}
.btn--green:hover { background: var(--green-deep); color: var(--white); }

.btn--ink {
  background: var(--ink);
  color: var(--white);
}
.btn--ink:hover { background: var(--ink-soft); }

/* Shop button: same pill as the others, with a bag mark so it reads as a
   different kind of destination than the contact call to action.

   Until the shop opens the generator renders it as a <button> that plays the
   coming-soon film instead of an <a> pointing at a page that is not there
   yet. The resets below let this one rule dress both elements. Without
   JavaScript that button could do nothing at all, so it is hidden rather
   than offered dead — the link version is never hidden. */
.btn--shop {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  padding-inline: 1.5em;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  line-height: inherit;
  text-align: center;
}
html:not(.js) .btn--shop[data-shop-soon] { display: none; }
.btn__icon {
  width: 1.1em;
  height: 1.1em;
  flex: none;
}

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

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--paper);
  border-bottom: 2px solid var(--ink);
}

.site-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-height: 4.9rem;
}

.wordmark {
  font-family: var(--font-display);
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--ink);
  white-space: nowrap;
}
.wordmark .tick {
  color: var(--green);
  font-family: var(--font-body);
  font-weight: 700;
}
.wordmark:hover .tick { color: var(--green-deep); }

/* Header: heads beside the wordmark, both straight from the supplied SVGs —
   original contours, nothing re-typeset. The heads run a touch taller than the
   type block so the lockup reads like the full logo turned on its side. */
.brand-lockup {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.5rem, 1.2vw, 0.85rem);
  text-decoration: none;
  line-height: 0;
}
.brand-lockup__heads,
.brand-lockup__word {
  width: auto;
  flex: none;
  transform-origin: left center;
  transition: scale 0.3s ease-out;
}
.brand-lockup__heads { height: clamp(2.35rem, 4.3vw, 3.1rem); }
.brand-lockup__word { height: clamp(1.75rem, 3.2vw, 2.3rem); }
.site-header.is-condensed .brand-lockup__heads,
.site-header.is-condensed .brand-lockup__word { scale: 0.88; }

@media (max-width: 34rem) {
  .brand-lockup__heads { height: 2rem; }
  .brand-lockup__word { height: 1.5rem; }
}

.site-nav {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.75rem);
}

.site-nav a:not(.btn) {
  font-weight: 500;
  text-decoration: none;
  padding: 0.35em 0;
  border-bottom: 3px solid transparent;
}
.site-nav a:not(.btn):hover,
.site-nav a[aria-current="page"]:not(.btn) {
  border-bottom-color: var(--green);
}

.nav-group { position: relative; }
.nav-group > button {
  font: inherit;
  font-weight: 500;
  color: inherit;
  background: none;
  border: 0;
  padding: 0.35em 0;
  border-bottom: 3px solid transparent;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.4em;
}
.nav-group > button::after {
  content: "";
  width: 0.55em;
  height: 0.55em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform 0.15s ease-out;
}
.nav-group > button:hover { border-bottom-color: var(--green); }
.nav-group > button[aria-expanded="true"]::after {
  transform: rotate(225deg) translateY(-2px);
}

.nav-drop {
  position: absolute;
  top: calc(100% + 0.9rem);
  left: 50%;
  translate: -50% 0;
  min-width: 17rem;
  background: var(--ink);
  color: var(--paper);
  padding: 0.75rem;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  display: none;
}
.nav-drop::before {
  content: "";
  position: absolute;
  top: -0.45rem;
  left: 50%;
  translate: -50% 0;
  border: 0.45rem solid transparent;
  border-bottom-color: var(--ink);
  border-top: 0;
}
.nav-group.is-open .nav-drop { display: block; }

.nav-drop a {
  display: block;
  padding: 0.55rem 0.75rem;
  border-radius: 0.25rem;
  text-decoration: none;
  font-weight: 500;
}
.nav-drop a:hover,
.nav-drop a[aria-current="page"] {
  background: var(--green);
  color: var(--ink);
}
.nav-drop a span {
  display: block;
  font-size: 0.8125rem;
  font-weight: 400;
  opacity: 0.75;
}

.lang-switch {
  display: inline-grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  border: 2px solid var(--ink);
  border-radius: 999px;
  overflow: hidden;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
}
.lang-switch a,
.lang-switch span {
  display: grid;
  place-items: center;
  min-width: 2.6em;
  padding: 0.45em 0.7em;
  text-decoration: none;
  text-align: center;
}
.lang-switch [aria-current="true"] {
  background: var(--ink);
  color: var(--green);
}

.nav-toggle {
  display: none;
  background: none;
  border: 2px solid var(--ink);
  border-radius: var(--radius);
  padding: 0.5rem 0.65rem;
  cursor: pointer;
}
.nav-toggle .bars,
.nav-toggle .bars::before,
.nav-toggle .bars::after {
  content: "";
  display: block;
  width: 1.35rem;
  height: 2px;
  background: var(--ink);
  position: relative;
  transition: transform 0.2s ease-out, opacity 0.2s ease-out;
}
.nav-toggle .bars::before { position: absolute; top: -6px; }
.nav-toggle .bars::after { position: absolute; top: 6px; }
.nav-toggle[aria-expanded="true"] .bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .bars::before { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] .bars::after { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 56rem) {
  .nav-toggle { display: block; }

  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--ink);
    color: var(--paper);
    padding: var(--space-2) var(--pad-x) var(--space-3);
    border-bottom: 4px solid var(--green);
  }
  .site-nav.is-open { display: flex; }

  .site-nav a:not(.btn),
  .nav-group > button {
    display: block;
    width: 100%;
    text-align: left;
    padding: 0.7em 0;
    border-bottom: 1px solid rgba(250, 249, 246, 0.15);
  }
  .nav-group > button::after { margin-left: 0.5em; }

  .nav-drop {
    position: static;
    translate: none;
    min-width: 0;
    box-shadow: none;
    padding: 0 0 0 1rem;
    background: transparent;
  }
  .nav-drop::before { display: none; }

  .site-nav .btn { margin-top: var(--space-2); text-align: center; }

  /* The open menu is an ink panel, so the shop button's ink pill would be
     invisible against it. Inside the panel it wears the ghost treatment the
     language switch already uses, and inverts on press like the others. */
  .site-nav .btn--shop {
    justify-content: center;
    background: transparent;
    border-color: var(--paper);
    color: var(--paper);
  }
  .site-nav .btn--shop:hover {
    background: var(--paper);
    border-color: var(--paper);
    color: var(--ink);
  }

  .site-nav .lang-switch {
    margin-top: var(--space-2);
    align-self: flex-start;
    border-color: var(--paper);
  }
  .site-nav .lang-switch [aria-current="true"] {
    background: var(--green);
    color: var(--ink);
  }
}

/* --------------------------------------------------------------------------
   Bands
   -------------------------------------------------------------------------- */

.band { padding-block: var(--space-6); }
.band--tight { padding-block: var(--space-5); }
.band--green { background: var(--green); color: var(--ink); }
.band--bone { background: var(--bone); }
.band--bone-light { background: var(--bone-light); }
.band--ink { background: var(--ink); color: var(--paper); }

.band--ink ::selection { background: var(--paper); color: var(--ink); }
.band--green ::selection { background: var(--ink); color: var(--green); }

/* --------------------------------------------------------------------------
   Hero (home)
   -------------------------------------------------------------------------- */

.hero {
  background: var(--green);
  color: var(--ink);
  overflow: clip;
}

.hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: center;
  padding-block: clamp(3rem, 8vh, 6rem);
}

.hero__mark {
  font-size: clamp(3rem, 6.4vw, 5.9rem);
  margin-bottom: var(--space-2);
}
/* The hero name is the supplied artwork, not set type. Sized to the column
   so it scales with the layout instead of to a font size. */
.hero__mark-img {
  width: min(100%, 27rem);
  height: auto;
  margin-bottom: var(--space-3);
}

.hero__tagline {
  font-weight: 700;
  letter-spacing: 0.32em;
  font-size: clamp(0.8rem, 1.6vw, 1.05rem);
  text-transform: uppercase;
  margin-bottom: var(--space-4);
}

.hero__claim {
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
  font-weight: 500;
  line-height: 1.35;
  max-width: 24ch;
  margin-bottom: var(--space-4);
}

.hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.hero__portrait {
  position: relative;
  margin: 0;
  border: 3px solid var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  rotate: 1.2deg;
  background: var(--bone);
}
.hero__portrait img { border-radius: calc(var(--radius) - 3px); }
.hero__portrait figcaption {
  position: absolute;
  left: 50%;
  bottom: -1rem;
  translate: -50% 0;
  rotate: -1.2deg;
  background: var(--ink);
  color: var(--green);
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.95rem;
  padding: 0.35em 1em;
  border-radius: 999px;
  white-space: nowrap;
}

@media (max-width: 56rem) {
  .hero__grid { grid-template-columns: 1fr; }
  .hero__portrait { max-width: 26rem; rotate: 0deg; margin-top: var(--space-2); }
}

/* --------------------------------------------------------------------------
   Statement sections
   -------------------------------------------------------------------------- */

.statement h2 {
  max-width: 18ch;
  font-size: clamp(2.5rem, 6.5vw, 5rem);
}

.statement .stitch { margin-bottom: var(--space-4); }

/* who we are split */
.duo {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}
.duo__media {
  border: 3px solid var(--green);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
}
@media (max-width: 56rem) {
  .duo { grid-template-columns: 1fr; }
}

/* mission */
.mission-list {
  list-style: none;
  margin: 0 0 var(--space-4);
  padding: 0;
  max-width: 46ch;
}
.mission-list li {
  font-size: clamp(1.2rem, 2.4vw, 1.65rem);
  font-weight: 500;
  line-height: 1.35;
  padding: var(--space-2) 0 var(--space-2) 2.25rem;
  background: var(--bolt-green) no-repeat left 1.05em;
  background-size: 1.1rem;
}
.mission-list li + li { border-top: 1px solid rgba(250, 249, 246, 0.18); }

.motto {
  margin: 0;
  font-size: clamp(1.6rem, 3.6vw, 2.6rem);
  font-weight: 700;
  font-style: italic;
  line-height: 1.25;
  color: var(--green);
  max-width: 24ch;
}
.motto q { quotes: "\201C" "\201D"; }

/* --------------------------------------------------------------------------
   Expertise index (home) — the manual
   -------------------------------------------------------------------------- */

.expertise { list-style: none; margin: 0; padding: 0; }

.expertise > li {
  background-image: var(--stitch-ink);
  background-repeat: repeat-x;
  background-size: 28px 14px;
  background-position: left top;
  padding-top: 14px;
}
.expertise > li:last-child {
  background-image: var(--stitch-ink), var(--stitch-ink);
  background-position: left top, left bottom;
  padding-bottom: 14px;
}

.expertise a {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr) minmax(0, 1.2fr) 2.5rem;
  align-items: center;
  gap: clamp(1rem, 2.5vw, 2rem);
  padding: 1.1rem 0.75rem;
  text-decoration: none;
  border-radius: var(--radius);
  transition: background-color 0.18s ease-out, color 0.18s ease-out,
    padding-left 0.18s ease-out;
}
.expertise a:hover,
.expertise a:focus-visible {
  background: var(--ink);
  color: var(--paper);
  padding-left: 1.25rem;
}

.expertise__thumb {
  width: 5.5rem;
  height: 5.5rem;
  object-fit: cover;
  object-position: top;
  border-radius: var(--radius);
  border: 2px solid var(--ink);
  transition: rotate 0.18s ease-out, scale 0.18s ease-out;
}
.expertise a:hover .expertise__thumb {
  rotate: -2deg;
  scale: 1.06;
  border-color: var(--green);
}

.expertise__name {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3.2vw, 2.4rem);
  text-transform: uppercase;
  line-height: 1;
}
.expertise__name span {
  display: block;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.95rem;
  text-transform: none;
  letter-spacing: 0.02em;
  margin-top: 0.4em;
  color: var(--green-deep);
}
.expertise a:hover .expertise__name span { color: var(--green); }

.expertise__desc {
  font-size: 0.9375rem;
  line-height: 1.5;
  max-width: 44ch;
}

.expertise__arrow {
  justify-self: end;
  width: 2rem;
  height: 2rem;
  transition: translate 0.18s ease-out;
}
.expertise a:hover .expertise__arrow { translate: 0.35rem 0; }
.expertise__arrow path { stroke: currentColor; }

@media (max-width: 56rem) {
  .expertise a {
    grid-template-columns: 4rem minmax(0, 1fr);
    grid-template-areas: "thumb name" "thumb desc";
    row-gap: 0.35rem;
  }
  .expertise__thumb { grid-area: thumb; width: 4rem; height: 4rem; }
  .expertise__name { grid-area: name; }
  .expertise__desc { grid-area: desc; }
  .expertise__arrow { display: none; }
}

/* --------------------------------------------------------------------------
   Service pages
   -------------------------------------------------------------------------- */

.page-hero { padding-block: var(--space-5) var(--space-4); }
.page-hero h1 {
  max-width: 14ch;
}
.page-hero .sub {
  font-size: clamp(1.25rem, 2.6vw, 1.75rem);
  color: var(--green-deep);
  font-weight: 700;
}

.service-body {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.9fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}

.service-body__media {
  position: sticky;
  top: 6rem;
}

@media (max-width: 56rem) {
  .service-body { grid-template-columns: 1fr; }
  .service-body__media { position: static; max-width: 24rem; }
}

.checklist {
  list-style: none;
  margin: var(--space-3) 0 0;
  padding: 0;
  max-width: var(--measure);
}
.checklist li {
  padding: 0.65rem 0 0.65rem 2.1rem;
  background: var(--bolt-ink) no-repeat left 0.95em;
  background-size: 1rem;
  font-weight: 500;
}
.checklist li + li { border-top: 1px solid rgba(16, 18, 8, 0.14); }

.service-heading {
  font-family: var(--font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  text-transform: uppercase;
  margin: var(--space-4) 0 0;
}

/* prev / next */
.pager {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-2);
}
.pager a {
  text-decoration: none;
  border: 2px solid var(--ink);
  border-radius: var(--radius);
  padding: var(--space-2) var(--space-3);
  transition: background-color 0.18s ease-out, color 0.18s ease-out;
}
.pager a:hover { background: var(--ink); color: var(--paper); }
.pager a span {
  display: block;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.3em;
  color: var(--green-deep);
}
.pager a:hover span { color: var(--green); }
.pager strong {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 1.3rem;
  text-transform: uppercase;
}
.pager a[data-dir="next"] { text-align: right; }
@media (max-width: 40rem) {
  .pager { grid-template-columns: 1fr; }
  .pager a[data-dir="next"] { text-align: left; }
}

/* --------------------------------------------------------------------------
   About / team
   -------------------------------------------------------------------------- */

.profile {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(2.5rem, 6vw, 5rem);
  align-items: start;
}
.profile + .profile { margin-top: var(--space-6); }
.profile--flip .profile__media { order: 2; }
@media (max-width: 56rem) {
  .profile { grid-template-columns: 1fr; }
  .profile--flip .profile__media { order: 0; }
}

.flipcard {
  position: relative;
  width: 100%;
  border: 0;
  padding: 0;
  background: none;
  cursor: pointer;
  perspective: 1200px;
  display: block;
  text-align: inherit;
  font: inherit;
  color: inherit;
}
.flipcard__inner {
  position: relative;
  /* Must be a block: as an inline box it gives the absolutely positioned
     back face no width to resolve inset:0 against, and the back collapses
     to a few pixels — the card flips, but there is nothing to see. */
  display: block;
  transform-style: preserve-3d;
  transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.flipcard[aria-pressed="true"] .flipcard__inner { transform: rotateY(180deg); }
/* Hovering shows the real person too — clicking still latches it open. */
@media (hover: hover) {
  .flipcard[aria-pressed="false"]:hover .flipcard__inner { transform: rotateY(180deg); }
}
.flipcard:focus-visible .flipcard__inner { transform: rotateY(180deg); }

.flipcard__face {
  border: 3px solid var(--ink);
  border-radius: var(--radius);
  overflow: hidden;
  box-shadow: var(--shadow);
  backface-visibility: hidden;
}
.flipcard__face--back {
  position: absolute;
  inset: 0;
  transform: rotateY(180deg);
}
.flipcard__face--back img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.flipcard__hint {
  display: inline-flex;
  align-items: center;
  gap: 0.5em;
  margin-top: var(--space-2);
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--green-deep);
}
.flipcard__hint::before {
  content: "";
  width: 1em;
  height: 1em;
  border: 2px solid currentColor;
  border-radius: 50%;
  border-left-color: transparent;
  transition: transform 0.4s ease-out;
}
.flipcard:hover .flipcard__hint::before { transform: rotate(180deg); }

.profile__quote {
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 500;
  line-height: 1.45;
  border: 0;
  margin: 0 0 var(--space-3);
  padding: 3rem 0 0;
  position: relative;
}
.profile__quote::before {
  content: "\201C";
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--font-display);
  font-size: 2.4em;
  line-height: 0.9;
  color: var(--green);
}

/* --------------------------------------------------------------------------
   Contact band
   -------------------------------------------------------------------------- */

.contact-band h2 {
  font-size: clamp(3rem, 9vw, 6.5rem);
  margin-bottom: var(--space-3);
}
.contact-band .lead {
  font-size: clamp(1.2rem, 2.3vw, 1.5rem);
  font-weight: 500;
  max-width: 34ch;
  margin-bottom: var(--space-4);
}
.contact-band__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2) var(--space-3);
  margin-bottom: var(--space-4);
}
.contact-band address {
  font-style: normal;
  font-weight: 500;
  line-height: 1.7;
}

/* --------------------------------------------------------------------------
   Legal / article pages
   -------------------------------------------------------------------------- */

.article { max-width: 46rem; }
.article h1 { font-size: clamp(2.5rem, 6vw, 4rem); }
.article h2 {
  font-size: clamp(1.4rem, 2.6vw, 1.9rem);
  margin-top: var(--space-4);
}
.article p, .article ul { max-width: var(--measure); }
.article ul { padding-left: 1.25rem; }
.article li { margin-bottom: 0.5rem; }

.note {
  background: var(--bone-light);
  border-radius: var(--radius);
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--bone);
  font-size: 0.9375rem;
  max-width: var(--measure);
}

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

.site-footer {
  background: var(--ink);
  color: var(--paper);
  padding-block: var(--space-5) var(--space-3);
}
.site-footer ::selection { background: var(--paper); color: var(--ink); }

.site-footer__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-bottom: var(--space-4);
}
@media (max-width: 56rem) {
  .site-footer__grid { grid-template-columns: 1fr; }
}

.site-footer h2 {
  font-size: 1.05rem;
  font-family: var(--font-body);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: var(--space-2);
}

.site-footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-footer li { margin-bottom: 0.6rem; }
.site-footer a { text-decoration: none; }
.site-footer a:hover { text-decoration: underline; text-decoration-color: var(--green); }

.social {
  display: flex;
  gap: var(--space-2);
}
.social a {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 2px solid var(--paper);
  border-radius: 50%;
  transition: background-color 0.18s ease-out, border-color 0.18s ease-out,
    color 0.18s ease-out;
}
.social a:hover {
  background: var(--green);
  border-color: var(--green);
  color: var(--ink);
}
.social svg { width: 1.25rem; height: 1.25rem; fill: currentColor; }

.site-footer__legal {
  border-top: 1px solid rgba(250, 249, 246, 0.2);
  padding-top: var(--space-3);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-2);
  font-size: 0.875rem;
  opacity: 0.85;
}
.site-footer__legal a { text-decoration: underline; text-decoration-color: var(--green); }

/* --------------------------------------------------------------------------
   Assembly — parts are set down and seated, then the current runs through.
   The monster is built, not faded in. Every motion here is that one idea.
   -------------------------------------------------------------------------- */

/* A part is flown in from off-stage, swings past true, and locks down.
   --fx / --fy let each element be thrown in from its own direction. */
.js .reveal {
  opacity: 0;
  translate: 0 1.6rem;
}
.js .reveal.is-in {
  opacity: 1;
  translate: 0 0;
  rotate: 0deg;
  scale: 1;
  transition:
    opacity 0.5s ease-out,
    translate 0.95s cubic-bezier(0.18, 1.42, 0.36, 1),
    rotate 0.95s cubic-bezier(0.18, 1.42, 0.36, 1),
    scale 0.95s cubic-bezier(0.18, 1.42, 0.36, 1);
  transition-delay: calc(var(--i, 0) * 110ms);
}

/* Thrown in from the left / right rather than lifted from below. */
/* Side entries removed — a single upward gesture reads calmer. */

/* Heavier parts (plates, portraits) swing in on a hinge and slam true. */
.js .reveal--plate {
  opacity: 0;
  translate: 0 1.6rem;
}
.js .reveal--plate.is-in {
  opacity: 1;
  scale: 1;
  translate: 0 0;
  filter: blur(0);
  transition:
    opacity 0.5s ease-out,
    scale 1.05s cubic-bezier(0.16, 1.28, 0.3, 1),
    translate 1.05s cubic-bezier(0.16, 1.28, 0.3, 1),
    rotate 1.05s cubic-bezier(0.16, 1.28, 0.3, 1),
    filter 0.8s ease-out;
  transition-delay: calc(var(--i, 0) * 110ms);
}
/* the hero portrait keeps its tilt — restore it instead of zeroing rotate */
.js .hero__portrait.reveal--plate { rotate: 2.4deg; }
.js .hero__portrait.reveal--plate.is-in {
  rotate: 1.2deg;
  transition:
    opacity 0.6s ease-out,
    scale 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    translate 0.9s cubic-bezier(0.16, 1, 0.3, 1),
    rotate 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (max-width: 56rem) {
  .js .hero__portrait.reveal--plate,
  .js .hero__portrait.reveal--plate.is-in { rotate: 0deg; }
}

/* --- The current -------------------------------------------------------- */
/* Once a seam is sewn, a charge runs the length of it. This is the whole
   brand in one gesture: the join is made, then the thing comes alive. */

.js .stitch,
.js .seam { position: relative; }

/* The charge that ran along every seam is gone. Client and user both found
   it tiring: with the seam sewing itself shut AND a light running through
   it AND the text arriving, each section boundary carried three separate
   motions. One gesture per section is the rule now — here it is the seam. */

/* --- The wordmark is two names held together by green sutures ------------ */
/* FRANKE and STEIN arrive from opposite sides; the tick marks that join them
   flare as they meet. */

.js .hero__mark .mark-part {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.5s ease-out, translate 0.85s cubic-bezier(0.2, 1.2, 0.3, 1);
}
.js .hero__mark .mark-part--l { translate: -0.6em 0; }
.js .hero__mark .mark-part--r { translate: 0.6em 0; }
.js .hero__mark .tick {
  display: inline-block;
  opacity: 0;
  scale: 0.4;
  transition: opacity 0.3s ease-out 0.5s, scale 0.45s cubic-bezier(0.2, 1.6, 0.4, 1) 0.5s;
}
.js .hero__mark.is-in .mark-part { opacity: 1; translate: 0 0; }
.js .hero__mark.is-in .tick {
  opacity: 1;
  scale: 1;
  animation: flare 0.7s ease-out 0.62s both;
}
@keyframes flare {
  0%   { text-shadow: 0 0 0 rgba(255, 255, 255, 0); }
  35%  { text-shadow: 0 0 1.1rem rgba(255, 255, 255, 0.95), 0 0 2.2rem rgba(63, 214, 13, 0.8); }
  100% { text-shadow: 0 0 0 rgba(255, 255, 255, 0); }
}

/* --- Bolts drive themselves in ------------------------------------------ */
/* The hex-bolt bullets rotate into place instead of appearing. Needs the
   bullet as a real box, so the list background art moves to ::before. */

.mission-list li,
.checklist li { position: relative; background-image: none; }

.mission-list li::before,
.checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  background-size: contain;
}
.mission-list li::before {
  top: 1.05em;
  width: 1.1rem;
  height: 1.1rem;
  background-image: var(--bolt-green);
}
.checklist li::before {
  top: 0.95em;
  width: 1rem;
  height: 1rem;
  background-image: var(--bolt-ink);
}
/* Mission questions come in from the left, bolts and all. */
.js .reveal-bolts > li {
  opacity: 0;
  translate: 0 1.2rem;
}
.js .reveal-bolts.is-in > li {
  opacity: 1;
  translate: 0 0;
  rotate: 0deg;
  transition: opacity 0.5s ease-out, translate 0.8s cubic-bezier(0.18, 1.35, 0.32, 1);
  transition-delay: calc(var(--i, 0) * 105ms);
}
.js .reveal-bolts li::before {
  opacity: 0;
}
.js .reveal-bolts.is-in li::before {
  rotate: 0deg;
  opacity: 1;
  transition: rotate 0.6s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease-out;
  transition-delay: calc(var(--i, 0) * 70ms);
}

/* --- The expertise index assembles itself, row alternating from each side */
.js .reveal-rows > li {
  opacity: 0;
  translate: 0 1.2rem;
}
.js .reveal-rows.is-in > li {
  opacity: 1;
  translate: 0 0;
  rotate: 0deg;
  transition:
    opacity 0.45s ease-out,
    translate 0.8s cubic-bezier(0.18, 1.35, 0.32, 1),
    rotate 0.8s cubic-bezier(0.18, 1.35, 0.32, 1);
  transition-delay: calc(var(--i, 0) * 105ms);
}

/* --- The header condenses once you leave the hero ----------------------- */
/* Compositor-only: scale and shadow, never height — animating the bar's
   height would relayout the whole page on every frame. */
.site-header { transition: box-shadow 0.3s ease-out; }
.site-header.is-condensed { box-shadow: 0 6px 24px -14px rgba(16, 18, 8, 0.75); }
.site-header .wordmark,
.site-header .brand-logo {
  display: inline-block;
  transform-origin: left center;
  transition: scale 0.3s ease-out;
}
.site-header.is-condensed .wordmark,
.site-header.is-condensed .brand-logo { scale: 0.86; }

/* Scroll progress bar removed — one more thing moving on every scroll. */

/* --- The team portrait: monsters on the surface, people underneath ------ */
.hero__portrait { cursor: pointer; }
.hero__portrait .portrait-real {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border-radius: calc(var(--radius) - 3px);
  opacity: 0;
  scale: 1.06;
  transition: opacity 0.55s ease-out, scale 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.hero__portrait .portrait-real img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}
.hero__portrait:hover .portrait-real,
.hero__portrait:focus-visible .portrait-real,
.hero__portrait[data-revealed="true"] .portrait-real {
  opacity: 1;
  scale: 1;
}
.hero__portrait__hint {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: var(--ink);
  color: var(--green);
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.4em 0.8em;
  border-radius: 999px;
  transition: opacity 0.3s ease-out;
}
.hero__portrait:hover .hero__portrait__hint { opacity: 0; }

/* --- Scroll-coupled assembly -------------------------------------------- */
/* The trigger-once reveals above fire while an element is still at the very
   bottom edge, so they are over before you look at them. Where the browser
   supports it, drive the same motion from scroll position instead: the part
   flies in *as you scroll it into place*, so the motion is actually seen.
   The keyframes override the static values above, so both systems coexist. */

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .js .reveal {
      animation: fly-in linear both;
      animation-timeline: view();
      animation-range: entry 5% entry 90%;
    }
    .js .reveal--plate {
      animation: swing-in linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 95%;
    }
    .js .reveal-rows > li {
      animation: fly-in linear both;
      animation-timeline: view();
      animation-range: entry 10% entry 95%;
    }
    .js .reveal-bolts li::before {
      animation: drive-in linear both;
      animation-timeline: view();
      animation-range: entry 10% entry 90%;
    }
    /* The mission questions fly in one after another from the left, each on
       its own slice of the scroll, so they read as they arrive. */
    .js .reveal-bolts > li {
      animation: fly-in linear both;
      animation-timeline: view();
      animation-range:
        entry calc(5% + var(--i, 0) * 9%)
        entry calc(75% + var(--i, 0) * 9%);
    }
    /* The hero is already on screen at load — it keeps the timed version. */
    .js .hero__portrait.reveal--plate,
    .js .hero__tagline.reveal,
    .js .hero__claim.reveal,
    .js .hero__cta.reveal { animation: none; }
  }
}

/* One quiet gesture, used everywhere: a short rise into place. No sideways
   flight, no rotation, no scaling, no blur — those read as busy the moment
   more than one of them is on screen at once. */
@keyframes fly-in {
  from { opacity: 0; translate: 0 1.6rem; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes swing-in {
  from { opacity: 0; translate: 0 1.6rem; }
  to { opacity: 1; translate: 0 0; }
}

/* Bolts simply are — they no longer spin themselves in. The mission list
   already has the text arriving; the bullet spinning too was the second
   motion in one block. */
@keyframes drive-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* --- The statement types itself out as you scroll ----------------------- */
/* Character by character, tied to scroll position, with a cursor that sits
   at the write head. steps(1) makes each character land hard, like a key
   strike, instead of fading in. */

.js .type-char { opacity: 0; }
.js .type-char.is-typed { opacity: 1; }

.js .typing .type-caret {
  display: inline-block;
  width: 0.5em;
  height: 0.82em;
  margin-left: 0.06em;
  background: var(--green);
  vertical-align: baseline;
  animation: caret-blink 0.75s steps(1) infinite;
}

@keyframes caret-blink {
  0%, 49% { opacity: 1; }
  50%, 100% { opacity: 0; }
}

@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .js .type-char {
      animation: type-in steps(1) both;
      animation-timeline: view();
      animation-range:
        cover calc(8% + var(--n, 0) * var(--step, 0.8%))
        cover calc(9% + var(--n, 0) * var(--step, 0.8%));
    }
    /* the heading itself must not also fly in — it types instead */
    .js .typing { animation: none; opacity: 1; translate: 0; rotate: 0deg; scale: 1; }
  }
}

@keyframes type-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* --- Depth: framed media drifts a touch slower than the page ------------- */
/* Scroll-driven, so it costs nothing on the main thread. Only applied where
   a container already clips, so nothing can escape its frame. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .duo__media img,
    .flipcard__face--front img {
      animation: drift linear both;
      animation-timeline: view();
      animation-range: entry 0% exit 100%;
    }
  }
}
@keyframes drift {
  from { scale: 1.09; translate: 0 -1.6%; }
  to   { scale: 1.09; translate: 0 1.6%; }
}

/* --------------------------------------------------------------------------
   Motion discipline
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .stitch,
  .js .seam { clip-path: none; animation: none; }
  .js .stitch.is-sewn::after,
  .js .seam.is-sewn::after { display: none; }
  .flipcard__inner { transition: none; }

  /* Everything the assembly system hides must come back, unconditionally —
     a reduced-motion visitor must never be left looking at a blank page. */
  .js .reveal,
  .js .reveal--plate,
  .js .hero__mark .mark-part,
  .js .hero__mark .tick,
  .js .reveal-bolts li::before,
  .js .reveal-bolts > li,
  .js .reveal-rows > li,
  .js .type-char {
    opacity: 1;
    translate: 0 0;
    rotate: 0deg;
    scale: 1;
    animation: none;
  }
  .js .type-caret { display: none; }
  .js .hero__portrait.reveal--plate { rotate: 1.2deg; }

  *, *::before, *::after {
    animation-duration: 0.001s !important;
    transition-duration: 0.001s !important;
  }
}

/* --------------------------------------------------------------------------
   WhatsApp quick contact — fixed to the bottom-right corner
   -------------------------------------------------------------------------- */

.wa-float {
  position: fixed;
  right: clamp(1rem, 3vw, 1.75rem);
  bottom: clamp(1rem, 3vw, 1.75rem);
  z-index: 55;
  display: grid;
  place-items: center;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  background: var(--green);
  color: var(--ink);
  border: 2px solid var(--ink);
  box-shadow: 0 8px 24px -8px rgba(16, 18, 8, 0.55);
  text-decoration: none;
  transition: scale 0.18s ease-out, background-color 0.18s ease-out,
    box-shadow 0.18s ease-out;
}
.wa-float svg { width: 1.9rem; height: 1.9rem; }
.wa-float:hover,
.wa-float:focus-visible {
  scale: 1.07;
  background: var(--green-deep);
  color: var(--white);
  box-shadow: 0 12px 30px -8px rgba(16, 18, 8, 0.7);
}
.wa-float:active { scale: 1; }

@media (max-width: 34rem) {
  .wa-float { width: 3.1rem; height: 3.1rem; }
  .wa-float svg { width: 1.65rem; height: 1.65rem; }
}

@media (prefers-reduced-motion: reduce) {
  .wa-float { transition: none; }
  .wa-float:hover, .wa-float:focus-visible { scale: 1; }
}

/* --------------------------------------------------------------------------
   Cursor — the two heads follow the pointer
   Rendered from the supplied heads artwork at 64x48 inside a 72x56 canvas.
   The heads are filled solid rather than left as outlines, so the shape holds
   at 52px on any ground with nothing propping it up. Two drawings only:
   dark heads on light surfaces, light heads on dark ones. Hotspot sits just
   inside the padding, at the top-left of the artwork itself.
   Touch devices have no pointer, so none of this applies there.
   -------------------------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {
  body { cursor: url(data:image/png;base64,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) 5 5, auto; }

  /* The class-based rules above (.nav-group > button, .nav-toggle, .btn--shop,
     .flipcard) outrank a bare element selector, so they are named here too
     or they keep their own pointer and the heads never appear on them. */
  a, button, summary, [role="button"], label,
  .nav-group > button, .nav-toggle {
    cursor: url(data:image/png;base64,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) 5 5, pointer;
  }

  /* Dark surfaces get the white heads. */
  .band--ink,
  .site-footer,
  .nav-drop,
  .ss,
  .hr { cursor: url(data:image/png;base64,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) 5 5, auto; }

  .band--ink a,
  .band--ink button,
  .site-footer a,
  .nav-drop a,
  .btn--ink,
  .btn--shop,
  .flipcard,
  .hr__skip,
  .ss__close,
  .expertise a:hover,
  .pager a:hover,
  .btn--ghost-ink:hover { cursor: url(data:image/png;base64,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) 5 5, pointer; }

  /* Editable text keeps the I-beam — a picture there hides the caret. */
  input, textarea, [contenteditable] { cursor: text; }
}
