/* Godi's Couture — first house of the BusinesSite fashion atelier.
   Ink, bone paper, oxblood thread. A commission desk, not a shop grid. */
.gd {
  --ink: #16130f;
  --ink-soft: #3a342c;
  --paper: #f3eee6;
  --paper-2: #e7e0d4;
  --card: #faf7f2;
  --thread: #7a2e2e;
  --thread-deep: #5c2222;
  --bronze: #a68456;
  --line: rgba(22, 19, 15, 0.14);
  --muted: #6d6458;
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(900px 420px at 100% -10%, rgba(122, 46, 46, 0.08), transparent 55%),
    linear-gradient(180deg, #f7f3ec 0%, var(--paper) 28%, #efe8dc 100%);
  font-family: Outfit, "Segoe UI", system-ui, sans-serif;
  font-weight: 400;
  line-height: 1.55;
  min-height: 100vh;
}
.gd * { box-sizing: border-box; }
.gd a { color: var(--thread); text-decoration: none; }
.gd a:hover { color: var(--thread-deep); }
.gd img { max-width: 100%; }
.gd-wrap { width: min(1120px, calc(100% - 2rem)); margin: 0 auto; }
.gd h1, .gd h2, .gd h3, .gd-brand strong, .gd-word {
  font-family: "Cormorant Garamond", Palatino, "Palatino Linotype", Georgia, serif;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 0.95;
}
.gd h1 { font-size: clamp(3.2rem, 10vw, 7.2rem); margin: 0; }
.gd h2 { font-size: clamp(2rem, 4vw, 3.2rem); margin: 0 0 0.6rem; }
.gd h3 { font-size: 1.7rem; margin: 0 0 0.4rem; }
.gd .lead { font-size: 1.08rem; max-width: 38rem; color: var(--ink-soft); }
.gd .meta { color: var(--muted); font-size: 0.92rem; }

.gd-kicker {
  margin: 0 0 0.8rem;
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--thread);
  font-weight: 500;
}

