/* PiNT Terminal: a labelled workspace illustration and product-specific layouts. */
.terminal-hero-grid { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; gap: 52px; }
.product-terminal .product-hero h1 { font-size: clamp(48px, 5.4vw, 76px); }
.product-terminal .product-lede { font-size: 19px; }
.terminal-beta { display: inline-flex; align-items: center; gap: 9px; margin-top: 26px; padding: 8px 12px; border: 1px solid #62d6c74d; border-radius: 6px; color: var(--accent); font: 11px/1.5 var(--font-mono); }
.terminal-preview { min-width: 0; margin: 0; border: 1px solid #3b5368; border-radius: 20px; background: linear-gradient(150deg, #1b2c40, #101a28 70%); box-shadow: 0 30px 80px #0004; overflow: hidden; }
.terminal-preview-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 20px 24px; border-bottom: 1px solid var(--border); font: 10px/1.5 var(--font-mono); color: var(--muted); }
.terminal-preview-top strong { font-weight: 500; color: var(--accent); }
.terminal-workspace { padding: 30px 26px; }
.terminal-workspace-heading { display: flex; gap: 14px; align-items: center; margin-bottom: 26px; }
.terminal-vault-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 12px; border: 1px solid #62d6c744; background: #62d6c70b; flex-shrink: 0; }
.terminal-vault-icon svg { width: 24px; height: 24px; fill: none; stroke: var(--accent); stroke-width: 1.4; }
.terminal-workspace-heading strong { display: block; font-size: 21px; font-weight: 500; letter-spacing: -.5px; }
.terminal-workspace-heading p { color: var(--muted); font-size: 12px; margin-top: 4px; }
.terminal-route { display: grid; grid-template-columns: 62px 1fr; align-items: center; gap: 15px; margin-top: 10px; padding: 16px; border: 1px solid #30465e; border-radius: 10px; background: #101a28; }
.terminal-route > span { color: var(--accent); font: 11px var(--font-mono); }
.terminal-route strong { display: block; font-size: 14px; font-weight: 500; }
.terminal-route small { display: block; color: var(--muted); font-size: 12px; margin-top: 5px; line-height: 1.5; }
.terminal-workspace-flow { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 24px; color: var(--muted); font: 10px/1.6 var(--font-mono); }
.terminal-workspace-flow b { color: var(--accent); font-weight: 400; }
.terminal-preview figcaption { padding: 17px 24px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; line-height: 1.65; }
.terminal-feature-section { padding-top: 60px; }
.terminal-feature-section .live-feature { border-top: 1px solid var(--border); padding-right: 20px; }
.terminal-downloads { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.terminal-downloads .platform-caveat { padding-top: 14px; margin-bottom: 22px; border-top: 1px solid var(--border); font-size: 14px; }
.terminal-downloads code, .terminal-setup code, .product-terminal .faq-list code { font-family: var(--font-mono); font-size: .85em; overflow-wrap: anywhere; }
.terminal-release-note { margin-top: 26px; padding: 23px 26px; border: 1px solid var(--border); border-radius: 12px; color: var(--muted); font-size: 15px; line-height: 1.75; }
.terminal-release-note strong { color: var(--text); font-weight: 500; }
.terminal-release-note a { color: var(--accent); }
.terminal-setup { display: grid; grid-template-columns: .9fr 1.1fr; gap: 70px; }
.terminal-setup h2 { margin: 18px 0 24px; font-size: clamp(36px, 4.5vw, 60px); line-height: 1.1; letter-spacing: -2px; }
.terminal-setup > div > p:not(.eyebrow) { color: var(--muted); font-size: 17px; line-height: 1.75; }
.terminal-steps { list-style: none; counter-reset: setup; }
.terminal-steps li { counter-increment: setup; position: relative; padding: 0 0 26px 48px; }
.terminal-steps li::before { content: "0" counter(setup); position: absolute; left: 0; top: 4px; color: var(--accent); font: 12px var(--font-mono); }
.terminal-steps h3 { font-size: 20px; font-weight: 500; margin-bottom: 8px; }
.terminal-steps p { color: var(--muted); font-size: 16px; line-height: 1.75; }
.product-terminal .live-beta-notice { border-radius: 12px; }
.product-terminal .live-beta-notice p { font-size: 15px; }
.product-terminal .live-release-links .text-link { font-size: 14px; }
.terminal-licence-note { color: var(--muted); font-size: 14px; line-height: 1.75; margin-top: 22px; }
@media (max-width: 1050px) {
  .terminal-hero-grid { gap: 30px; }
  .terminal-workspace { padding: 24px 20px; }
  .terminal-workspace-flow { flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
}
@media (max-width: 900px) {
  .terminal-hero-grid { grid-template-columns: 1fr; gap: 42px; }
  .terminal-preview { max-width: 640px; width: 100%; }
  .terminal-setup { grid-template-columns: 1fr; gap: 35px; }
}
@media (max-width: 760px) {
  .terminal-downloads { grid-template-columns: 1fr; }
  .terminal-feature-section .live-feature { padding-right: 0; }
  .product-terminal .product-hero h1 { font-size: clamp(46px, 10vw, 72px); }
}
@media (max-width: 380px) {
  .terminal-preview-top { padding: 16px; flex-wrap: wrap; }
  .terminal-workspace { padding: 22px 16px; }
  .terminal-route { padding: 13px 11px; grid-template-columns: 52px 1fr; gap: 9px; }
  .terminal-workspace-heading strong { font-size: 19px; }
  .terminal-release-note { padding: 20px; }
}

/* Credential and migration guidance follows the existing setup layout. */
#workspace-upgrade .terminal-setup > div > p + p { margin-top: 20px; }
#workspace-upgrade strong { color: var(--text); font-weight: 500; }
.product-terminal .live-beta-notice a { color: var(--accent); text-decoration: underline; text-underline-offset: 4px; }
