/*
Theme Name: ATBIX Field Notes
Theme URI: https://atbix.com/blog
Author: ATBIX / Custom Theme
Description: Editorial WordPress theme for the ATBIX Journal / Field Notes. Designed to visually match the ATBIX website while keeping publishing fully inside WordPress.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: atbix-field-notes
*/

:root {
  --atbix-bg: #faf7f1;
  --atbix-header-bg: #ffffff;
  --atbix-ink: #121921;
  --atbix-cream: #fdf0e3;
  --atbix-accent: #ee9f55;
  --atbix-placeholder: #e8e2d9;
  --atbix-cta-bg: #121921;
  --atbix-cta-text: #fdf0e3;
  --atbix-paper: #faf7f1;
  --atbix-line: rgba(18,25,33,.16);
  --atbix-muted: rgba(18,25,33,.65);
  --atbix-max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--atbix-ink);
  background: var(--atbix-bg);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }

.screen-reader-text {
  border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}

/* Header */
.atbix-site-header {
  position: sticky; top: 0; z-index: 1000;
  background: var(--atbix-header-bg);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--atbix-line);
}
.atbix-header-inner {
  max-width: var(--atbix-max); margin: 0 auto; padding: 18px 28px;
  display: flex; align-items: center; justify-content: space-between; gap: 28px;
}
.atbix-brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.atbix-brand .custom-logo { max-height: 36px; width: auto; }
.atbix-wordmark { font-size: 23px; font-weight: 800; letter-spacing: -.04em; }
.atbix-nav-wrap { display:flex; align-items:center; gap:26px; }
.atbix-nav { display:flex; align-items:center; gap:24px; }
.atbix-nav a { text-decoration:none; font-size: 13px; font-weight: 600; }
.atbix-nav a:hover { opacity:.65; }
.atbix-demo-link {
  display:inline-flex; align-items:center; justify-content:center;
  padding:12px 17px; border:1px solid var(--atbix-ink); border-radius:999px;
  text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.01em;
  transition: all .2s ease;
}
.atbix-demo-link:hover { background:var(--atbix-ink); color:var(--atbix-header-bg); }
.atbix-menu-toggle { display:none; border:0; background:transparent; padding:8px; font-weight:700; }

/* Journal home */
.atbix-journal-hero {
  max-width: var(--atbix-max); margin:0 auto; padding: 98px 28px 76px;
  display:grid; grid-template-columns:minmax(0,1.4fr) minmax(220px,.6fr); gap:48px; align-items:end;
}
.atbix-kicker {
  margin:0 0 28px; color:var(--atbix-accent); font-size:11px; font-weight:800;
  text-transform:uppercase; letter-spacing:.18em;
}
.atbix-display {
  margin:0; max-width:850px; font-size:clamp(64px, 9vw, 126px); line-height:.86;
  letter-spacing:-.072em; font-weight:500;
}
.atbix-hero-aside { padding-bottom:6px; }
.atbix-article-count { font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin-bottom:24px; }
.atbix-hero-copy { margin:0; max-width:390px; font-size:17px; line-height:1.65; color:var(--atbix-muted); }

