/*
Theme Name: 1MinPiano
Theme URI: https://1minpiano.com
Author: 1MinPiano
Description: Custom landing-page theme for 1MinPiano.com — black & white, minimal.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
License: GNU General Public License v2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 1minpiano
*/

/* ============================================================
   BASE  (front-page.php is self-contained; these styles apply
   only to inner pages using header.php / footer.php)
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; -webkit-font-smoothing: antialiased; }
html, body { margin: 0; padding: 0; min-height: 100vh; }
body {
  font-family: 'Archivo', -apple-system, BlinkMacSystemFont, sans-serif;
  background: #0a0a0a; color: #f5f4f0; overflow-x: hidden;
}
a { color: #f5f4f0; }
img { max-width: 100%; height: auto; }
::selection { background: #f5f4f0; color: #0a0a0a; }

/* WORDMARK */
.wordmark {
  font-weight: 900; font-size: 20px; letter-spacing: -.03em;
  line-height: 1; text-decoration: none; color: #f5f4f0;
}
.wordmark span:last-child {
  -webkit-text-stroke: 1.2px #f5f4f0; color: transparent; margin-left: 1px;
}

/* NAV */
.site-nav {
  position: sticky; top: 0; z-index: 50; background: #0a0a0a;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.site-nav__inner {
  max-width: 1240px; margin: 0 auto;
  padding: 20px clamp(24px,6vw,120px);
  display: flex; align-items: center; justify-content: space-between;
}
.nav-cta {
  font-family: 'IBM Plex Mono', monospace; font-size: 11px;
  letter-spacing: .14em; text-transform: uppercase;
  color: #555; text-decoration: none; transition: color .15s;
}
.nav-cta:hover { color: #f5f4f0; }

/* PAGE CONTENT */
.page-content { min-height: calc(100vh - 200px); padding: clamp(48px,7vw,96px) clamp(24px,6vw,120px); }
.content-wrap { max-width: 760px; margin: 0 auto; }
.content-wrap--centered { display: flex; align-items: center; justify-content: center; min-height: 60vh; }

/* ENTRY */
.entry__meta {
  font-family: 'IBM Plex Mono', monospace; font-size: 12px;
  letter-spacing: .18em; text-transform: uppercase; color: #555; margin-bottom: 20px;
}
.entry__title {
  font-weight: 900; font-size: clamp(32px,5vw,64px);
  letter-spacing: -.03em; line-height: .95; margin: 0 0 32px;
}
.entry__content { font-size: 18px; line-height: 1.7; color: #c0bdb8; }
.entry__content h2 { color: #f5f4f0; font-weight: 800; margin-top: 2em; letter-spacing: -.02em; }
.entry__content h3 { color: #f5f4f0; font-weight: 700; margin-top: 1.6em; }
.entry__content a { color: #cc1a1a; text-decoration: none; }
.entry__content a:hover { text-decoration: underline; }
.entry__content blockquote {
  border-left: 3px solid #cc1a1a; margin: 2em 0; padding-left: 24px;
  font-style: italic; color: #888;
}
.entry__content code {
  font-family: 'IBM Plex Mono', monospace; font-size: .88em;
  background: #111; padding: 2px 6px; color: #f5f4f0;
}
.entry__content hr { border: none; border-top: 1px solid rgba(255,255,255,.1); margin: 2em 0; }

/* 404 */
.error-404 { text-align: center; }
.error-404__code {
  font-family: 'IBM Plex Mono', monospace;
  font-size: clamp(80px,15vw,160px); font-weight: 500;
  color: rgba(255,255,255,.07); line-height: 1; margin-bottom: 16px;
}
.error-404__title { font-weight: 900; font-size: clamp(32px,5vw,56px); letter-spacing: -.03em; margin: 0 0 16px; }
.error-404__sub { font-size: 17px; color: #666; margin: 0 0 32px; }
.btn-back {
  display: inline-block; font-family: 'IBM Plex Mono', monospace;
  font-size: 12px; letter-spacing: .14em; text-transform: uppercase;
  color: #f5f4f0; text-decoration: none; border: 1px solid rgba(255,255,255,.2);
  padding: 14px 24px; transition: all .15s;
}
.btn-back:hover { border-color: rgba(255,255,255,.5); }

/* FOOTER */
.site-footer { border-top: 1px solid rgba(255,255,255,.08); padding: 28px clamp(24px,6vw,120px); }
.site-footer__inner {
  max-width: 1240px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between;
}
.site-footer__copy {
  font-family: 'IBM Plex Mono', monospace; font-size: 11px;
  letter-spacing: .14em; text-transform: uppercase; color: #333; margin: 0;
}

/* Admin bar offset */
.admin-bar .site-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-nav { top: 46px; } }
