.hero { grid-template-columns: .72fr 1.28fr; gap: 40px; }
.hero h1 { font-size: clamp(48px, 4vw, 58px); }
.exchange-demo { max-width: 760px; }
.exchange-board { grid-template-columns: minmax(0, 1fr) 30px minmax(135px, .43fr); align-items: start; }
.demo-monitor { overflow: hidden; border-color: #51524b; background: #111113; padding: 5px; }
.demo-app-stage { display: block; position: relative; aspect-ratio: 1200 / 820; }
.demo-app-stage img { display: block; width: 100%; height: 100%; object-fit: contain; border-radius: 3px; }
.demo-app-stage img[hidden], .safe5-screen[hidden] { display: none; }
.demo-request { width: 100%; display: flex; justify-content: space-between; gap: 10px; margin: 12px 0; border: 1px solid #88734b; border-radius: 4px; padding: 12px; background: #322b1e; color: var(--gold); font-size: 11px; min-height: 42px; text-align: left; }
.demo-request:hover { background: #403522; }
.demo-secret { margin: 0; min-height: 83px; }
.demo-view-switch { display: flex; gap: 8px; margin: -8px 0 22px; }
.demo-view-switch[hidden] { display: none; }
.demo-view-switch button { flex: 1; border: 1px solid #555b45; border-radius: 4px; padding: 11px 8px; background: #1d2117; color: var(--muted); font: 10px var(--mono); }
.demo-view-switch button[aria-pressed="true"] { border-color: #ab935b; background: #342e20; color: var(--gold); }
.demo-view-switch button:hover { border-color: var(--gold); }
.demo-address { display: flex; align-items: center; gap: 9px; padding: 5px 4px 9px; color: #b6bda2; font: 8px var(--mono); }
.demo-address > span:first-child { color: #747969; font-size: 5px; white-space: nowrap; }
.demo-address > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.demo-capture-note { font-size: 9px; line-height: 1.7; margin: 12px 0 0; }
#google-sign-in { scroll-margin-top: 100px; }
.safe5-device { position: relative; width: 100%; aspect-ratio: 320 / 505; overflow: hidden; filter: drop-shadow(0 14px 12px #0005); }
.safe5-photo { position: absolute; width: 400%; height: 100%; max-width: none; left: -146.875%; top: 0; }
.safe5-screen { position: absolute; left: 22.8125%; top: 15.0495%; width: 60.625%; height: 37.0297%; object-fit: fill; background: #000; }
.demo-models { font-size: 8px; line-height: 1.6; margin: 6px 0 12px; }
.demo-touch-actions { gap: 6px; }
.demo-touch-actions button { font-size: 10px; padding: 9px 4px; }
.demo-usb { margin-bottom: 110px; }
.product-preview { border-bottom: 1px solid var(--line); }
.product-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.product-gallery figure { min-width: 0; margin: 0; border: 1px solid #414536; border-radius: 7px; overflow: hidden; background: #1a1c16; }
.product-gallery .app-preview-wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1.7fr 1fr; align-items: center; }
.product-gallery a { display: block; background: #101012; }
.product-gallery a:hover img { opacity: .88; }
.product-gallery img { display: block; width: 100%; height: auto; }
.product-gallery .firmware-preview, .product-gallery .entry-preview { display: flex; justify-content: center; align-items: center; height: 360px; padding: 25px; }
.firmware-preview img { width: 280px; max-width: 100%; object-fit: contain; }
.entry-preview img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; }
.product-gallery figcaption { padding: 27px 30px; }
.product-gallery figcaption > span { display: block; font: 10px var(--mono); color: var(--gold); margin-bottom: 12px; }
.product-gallery figcaption > strong { display: block; font-size: 24px; line-height: 1.3; font-weight: 500; }
.product-gallery figcaption p { font-size: 13px; line-height: 1.85; margin: 12px 0 0; }
.capture-note { font-size: 11px; line-height: 1.8; max-width: 800px; margin: 20px 0 0; }
@media(max-width: 1100px) {
  .hero { grid-template-columns: 1fr; gap: 38px; }
  .hero-copy { max-width: 700px; }
  .hero-copy h1 br:first-of-type { display: none; }
  .hero-lede { max-width: 560px; }
  .exchange-demo { max-width: 800px; }
  .exchange-board { grid-template-columns: minmax(0, 1fr) 45px minmax(150px, .4fr); }
}
@media(max-width: 760px) {
  .hero { gap: 35px; }
  .hero-copy h1 br:first-of-type { display: inline; }
  .exchange-board { grid-template-columns: minmax(0, 1fr) 16px 108px; }
  .demo-object-label { font-size: 7px; }
  .demo-monitor { padding: 3px; }
  .demo-request { font-size: 10px; padding: 9px; }
  .demo-secret { padding: 10px; min-height: 90px; }
  .demo-secret > strong { font-size: 12px; }
  .demo-secret > small { font-size: 9px; }
  .demo-usb { margin-bottom: 120px; }
  .demo-models { font-size: 7px; }
  .demo-touch-actions { gap: 4px; }
  .demo-touch-actions button { font-size: 8px; }
  .product-gallery { gap: 18px; grid-template-columns: 1fr; }
  .product-gallery .app-preview-wide { display: block; }
  .product-gallery figcaption { padding: 24px; }
  .product-gallery figcaption > strong { font-size: 22px; }
  .product-gallery .firmware-preview, .product-gallery .entry-preview { height: 320px; }
}
@media(max-width: 390px) {
  .exchange-board { grid-template-columns: minmax(0, 1fr) 12px 93px; }
  .demo-secret > strong { font-size: 10px; }
  .demo-models { font-size: 6px; }
}
