/* Monochrome theme: this file deliberately overrides the base palette. */
:root {
  --ink: #0a0a0a;
  --paper: #f7f7f5;
  --sand: #e4e4e1;
  --line: #c9c9c5;
  --accent: #202020;
  --muted: #646464;
  --dark: #090909;
}

.eyebrow { color: #bdbdb8; }
.button, .filter.active, .tab.active { background: #111; border-color: #111; }
.button:hover { background: #444; }
.principle { background: #121212; }
.principle b, .product-info small, .icon { color: #8c8c8c; }
.product { background: #e9e9e7; }
.gallery { background: #dededb; }
.gomans-word { font-family: 'Arial Rounded MT Bold', 'Nunito', sans-serif; font-style: normal; font-weight: 700; letter-spacing: -.055em; }
.artist-moments { display: grid; grid-template-columns: .72fr 1.28fr; align-items: end; gap: 6vw; margin-top: 72px; }
.artist-copy { padding: 0 0 40px; }.artist-copy span { color: #777; font: 10px 'DM Mono'; letter-spacing: .14em; }.artist-copy p { max-width: 240px; margin: 18px 0 0; color: #353535; font: 500 22px/1.55 'Noto Serif SC'; }
.artist-moments { display: block; margin-top: 52px; }
.artist-copy { display: none; }
.artist-collage { display: grid; grid-template-columns: 1.7fr 1fr; align-items: start; gap: 16px; }
.artist-collage img { display: block; width: 100%; height: auto; object-fit: contain; box-shadow: 0 18px 42px rgba(0,0,0,.2); }
.artist-band { grid-column: 1; grid-row: 1 / span 2; align-self: center; object-position: center 48%; }
.artist-boat { grid-column: 2; grid-row: 1; object-position: center 46%; }
.artist-stage { position: static; grid-column: 2; grid-row: 2; aspect-ratio: auto; object-position: center; }
@media(max-width:760px){.artist-collage{grid-template-columns:1fr;grid-template-rows:none;gap:12px}.artist-band,.artist-boat,.artist-stage{grid-column:1;grid-row:auto}.artist-band{grid-row:1}.artist-boat{grid-row:2}.artist-stage{grid-row:3}}

.listening-room { padding-top: 120px; padding-bottom: 120px; }
.listening-head { display:flex; justify-content:space-between; align-items:end; gap:32px; margin-bottom:30px; }
.listening-head h2 { margin:8px 0 0; font:600 clamp(46px,6vw,78px)/1 'Noto Serif SC',serif; letter-spacing:-.06em; }
.listening-head p { max-width:240px; margin:0 0 8px; color:#676765; line-height:1.7; }
.listening-player { position:relative; background:#111; box-shadow:0 20px 48px rgba(0,0,0,.16); }
.listening-player iframe { display:block; width:100%; aspect-ratio:16/9; border:0; background:#111; }
.listening-meta { display:flex; justify-content:space-between; gap:20px; padding-top:14px; border-bottom:1px solid #cfcfca; padding-bottom:16px; }
.listening-meta span { color:#777; font:11px/1.4 'DM Mono',monospace; letter-spacing:.13em; text-transform:uppercase; }
.listening-meta strong { font-size:14px; }
@media(max-width:760px){.listening-room{padding-top:76px;padding-bottom:76px}.listening-head{display:block}.listening-head p{margin-top:18px}.listening-meta{align-items:start;flex-direction:column;gap:8px}}
.contact a { border-color: #b8b8b4; }
.contact-qr { display:block; width:142px; height:142px; margin:0 0 20px; object-fit:contain; background:#fff; }
@media(max-width:760px){.contact-qr{width:132px;height:132px;margin-bottom:20px}}
.field input, .field select, .field textarea { background: #fff; border-color: #c9c9c5; }
.admin-shell { background: #f4f4f2; }
.panel { border-color: #dededb; }

/* Replaces the text lockup in the public navigation only. */
.nav .brand {
  width: 52px;
  height: 52px;
  background: url('./assets/gomans-logo-white.png') center / contain no-repeat;
  font-size: 0;
  letter-spacing: 0;
}

.nav .brand span { display: none; }

.nav-links {
  height: 100%;
  align-items: center;
}

.language-picker { appearance:none; min-width:48px; padding:5px 20px 5px 8px; border:1px solid rgba(255,255,255,.55); border-radius:0; background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23fff' stroke-width='1.2'/%3E%3C/svg%3E") calc(100% - 7px) center/9px no-repeat; color:#fff; font:11px 'DM Mono',monospace; letter-spacing:.06em; cursor:pointer; }
.language-picker option { background:#181818; color:#fff; }
@media(max-width:760px){.language-picker{min-width:45px;padding-left:7px;font-size:10px}}

.nav-links .admin-link { display: none; }

.hero .button {
  display: inline-block;
  margin-top: 28px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 700;
}

/* Detail image beneath the first craftsmanship statement. */
.principle:first-child::after {
  content: '';
  display: block;
  aspect-ratio: 388 / 291;
  margin-top: 28px;
  background: url('./assets/precision-bracing.jpg') center / 100% 100% no-repeat;
}

.principle:nth-child(2)::after {
  content: '';
  display: block;
  aspect-ratio: 393 / 295;
  margin-top: 28px;
  background: url('./assets/selected-wood.jpg') center / 100% 100% no-repeat;
}

.principle:nth-child(3)::after {
  content: '';
  display: block;
  aspect-ratio: 388 / 291;
  margin-top: 28px;
  background: url('./assets/bracing-design.jpg') center / 100% 100% no-repeat;
}

.shape-nav { position: relative; color: #111; border-color: #d4d4d0; }
.shape-nav .brand { background-image: url('./assets/gomans-logo-white.png'); filter: invert(1); }
.shape-detail { min-height: calc(100vh - 74px); padding: 14vw 12vw 10vw; background: #f7f7f5; }
.shape-detail .eyebrow { color: #555; }
.shape-index { margin: 46px 0 10px; font: 12px 'DM Mono'; letter-spacing: .16em; color: #777; }
.shape-detail h1 { margin: 0; font: 600 clamp(52px, 9vw, 120px)/1 'Noto Serif SC'; letter-spacing: -.06em; }
.shape-detail > p:not(.shape-index) { max-width: 510px; margin: 28px 0 0; color: #555; line-height: 1.9; font-size: 16px; }
.shape-detail .button { display: inline-block; margin-top: 34px; text-decoration: none; }
.product { cursor: pointer; }
.product { align-self: start; }
.product img { width: 100%; height: 667px; aspect-ratio: 962 / 1944; object-fit: fill; }
.product:focus-within, .product:hover { transform: translateY(-3px); transition: transform .18s ease; }
#productGrid { display: flex; gap: 20px; overflow-x: auto; overflow-y: hidden; padding: 2px 1px 18px; scroll-snap-type: x mandatory; scrollbar-color: #777 #e1e1de; }
#productGrid .product { flex: 0 0 330px; scroll-snap-align: start; }
@media(max-width:760px){#productGrid .product{flex-basis:280px}#productGrid .product img{height:566px}}
.model-detail { min-height: calc(100vh - 74px); display: grid; grid-template-columns: 1.15fr .85fr; background: #f7f7f5; }
.model-image { min-height: 560px; background: #e2e2de; }
.model-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.model-copy { padding: 11vw 8vw 7vw; }
.model-copy .eyebrow { color: #555; }
.model-copy h1 { margin: 15px 0 22px; font: 600 clamp(42px, 5vw, 72px)/1.03 'Noto Serif SC'; letter-spacing: -.05em; }
.model-copy > p { color: #555; line-height: 1.9; max-width: 420px; }
.model-copy dl { margin: 35px 0 0; border-top: 1px solid #d4d4d0; max-width: 440px; }
.model-copy dl div { padding: 14px 0; display: grid; grid-template-columns: 88px 1fr; border-bottom: 1px solid #d4d4d0; }
.model-copy dt { color: #777; font-size: 12px; }.model-copy dd { margin: 0; font-size: 13px; }
.model-copy .button { display: inline-block; text-decoration: none; margin-top: 35px; }
.model-gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #fff; }
.model-gallery img { width: 100%; aspect-ratio: 1 / .75; object-fit: cover; display: block; }
.model-image:has(.gallery-main) { padding: 24px; display: flex; flex-direction: column; align-items: center; gap: 15px; background: #e2e2de; }
.gallery-stage { width: 100%; position: relative; display: block; }
.model-image .gallery-main { width: 100%; height: auto; max-width: none; max-height: none; display: block; object-fit: contain; background: #ecece8; }
.model-image .gallery-main { cursor: zoom-in; }
.gallery-arrow { position: absolute; z-index: 1; top: 50%; transform: translateY(-50%); width: 38px; height: 54px; border: 0; background: rgba(0, 0, 0, .6); color: #fff; font-size: 34px; line-height: 1; }
.gallery-arrow:hover { background: #000; }.gallery-arrow.previous { left: 0; }.gallery-arrow.next { right: 0; }
.product-thumbnails { align-self: stretch; display: flex; justify-content: center; gap: 9px; overflow-x: auto; padding: 2px 0; }
.product-thumbnail { flex: 0 0 66px; height: 52px; padding: 0; border: 2px solid transparent; background: #ddd; }
.product-thumbnail img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-thumbnail.active { border-color: #111; }
.gallery-lightbox { position: fixed; z-index: 20; inset: 0; display: grid; place-items: center; padding: 5vw; background: rgba(0, 0, 0, .9); cursor: zoom-out; }
.gallery-lightbox img { max-width: 100%; max-height: 90vh; object-fit: contain; cursor: default; }
.lightbox-close { position: fixed; top: 20px; right: 25px; border: 0; background: transparent; color: #fff; font-size: 38px; line-height: 1; cursor: pointer; }
@media(max-width:760px){.model-detail{grid-template-columns:1fr}.model-image{min-height:360px}.model-copy{padding:56px 7vw}.model-copy h1{font-size:48px}.model-gallery{grid-template-columns:1fr 1fr}}
