/*
Theme Name: John Yager Board
Theme URI: https://johnryager.com
Author: OpenAI
Description: A refined, responsive executive profile and board-candidate website for John R. Yager.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: john-yager-board
*/
:root {
  --navy: #14283f;
  --navy-deep: #0c1a2b;
  --ink: #1e2935;
  --muted: #5e6a76;
  --paper: #f7f6f2;
  --white: #ffffff;
  --line: #d9dfe3;
  --gold: #b89558;
  --gold-light: #e8dcc5;
  --max: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family: "Inter", "Aptos", "Segoe UI", Arial, sans-serif; font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:inherit; }
a:focus-visible, button:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.wrap { width:min(var(--max), calc(100% - 44px)); margin-inline:auto; }
.site-header { background:var(--white); border-bottom:1px solid var(--line); }
.header-inner { min-height:84px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { text-decoration:none; display:flex; flex-direction:column; line-height:1.2; }
.brand-name { font-family: Georgia, "Times New Roman", serif; font-size:24px; letter-spacing:.015em; color:var(--navy); }
.brand-tag { margin-top:6px; font-size:10px; letter-spacing:.17em; text-transform:uppercase; color:var(--muted); }
.nav { display:flex; flex-wrap:wrap; gap:24px; align-items:center; }
.nav a { text-decoration:none; font-size:13px; color:#39495a; }
.nav a:hover { color:#92703c; }
.hero { background:var(--navy); color:var(--white); position:relative; overflow:hidden; }
.hero:after { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(232,220,197,.18); border-radius:50%; right:-170px; top:-210px; box-shadow:0 0 0 55px rgba(232,220,197,.035),0 0 0 110px rgba(232,220,197,.025); pointer-events:none; }
.hero-inner { position:relative; z-index:1; padding:100px 0 96px; max-width:850px; }
.eyebrow { display:flex; align-items:center; gap:12px; color:var(--gold-light); font-size:11px; letter-spacing:.2em; text-transform:uppercase; font-weight:700; }
.eyebrow:before { content:""; display:inline-block; width:34px; height:1px; background:var(--gold); }
h1,h2,h3 { margin-top:0; }
h1 { max-width:780px; margin:23px 0 22px; font-family:Georgia, "Times New Roman", serif; font-weight:400; font-size:clamp(42px, 6vw, 72px); letter-spacing:-.035em; line-height:1.07; }
.hero-copy { max-width:720px; color:#dbe2e9; font-size:19px; line-height:1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:34px; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border:1px solid var(--gold); text-decoration:none; font-size:12px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; transition:background .2s ease,color .2s ease; }
.button.primary { background:var(--gold); color:var(--navy-deep); }
.button.primary:hover { background:#d0b47f; }
.button.secondary { color:var(--white); border-color:rgba(255,255,255,.42); }
.button.secondary:hover { background:rgba(255,255,255,.08); }
.hero-meta { margin-top:55px; padding-top:24px; border-top:1px solid rgba(255,255,255,.18); display:flex; flex-wrap:wrap; gap:10px 30px; color:#c3ced8; font-size:12px; }
.hero-meta span:before { content:"•"; color:var(--gold); margin-right:9px; }
.section { padding:88px 0; }
.section.white { background:var(--white); }
.section.navy { background:var(--navy-deep); color:var(--white); }
.section-head { display:grid; grid-template-columns:minmax(180px,.7fr) minmax(0,1.6fr); gap:50px; margin-bottom:42px; }
.kicker { color:#8d6c39; text-transform:uppercase; letter-spacing:.18em; font-size:11px; font-weight:700; margin-bottom:13px; }
.section.navy .kicker { color:var(--gold-light); }
h2 { font-family:Georgia, "Times New Roman", serif; font-weight:400; font-size:clamp(32px,4vw,46px); line-height:1.16; letter-spacing:-.025em; margin-bottom:18px; color:var(--navy); }
.section.navy h2 { color:var(--white); }
.lead { font-size:18px; line-height:1.8; color:#4c5966; max-width:760px; margin:0; }
.section.navy .lead { color:#c6d0da; }
.body-copy { max-width:800px; color:#465361; }
.body-copy p { margin:0 0 18px; }
.value-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.value-card { padding:27px 26px 29px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); background:rgba(255,255,255,.52); min-height:200px; }
.value-num { color:#9a7a48; font-family:Georgia,serif; font-size:24px; margin-bottom:18px; }
.value-card h3 { color:var(--navy); font-size:17px; line-height:1.3; margin-bottom:10px; }
.value-card p { margin:0; font-size:14px; line-height:1.7; color:var(--muted); }
.proof-band { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.16); margin-top:40px; }
.proof { padding:25px 25px 26px; background:var(--navy-deep); }
.proof strong { display:block; font-family:Georgia,serif; color:var(--gold-light); font-size:31px; line-height:1.2; font-weight:400; margin-bottom:9px; }
.proof span { color:#c3ced8; font-size:12px; line-height:1.5; display:block; }
.experience-list { border-top:1px solid var(--line); }
.experience-item { display:grid; grid-template-columns:190px 1fr; gap:34px; padding:28px 0; border-bottom:1px solid var(--line); }
.experience-date { color:#8d6c39; font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding-top:4px; }
.experience-item h3 { color:var(--navy); margin:0 0 4px; font-size:19px; }
.experience-item .org { font-size:13px; color:var(--muted); margin-bottom:10px; }
.experience-item p { margin:0; max-width:780px; color:#4c5966; font-size:14px; }
.education-line { padding-top:26px; color:#4c5966; font-size:14px; }
.contact-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:60px; align-items:start; }
.contact-card { border:1px solid rgba(255,255,255,.2); padding:26px; }
.contact-row { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.contact-row:last-child { border-bottom:0; }
.contact-label { color:var(--gold-light); text-transform:uppercase; letter-spacing:.14em; font-size:10px; margin-bottom:5px; }
.contact-row a { color:var(--white); text-decoration:none; overflow-wrap:anywhere; }
.contact-row a:hover { color:var(--gold-light); }
.contact-note { color:#c6d0da; font-size:14px; }
.site-footer { background:#081421; color:#9eacba; padding:25px 0; font-size:11px; }
.footer-inner { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
.footer-inner a { color:#d7dfe7; text-decoration:none; }
@media (max-width:760px) {
 .wrap { width:min(var(--max), calc(100% - 32px)); }
 .header-inner { min-height:74px; align-items:flex-start; flex-direction:column; justify-content:center; gap:12px; padding:16px 0; }
 .brand-name { font-size:22px; }
 .nav { gap:15px; }
 .nav a { font-size:12px; }
 .hero-inner { padding:72px 0 68px; }
 .hero-copy { font-size:17px; }
 .hero-meta { margin-top:38px; }
 .section { padding:62px 0; }
 .section-head { grid-template-columns:1fr; gap:12px; margin-bottom:30px; }
 .value-grid { grid-template-columns:1fr; }
 .value-card { min-height:0; padding:22px; }
 .proof-band { grid-template-columns:1fr; }
 .proof { padding:22px; }
 .experience-item { grid-template-columns:1fr; gap:7px; padding:22px 0; }
 .contact-grid { grid-template-columns:1fr; gap:25px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