.gd-nav {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(243, 238, 230, 0.92);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
}
.gd-nav-inner {
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
  justify-content: space-between;
  padding: 0.75rem 0;
}
.gd-brand {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  color: inherit;
}
.gd-brand img {
  width: 2.6rem;
  height: 2.6rem;
  display: block;
  border-radius: 50%;
  object-fit: cover;
}
.gd-brand strong {
  display: block;
  font-size: 1.25rem;
  letter-spacing: 0.04em;
}
.gd-brand span {
  display: block;
  font-family: Outfit, sans-serif;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--muted);
}
.gd-links { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; }
.gd-links a {
  color: var(--ink);
  font-size: 0.92rem;
  letter-spacing: 0.04em;
}
.gd-links a.on { color: var(--thread); }
.gd-nav-cta {
  display: inline-block;
  background: var(--ink);
  color: var(--paper) !important;
  padding: 0.55rem 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.gd-nav-cta:hover { background: var(--thread); color: #fff !important; }

.gd-hero {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 2rem;
  align-items: end;
  padding: 3.2rem 0 2.4rem;
  border-bottom: 1px solid var(--line);
}
.gd-hero-open {
  grid-template-columns: 0.85fr 1.15fr;
  align-items: center;
}
.gd-face {
  margin: 0;
  position: relative;
}
.gd-face img {
  width: 100%;
  height: min(78vh, 760px);
  object-fit: cover;
  object-position: center 18%;
  display: block;
}
.gd-face figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  padding: 1.1rem 1rem 0.9rem;
  background: linear-gradient(transparent, rgba(22, 19, 15, 0.78));
  color: #f3eee6;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  font-style: italic;
  line-height: 1;
}
.gd-script {
  font-family: "Great Vibes", "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  color: var(--thread);
  margin: 0.2rem 0 0.6rem;
  line-height: 1;
}
.gd-lockup {
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: 1rem;
  align-items: center;
  margin: 1.6rem 0 0;
  padding: 1rem 0 0;
}
.gd-lockup img {
  width: 9rem;
  height: 9rem;
  object-fit: cover;
  display: block;
  border-radius: 50%;
}
.gd-gallery { display: grid; gap: 1.1rem; margin: 1.2rem 0; }
.gd-gallery-row {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 0.75rem;
  align-items: start;
  padding-top: 0.8rem;
  border-top: 1px solid var(--line);
}
.gd-gallery-thumb img {
  width: 4.5rem;
  height: 4.5rem;
  object-fit: cover;
  border-radius: 50%;
  display: block;
}
.gd-word {
  display: block;
  font-family: "Great Vibes", Georgia, serif;
  font-size: clamp(2.6rem, 6vw, 4.4rem);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
}
.gd-tag {
  display: block;
  margin-top: 0.2rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--muted);
}
.gd-faces, .gd-studies {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.8rem;
  margin-top: 1.4rem;
}
.gd-faces figure, .gd-study {
  margin: 0;
}
.gd-faces img, .gd-study img {
  width: 100%;
  height: 280px;
  object-fit: cover;
  display: block;
}
.gd-faces figcaption, .gd-study figcaption {
  display: grid;
  gap: 0.15rem;
  padding: 0.45rem 0 0.2rem;
  font-size: 0.82rem;
  color: var(--ink-soft);
}
.gd-study figcaption strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--ink);
}
.gd-studies { grid-template-columns: repeat(2, 1fr); }
.gd-study img { height: 360px; }
.gd-map {
  margin: 0;
  background: var(--card);
  border: 1px solid var(--line);
}
.gd-map iframe {
  width: 100%;
  height: 320px;
  border: 0;
  display: block;
}
.gd-map figcaption {
  display: grid;
  gap: 0.55rem;
  padding: 1rem 1rem 1.1rem;
}
.gd-map strong { font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.35rem; font-weight: 500; }
.gd-hero h1 em {
  font-style: italic;
  font-weight: 500;
  color: var(--thread);
}
.gd-surname {
  display: block;
  font-size: 0.42em;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink);
  margin-top: 0.35rem;
  font-family: Outfit, sans-serif;
  font-weight: 500;
}
.gd-aside {
  border-left: 1px solid var(--thread);
  padding: 0.2rem 0 0.2rem 1.1rem;
}
.gd-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.4rem; }
.gd-btn {
  display: inline-block;
  padding: 0.75rem 1rem;
  background: var(--thread);
  color: #fff !important;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
}
.gd-btn:hover { background: var(--thread-deep); }
.gd-btn.ghost {
  background: transparent;
  color: var(--ink) !important;
  border: 1px solid var(--ink);
}
.gd-btn.ghost:hover { border-color: var(--thread); color: var(--thread) !important; }

