/* Arthur Befreier site system — V23
   Shared component layer. Keep global header/footer/reveal changes here. */

:root {
  --black:#080807;
  --charcoal:#12110f;
  --graphite:#1b1916;
  --ivory:#eee7da;
  --muted:#b5ada0;
  --dim:#6f685e;
  --amber:#a66a16;
  --ochre:#c58a22;
  --gold:#e5b84a;
  --max:1240px;
}

* { box-sizing:border-box; }
html { background:var(--black); scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--ivory); font-family:Inter,system-ui,sans-serif; line-height:1.5; overflow-x:hidden; }
.page-locked { background:#070706; }
a { color:inherit; text-decoration:none; }
::selection { background:rgba(197,138,34,.32); color:var(--ivory); }

/* Shared navigation on the four main pages */
.site-header { position:fixed; inset:0 0 auto; z-index:30; border-bottom:1px solid rgba(197,138,34,.10); background:rgba(8,8,7,.76); backdrop-filter:blur(18px); }
.page-home .site-header { background:transparent; border-color:transparent; backdrop-filter:none; transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease; }
.page-home .site-header.scrolled { background:rgba(8,8,7,.78); backdrop-filter:blur(18px); border-color:rgba(197,138,34,.12); }
.site-header .nav { height:82px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.site-header .brand { display:flex; align-items:center; gap:12px; transform:translateX(-22px); }
.site-header .brand img { width:64px; height:48px; object-fit:contain; opacity:.94; }
.page-home .site-header .brand { font-family:Newsreader,Georgia,serif; font-size:25px; letter-spacing:-.02em; }
.page-home .site-header .brand img { opacity:.96; }
.site-header .nav-links { display:flex; align-items:center; gap:34px; font-size:14px; color:#d9d2c8; }
.site-header .nav-links a { transition:color .25s ease; }
.site-header .nav-links a:hover,
.site-header .nav-links a[aria-current="page"] { color:var(--gold); }
.site-header .lang { padding-left:26px; border-left:1px solid rgba(238,231,218,.18); color:var(--muted); }
.site-header .lang strong { font-weight:500; color:var(--ochre); }

/* Shared footer on main pages */
.site-footer { background:var(--black); border-top:1px solid rgba(238,231,218,.1); padding:46px 0 54px; color:#8f877b; font-size:13px; }
.site-footer .footer-grid { display:grid; grid-template-columns:1fr auto; gap:36px; align-items:end; }
.site-footer .footer-brand { font-family:Newsreader,Georgia,serif; color:#d8d0c3; font-size:23px; margin-bottom:22px; }
.site-footer .footer-links { display:flex; flex-wrap:wrap; gap:22px 30px; }
.site-footer .footer-links a:hover { color:var(--gold); }
.site-footer .footer-copy { text-align:right; font-size:11px; line-height:1.9; }

/* Shared reveal animation */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1); }
.page-home .reveal { transform:translateY(24px); transition-duration:.85s; }
.reveal.visible { opacity:1; transform:none; }

/* Exact V22 responsive component behavior, centralized by page. */
@media (max-width:900px) {
  .page-about .site-header .nav { height:72px; }
  .page-about .site-header .brand { transform:translateX(-8px); }
  .page-about .site-header .brand img { width:54px; height:40px; }
  .page-about .site-header .nav-links a:not(.lang) { display:none; }
  .page-about .site-header .nav-links { gap:0; }
  .page-about .site-header .lang { border:0; padding:0; }
  .page-about .site-footer .footer-grid { grid-template-columns:1fr; }
  .page-about .site-footer .footer-copy { text-align:left; }
}

@media (max-width:850px) {
  .page-home .site-header .nav { height:70px; }
  .page-home .site-header .brand { font-size:21px; transform:none; }
  .page-home .site-header .brand img { width:46px; height:35px; }
  .page-home .site-header .nav-links a:not(.lang) { display:none; }
  .page-home .site-header .nav-links { gap:0; }
  .page-home .site-header .lang { border:0; padding:0; }
  .page-home .site-footer .footer-grid { grid-template-columns:1fr; }
  .page-home .site-footer .footer-copy { text-align:left; }
}

@media (max-width:820px) {
  .page-essays .site-header .nav,
  .page-contact .site-header .nav { height:72px; }
  .page-essays .site-header .brand,
  .page-contact .site-header .brand { transform:translateX(-8px); }
  .page-essays .site-header .brand img,
  .page-contact .site-header .brand img { width:54px; height:40px; }
  .page-essays .site-header .nav-links a:not(.lang),
  .page-contact .site-header .nav-links a:not(.lang) { display:none; }
  .page-essays .site-header .nav-links,
  .page-contact .site-header .nav-links { gap:0; }
  .page-essays .site-header .lang,
  .page-contact .site-header .lang { border:0; padding:0; }
  .page-essays .site-footer .footer-grid,
  .page-contact .site-footer .footer-grid { grid-template-columns:1fr; }
  .page-essays .site-footer .footer-copy,
  .page-contact .site-footer .footer-copy { text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto!important; animation:none!important; transition:none!important; }
  .reveal { opacity:1; transform:none; }
}