.atbix-notes-wrap { max-width:var(--atbix-max); margin:0 auto; padding:0 28px 120px; }
.atbix-notes-grid {
  border-top:1px solid var(--atbix-line);
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
}
.atbix-note {
  position:relative; min-height:480px; padding:38px 42px 46px 0;
  border-bottom:1px solid var(--atbix-line);
  display:flex; flex-direction:column;
  transition: background-color .22s ease, transform .22s ease;
}
.atbix-note:nth-child(even) { padding-left:42px; border-left:1px solid var(--atbix-line); }
.atbix-note:hover { background:var(--atbix-cream); }
.atbix-note-top { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:42px; }
.atbix-field-number { font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.atbix-note-meta { font-size:10px; color:var(--atbix-muted); letter-spacing:.08em; text-transform:uppercase; text-align:right; }
.atbix-note-media { margin:0 0 34px; overflow:hidden; background:var(--atbix-placeholder); aspect-ratio:16/9; }
.atbix-note-media img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.atbix-note:hover .atbix-note-media img { transform:scale(1.025); }
.atbix-note-category { color:var(--atbix-accent); font-size:11px; font-weight:800; letter-spacing:.08em; margin:0 0 13px; }
.atbix-note-title { margin:0; font-size:clamp(30px,3.1vw,48px); line-height:1.02; letter-spacing:-.045em; font-weight:500; }
.atbix-note-title a { text-decoration:none; }
.atbix-note-excerpt { margin:22px 0 0; max-width:520px; font-size:15px; line-height:1.65; color:var(--atbix-muted); }
.atbix-read-link { margin-top:auto; padding-top:34px; display:inline-block; text-decoration:none; font-size:12px; font-weight:800; }

.atbix-empty { padding:64px 0; color:var(--atbix-muted); }

/* CTA */
.atbix-journal-cta-wrap { max-width:var(--atbix-max); margin:0 auto; padding:0 28px 120px; }
.atbix-journal-cta {
  background:var(--atbix-cta-bg); color:var(--atbix-cta-text); padding:78px 68px;
  display:grid; grid-template-columns:minmax(0,1.5fr) minmax(220px,.5fr); gap:48px; align-items:end;
}
.atbix-journal-cta .atbix-kicker { margin-bottom:20px; }
.atbix-journal-cta h2 { margin:0; max-width:850px; font-size:clamp(46px,6.5vw,88px); line-height:.92; letter-spacing:-.055em; font-weight:500; }
.atbix-cta-action { display:flex; justify-content:flex-end; }
.atbix-cta-button { display:inline-flex; align-items:center; justify-content:center; padding:15px 22px; border-radius:999px; background:var(--atbix-accent); color:var(--atbix-ink); text-decoration:none; font-size:13px; font-weight:800; }

/* Single article */
.atbix-single-hero { max-width:var(--atbix-max); margin:0 auto; padding:88px 28px 58px; }
.atbix-single-meta { display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; margin-bottom:34px; color:var(--atbix-muted); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.atbix-single-category { color:var(--atbix-accent); }
.atbix-single-title { margin:0; max-width:1030px; font-size:clamp(52px,7.8vw,104px); line-height:.91; letter-spacing:-.062em; font-weight:500; }
.atbix-single-dek { max-width:720px; margin:34px 0 0; color:var(--atbix-muted); font-size:20px; line-height:1.6; }
.atbix-single-image { max-width:var(--atbix-max); margin:0 auto; padding:0 28px 72px; }
.atbix-single-image img { width:100%; max-height:690px; object-fit:cover; }
.atbix-article-body { max-width:790px; margin:0 auto; padding:0 28px 110px; font-size:18px; line-height:1.82; color:#2b343d; }
.atbix-article-body > *:first-child { margin-top:0; }
.atbix-article-body p { margin:0 0 1.5em; }
.atbix-article-body h2 { margin:2.25em 0 .7em; color:var(--atbix-ink); font-size:clamp(34px,4vw,52px); line-height:1.08; letter-spacing:-.04em; font-weight:500; }
.atbix-article-body h3 { margin:2em 0 .6em; color:var(--atbix-ink); font-size:28px; line-height:1.2; letter-spacing:-.025em; }
.atbix-article-body a { text-decoration-thickness:1px; text-underline-offset:3px; }
.atbix-article-body blockquote { margin:3em 0; padding:34px 38px; background:var(--atbix-cream); border-left:4px solid var(--atbix-accent); color:var(--atbix-ink); font-size:22px; line-height:1.5; }
.atbix-article-body figure { margin:2.5em 0; }
.atbix-article-body ul, .atbix-article-body ol { padding-left:1.35em; }
.atbix-post-nav { border-top:1px solid var(--atbix-line); border-bottom:1px solid var(--atbix-line); max-width:var(--atbix-max); margin:0 auto 100px; padding:0 28px; display:grid; grid-template-columns:1fr 1fr; }
.atbix-post-nav a { padding:30px 0; text-decoration:none; font-size:14px; font-weight:700; }
.atbix-post-nav .nav-next { text-align:right; border-left:1px solid var(--atbix-line); padding-left:28px; }
.atbix-post-nav .nav-previous { padding-right:28px; }

/* Generic archives/pages */
.atbix-content-shell { max-width:var(--atbix-max); margin:0 auto; padding:90px 28px 110px; background:var(--atbix-bg); }
.atbix-page-title { margin:0 0 52px; font-size:clamp(48px,6vw,82px); letter-spacing:-.05em; line-height:.95; font-weight:500; }

/* Footer */
.atbix-site-footer { border-top:1px solid var(--atbix-line); background:var(--atbix-bg); }
.atbix-footer-inner { max-width:var(--atbix-max); margin:0 auto; padding:52px 28px 58px; display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.atbix-footer-brand { font-size:22px; font-weight:800; letter-spacing:-.04em; margin-bottom:14px; }
.atbix-footer-copy { margin:0; color:var(--atbix-muted); font-size:14px; }
.atbix-footer-links { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:22px; align-content:flex-start; }
.atbix-footer-links a { text-decoration:none; font-size:13px; font-weight:650; }
.atbix-footer-bottom { max-width:var(--atbix-max); margin:0 auto; padding:18px 28px 30px; border-top:1px solid var(--atbix-line); display:flex; justify-content:space-between; gap:20px; color:var(--atbix-muted); font-size:11px; }

/* Pagination */
.nav-links { display:flex; gap:10px; margin-top:46px; }
.page-numbers { border:1px solid var(--atbix-line); padding:10px 13px; text-decoration:none; font-size:12px; }
.page-numbers.current { background:var(--atbix-ink); color:#fff; }

@media (max-width: 880px) {
  .atbix-menu-toggle { display:block; }
  .atbix-nav-wrap { display:none; position:absolute; left:0; right:0; top:100%; padding:20px 28px 26px; background:var(--atbix-header-bg); border-bottom:1px solid var(--atbix-line); flex-direction:column; align-items:stretch; }
  .atbix-nav-wrap.is-open { display:flex; }
  .atbix-nav { flex-direction:column; align-items:flex-start; }
  .atbix-journal-hero { grid-template-columns:1fr; padding-top:70px; }
  .atbix-hero-aside { max-width:520px; }
  .atbix-notes-grid { grid-template-columns:1fr; }
  .atbix-note, .atbix-note:nth-child(even) { min-height:0; padding:32px 0 38px; border-left:0; }
  .atbix-journal-cta { grid-template-columns:1fr; padding:56px 38px; }
  .atbix-cta-action { justify-content:flex-start; }
  .atbix-footer-inner { grid-template-columns:1fr; }
  .atbix-footer-links { justify-content:flex-start; }
}

@media (max-width: 560px) {
  .atbix-header-inner { padding:15px 18px; }
  .atbix-journal-hero { padding:60px 18px 56px; }
  .atbix-display { font-size:58px; }
  .atbix-notes-wrap, .atbix-journal-cta-wrap { padding-left:18px; padding-right:18px; }
  .atbix-note-title { font-size:32px; }
  .atbix-note-top { margin-bottom:28px; }
  .atbix-journal-cta { padding:45px 24px; }
  .atbix-single-hero { padding:62px 18px 42px; }
  .atbix-single-title { font-size:50px; }
  .atbix-single-dek { font-size:17px; }
  .atbix-single-image { padding:0 18px 50px; }
  .atbix-article-body { padding:0 18px 80px; font-size:17px; }
  .atbix-post-nav { padding:0 18px; grid-template-columns:1fr; }
  .atbix-post-nav .nav-next { text-align:left; border-left:0; border-top:1px solid var(--atbix-line); padding-left:0; }
  .atbix-post-nav .nav-previous { padding-right:0; }
  .atbix-footer-inner, .atbix-footer-bottom { padding-left:18px; padding-right:18px; }
  .atbix-footer-bottom { flex-direction:column; }
}