.gd-section { padding: 3.2rem 0; }
.gd-section.ink {
  background: var(--ink);
  color: var(--paper);
}
.gd-section.ink a { color: #e7c9a4; }
.gd-section.ink .gd-kicker { color: #e7c9a4; }
.gd-section.ink .lead { color: #ddd4c6; }

.gd-ritual {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.2rem;
}
.gd-step {
  padding-top: 0.8rem;
  border-top: 1px solid var(--line);
}
.gd-section.ink .gd-step { border-top-color: rgba(243, 238, 230, 0.2); }
.gd-num {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 2rem;
  color: var(--thread);
  margin: 0;
}
.gd-section.ink .gd-num { color: #e7c9a4; }

.gd-plates {
  display: grid;
  gap: 0;
}
.gd-plate {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1rem;
  padding: 1.4rem 0;
  border-top: 1px solid var(--line);
}
.gd-plate:last-child { border-bottom: 1px solid var(--line); }
.gd-plate h3 { font-size: clamp(1.6rem, 3vw, 2.3rem); }
.gd-plate img {
  width: 100%;
  grid-column: 1 / -1;
  max-height: 420px;
  object-fit: cover;
}

.gd-split {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 2.5rem;
  align-items: start;
}
.gd-card {
  background: var(--card);
  border: 1px solid var(--line);
  padding: 1.3rem 1.3rem 1.4rem;
}
.gd-card ol { margin: 0.4rem 0 0; padding-left: 1.1rem; }
.gd-card li { margin: 0.45rem 0; }

.gd-form {
  display: grid;
  gap: 0.85rem;
  max-width: 40rem;
}
.gd-form label { display: grid; gap: 0.3rem; font-size: 0.92rem; }
.gd-form label span { letter-spacing: 0.06em; text-transform: uppercase; font-size: 0.72rem; color: var(--muted); }
.gd-form input, .gd-form textarea, .gd-form select {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: 0.7rem 0.75rem;
  font: inherit;
  border-radius: 0;
}
.gd-form textarea { min-height: 8rem; resize: vertical; }
.gd-choice { display: flex; flex-wrap: wrap; gap: 0.8rem 1.2rem; }
.gd-choice label { display: flex; gap: 0.4rem; align-items: center; text-transform: none; letter-spacing: 0; font-size: 1rem; }
.gd-choice label span { text-transform: none; letter-spacing: 0; font-size: 1rem; color: var(--ink); }
.gd-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
.gd-alert {
  border: 1px solid var(--thread);
  padding: 0.8rem 1rem;
  margin-bottom: 1rem;
  background: #fff;
}
.gd-alert.ok { border-color: #2f5d3a; }
.gd-status {
  display: grid;
  gap: 0.35rem;
  padding: 1.2rem 0;
}
.gd-status b { font-family: "Cormorant Garamond", Georgia, serif; font-size: 2.2rem; font-weight: 500; }
.gd-photo { max-width: 280px; border: 1px solid var(--line); }

.gd-footer {
  border-top: 1px solid var(--line);
  padding: 2rem 0 2.4rem;
  color: var(--muted);
  font-size: 0.9rem;
}
.gd-footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 1.5rem;
}
.gd-footer strong { color: var(--ink); font-family: "Cormorant Garamond", Georgia, serif; font-size: 1.4rem; font-weight: 500; }
.gd-footer a { display: block; margin: 0.2rem 0; color: var(--ink-soft); }
.gd-powered { margin-top: 1.4rem; font-size: 0.8rem; }

.gd-index { display: grid; gap: 0; }
.gd-index a.row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1rem;
  padding: 1.2rem 0;
  border-top: 1px solid var(--line);
  color: inherit;
}
.gd-index a.row strong { font-family: "Cormorant Garamond", Georgia, serif; font-size: 2rem; font-weight: 500; }

.gd-catalog {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.7rem;
  margin: 1.2rem 0 1.6rem;
}
.gd-tile {
  display: block;
  margin: 0;
  color: inherit;
  background: var(--card);
  border: 1px solid var(--line);
}
.gd-tile img, .gd-tile video {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  background: #1a1612;
}
.gd-tile-cap { display: block; padding: 0.55rem 0.7rem 0.75rem; }
.gd-tile-cap small {
  display: block;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.65rem;
  color: var(--thread);
}
.gd-tile-cap strong {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: 1.35rem;
}
.gd-form label.gd-check { display: flex; gap: 0.45rem; align-items: center; }
.gd-form label.gd-check span {
  text-transform: none;
  letter-spacing: 0;
  font-size: 1rem;
  color: var(--ink);
}
.gd-share { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0.8rem 0 1rem; }
.gd-copy {
  width: min(100%, 36rem);
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: 0.65rem 0.75rem;
  font: inherit;
  margin: 0 0 1rem;
}
.gd-circles { margin: 0 0 1rem; padding-left: 1.1rem; }
.gd-circles a { word-break: break-all; }
.gd-tabbar { display: none; }

@media (min-width: 801px) {
  .gd-catalog { grid-template-columns: repeat(3, 1fr); }
}

/* Homepage catalog stays one row. The full grid lives on /works. */
.gd-catalog.gd-catalog-row {
  display: flex;
  flex-wrap: nowrap;
  grid-template-columns: none;
  gap: 0.7rem;
  margin: 1.2rem 0 0.8rem;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0.1rem;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: var(--thread) transparent;
  padding-bottom: 0.6rem;
}
.gd-catalog.gd-catalog-row .gd-tile {
  flex: 0 0 min(68vw, 15.5rem);
  scroll-snap-align: start;
}
.gd-catalog.gd-catalog-row .gd-tile img,
.gd-catalog.gd-catalog-row .gd-tile video {
  height: auto;
}
.gd-auth-steps { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.8rem 0 1rem; }
.gd-auth-steps button {
  border: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  font: inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.68rem;
  padding: 0.45rem 0.6rem;
  cursor: pointer;
}
.gd-auth-steps button.on { border-color: var(--thread); color: var(--thread); }
.gd-auth video, .gd-qr-live {
  width: min(100%, 280px);
  background: #111;
  display: block;
  margin: 0.6rem auto;
}
.gd-thread {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  max-height: 62vh;
  overflow-y: auto;
  margin: 1rem 0;
}
.gd-bubble {
  max-width: min(36rem, 92%);
  padding: 0.65rem 0.8rem;
  background: #fff;
  border: 1px solid var(--line);
  white-space: pre-wrap;
}
.gd-bubble.mine { margin-left: auto; background: var(--ink); color: var(--paper); }
.gd-bubble .meta { color: inherit; opacity: 0.75; }

@media (max-width: 800px) {
  .gd-hero, .gd-hero-open, .gd-split, .gd-ritual, .gd-footer-grid, .gd-lockup { grid-template-columns: 1fr; }
  .gd-faces { grid-template-columns: 1fr 1fr; }
  .gd-studies { grid-template-columns: 1fr; }
  .gd-face img, .gd-study img { height: auto; max-height: 70vh; }
  .gd-aside { border-left: 0; border-top: 1px solid var(--thread); padding: 1rem 0 0; }
  .gd-plate { grid-template-columns: 1fr; }
  .gd h1 { font-size: clamp(3rem, 16vw, 4.6rem); }
  .gd-links, .gd-nav-cta { display: none; }
  .gd-tabbar {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 40;
    background: var(--ink);
    padding: 0.15rem 0 calc(0.2rem + env(safe-area-inset-bottom));
  }
  .gd-tabbar a {
    color: #e7e0d4;
    text-align: center;
    font-size: 0.62rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 0.75rem 0;
  }
  .gd-tabbar a.on { color: #e7c9a4; }
  .gd { padding-bottom: 4.5rem; }
  .gd-reel-page { padding-bottom: 0; }
}

.gd-reel-page {
  background: #0c0b09;
  color: #f3eee6;
  min-height: 100dvh;
}
.gd-reel-page .gd-nav {
  position: absolute;
  left: 0;
  right: 0;
  background: linear-gradient(180deg, rgba(12, 11, 9, 0.72), transparent);
  border-bottom: 0;
}
.gd-reel-page .gd-brand strong,
.gd-reel-page .gd-brand span,
.gd-reel-page .gd-links a { color: #f3eee6; }
.gd-reel-page .gd-links a.on { color: #e7c9a4; }
.gd-reel {
  height: 100dvh;
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  background: #0c0b09;
}
.gd-reel::-webkit-scrollbar { display: none; }
.gd-slide {
  position: relative;
  height: 100dvh;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  background: #0c0b09;
}
.gd-slide img,
.gd-slide video {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  display: block;
  background: #0c0b09;
}
.gd-slide-copy {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  padding: 4.5rem 1rem 6.6rem;
  background: linear-gradient(transparent, rgba(12, 11, 9, 0.82) 42%);
  color: #f3eee6;
  pointer-events: none;
}
.gd-slide-copy .gd-kicker { color: #e7c9a4; margin: 0 0 0.25rem; }
.gd-slide-copy strong {
  display: block;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 500;
  font-size: clamp(1.7rem, 5vw, 2.6rem);
  line-height: 1;
  max-width: 18rem;
}
.gd-zoom {
  position: absolute;
  top: 4.4rem;
  right: 0.7rem;
  z-index: 3;
  border: 0;
  background: rgba(243, 238, 230, 0.92);
  color: #16130f;
  font: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 0.45rem 0.6rem;
  cursor: pointer;
}
.gd-share-dock {
  position: absolute;
  left: 0.7rem;
  right: 0.7rem;
  bottom: 4.8rem;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}
.gd-share-dock a,
.gd-share-dock button {
  background: rgba(243, 238, 230, 0.92);
  color: #16130f !important;
  border: 0;
  font: inherit;
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 0.38rem 0.5rem;
  cursor: pointer;
}
.gd-lightbox {
  position: fixed;
  inset: 0;
  z-index: 80;
  background: rgba(12, 11, 9, 0.94);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  touch-action: pinch-zoom;
}
.gd-lightbox[hidden] { display: none; }
.gd-lightbox img {
  max-width: min(100%, 1100px);
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  cursor: zoom-in;
}
.gd-lightbox img.is-zoomed {
  max-width: none;
  max-height: none;
  width: min(180vw, 1600px);
  cursor: zoom-out;
}
.gd-lightbox-close {
  position: fixed;
  top: 0.8rem;
  right: 0.8rem;
  z-index: 81;
  border: 0;
  background: #f3eee6;
  color: #16130f;
  font: inherit;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
  padding: 0.5rem 0.7rem;
  cursor: pointer;
}
.gd-invoice table { width: 100%; border-collapse: collapse; margin: 1rem 0; }
.gd-invoice td { padding: 0.5rem 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.gd-invoice td:last-child { text-align: right; white-space: nowrap; }
.gd-orders { display: grid; gap: 0.8rem; margin-top: 1rem; }

@media (max-width: 800px) {
  .gd-slide-copy { padding-bottom: calc(8.2rem + env(safe-area-inset-bottom)); }
  .gd-share-dock { bottom: calc(4.5rem + env(safe-area-inset-bottom)); }
}
@media (min-width: 801px) {
  .gd-reel { width: min(480px, 100%); margin: 0 auto; }
  .gd-slide-copy { padding-bottom: 6.2rem; }
  .gd-share-dock { bottom: 1.1rem; }
  .gd-orders { grid-template-columns: 1fr 1fr; }
}

/* Every atelier screen sits in the handset. The wide nav stays in the markup and is hidden. */
body.gd.gd-app {
  background: var(--ink);
  min-height: 100dvh;
}
body.gd.gd-app .gd-nav,
body.gd.gd-app .gd-footer { display: none; }
body.gd.gd-app .gd-section {
  width: min(430px, 100%);
  margin: 0 auto;
  background: var(--paper);
  min-height: 100dvh;
  padding-top: 0.4rem;
  padding-bottom: 5.2rem;
  box-shadow: 0 0 0 1px rgba(231, 201, 164, 0.22);
}
body.gd.gd-app .gd-wrap { width: min(400px, calc(100% - 1.4rem)); }
body.gd.gd-app h1 { font-size: clamp(2.4rem, 12vw, 3.6rem); }
body.gd.gd-app .gd-split,
body.gd.gd-app .gd-orders { grid-template-columns: 1fr; }
body.gd.gd-app .gd-tabbar {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: min(430px, 100%);
  z-index: 40;
  background: var(--ink);
  padding: 0.15rem 0 calc(0.2rem + env(safe-area-inset-bottom));
}
body.gd.gd-app .gd-tabbar a {
  color: #e7e0d4;
  text-align: center;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.75rem 0;
}
body.gd.gd-app .gd-tabbar a.on { color: #e7c9a4; }
body.gd.gd-app .gd-card.gd-order { margin: 0.6rem 0 1rem; }
body.gd.gd-app .gd-hero,
body.gd.gd-app .gd-hero-open,
body.gd.gd-app .gd-split,
body.gd.gd-app .gd-ritual,
body.gd.gd-app .gd-lockup,
body.gd.gd-app .gd-plate { grid-template-columns: 1fr; }
body.gd.gd-app .gd-faces { grid-template-columns: 1fr 1fr; }
body.gd.gd-app .gd-studies { grid-template-columns: 1fr; }
body.gd.gd-app .gd-face img,
body.gd.gd-app .gd-study img,
body.gd.gd-app .gd-faces img { height: auto; max-height: 70vh; }
body.gd.gd-app .gd-aside {
  border-left: 0;
  border-top: 1px solid var(--thread);
  padding: 1rem 0 0;
}
body.gd.gd-app .gd-composer {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0.4rem 0 0.2rem;
}
body.gd.gd-app .gd-composer input {
  flex: 1;
  min-width: 0;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: 0.75rem 0.85rem;
  font: inherit;
  border-radius: 999px;
}
body.gd.gd-app .gd-mic,
body.gd.gd-app .gd-send {
  flex: 0 0 auto;
  border: 0;
  font: inherit;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.68rem;
  cursor: pointer;
}
body.gd.gd-app .gd-mic {
  width: 3.1rem;
  height: 3.1rem;
  border-radius: 999px;
  background: var(--ink);
  color: var(--paper);
}
body.gd.gd-app .gd-mic.on { background: var(--thread); color: #fff; }
body.gd.gd-app .gd-send {
  background: var(--thread);
  color: #fff;
  padding: 0.85rem 0.95rem;
  border-radius: 999px;
}
body.gd.gd-app .gd-thread audio {
  display: block;
  width: min(100%, 16rem);
  margin-top: 0.45rem;
}
body.gd.gd-app.gd-reel-page { background: var(--ink); color: var(--ink); }
body.gd.gd-app .gd-reel-index {
  display: flex;
  gap: 0.4rem;
  width: min(430px, 100%);
  margin: 0 auto;
  padding: 0.55rem 0.7rem 0.45rem;
  overflow-x: auto;
  background: var(--paper);
  position: sticky;
  top: 3.4rem;
  z-index: 25;
}
body.gd.gd-app .gd-reel-index a {
  flex: 0 0 3.4rem;
}
body.gd.gd-app .gd-reel-index img,
body.gd.gd-app .gd-reel-film {
  width: 3.4rem;
  height: 4.4rem;
  object-fit: cover;
  display: block;
  background: #16130f;
  border-radius: 2px;
}
body.gd.gd-app .gd-reel-film {
  color: var(--paper);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: flex;
  align-items: flex-end;
  padding: 0.3rem;
}
body.gd.gd-app .gd-reel {
  width: min(430px, 100%);
  margin: 0 auto;
  height: auto;
  overflow: visible;
  scroll-snap-type: none;
  background: var(--paper);
  padding-bottom: 5.2rem;
}
body.gd.gd-app .gd-slide {
  height: auto;
  min-height: 0;
  scroll-snap-align: none;
  scroll-snap-stop: normal;
  display: flex;
  flex-direction: column;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
body.gd.gd-app .gd-slide img,
body.gd.gd-app .gd-slide video {
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
  background: #16130f;
}
body.gd.gd-app .gd-slide-copy {
  position: static;
  padding: 0.75rem 0.9rem 0.15rem;
  background: transparent;
  color: var(--ink);
  pointer-events: auto;
}
body.gd.gd-app .gd-slide-copy strong { color: var(--ink); max-width: none; }
body.gd.gd-app .gd-zoom { top: 0.6rem; }
body.gd.gd-app .gd-share-dock {
  position: static;
  padding: 0.35rem 0.9rem 1rem;
}

/* The handset body is ink. The name has to sit on bone, or "Godi's" vanishes. */
body.gd.gd-app .gd-nav {
  display: block;
  position: sticky;
  top: 0;
  z-index: 30;
  width: min(430px, 100%);
  margin: 0 auto;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
}
body.gd.gd-app .gd-links,
body.gd.gd-app .gd-nav-cta {
  display: none;
}
body.gd.gd-app.gd-reel-page .gd-brand span { color: var(--muted); }
body.gd.gd-app .gd-nav-inner {
  width: min(400px, calc(100% - 1.4rem));
  padding: 0.45rem 0;
}
body.gd.gd-app .gd-catalog { grid-template-columns: repeat(2, 1fr); }
body.gd.gd-app .gd-catalog.gd-catalog-row .gd-tile { flex: 0 0 46%; }
body.gd.gd-app .gd-brand strong {
  color: var(--ink);
  text-transform: none;
  font-size: 1.45rem;
  line-height: 1;
}
body.gd.gd-app > .gd-wrap {
  background: var(--paper);
  width: min(430px, 100%);
  margin-left: auto;
  margin-right: auto;
  padding-top: 0.35rem;
  padding-bottom: 0.2rem;
}
body.gd.gd-app .gd-hero h1,
body.gd.gd-app .gd-lockup .gd-word,
body.gd.gd-app .gd-surname {
  color: var(--ink);
}
body.gd.gd-app .gd-hero h1 {
  line-height: 1.02;
}
body.gd.gd-app .gd-face img {
  max-height: 42vh;
}
body.gd.gd-app .gd-section.ink {
  background: var(--ink);
  color: var(--paper);
}
body.gd.gd-app .gd-section.ink h2,
body.gd.gd-app .gd-section.ink h3,
body.gd.gd-app .gd-section.ink p {
  color: var(--paper);
}

/* Profile, chat, and a signed-in order desk use the bottom bar. */
body.gd.gd-app.gd-desk .gd-links,
body.gd.gd-app.gd-desk .gd-nav-cta {
  display: none;
}
