/* Artix — Inner page editorial styles (services, about, contact, text pages).
   Loaded on all singular pages except the front page. */

/* ---- Page hero ---- */
.ax-phero { background: var(--ax-ink); color: var(--ax-paper); position: relative; overflow: hidden; }
.ax-phero::after { content:""; position:absolute; inset:0;
  background: radial-gradient(120% 90% at 90% 0%, rgba(176,137,72,.15), transparent 60%); pointer-events:none; }
.ax-phero--oxblood { background: linear-gradient(160deg, #1A0E0C 0%, var(--ax-ink) 70%); }
.ax-phero .elementor-heading-title { color: var(--ax-paper) !important; }
.ax-phero .ax-eyebrow .elementor-heading-title { color: var(--ax-brass-soft) !important; }
.ax-phero h1.elementor-heading-title { font-family: var(--ax-font-display); font-size: clamp(2.4rem,4.5vw,4rem); line-height:1.05; letter-spacing:-.02em; max-width:20ch; }
.ax-phero .ax-lead p { color: var(--ax-fog-dark) !important; font-size: clamp(1.1rem,1.5vw,1.3rem); max-width:60ch; margin-top:1rem; }

/* ---- Prose ---- */
.ax-prose p { color: var(--ax-ink); }
.ax-prose .elementor-heading-title { color: var(--ax-ink) !important; }
.ax-lede .elementor-widget-text-editor { font-size: 1.2rem; color: var(--ax-fog) !important; }

/* ---- Item cards (.ax-matter — legacy class name for Elementor item cards) ---- */
.ax-matter { background: var(--ax-paper-2); border:1px solid var(--ax-line); border-radius:3px;
  padding: clamp(1.3rem,2.5vw,1.9rem); height:100%; transition:border-color .2s var(--ax-ease); }
.ax-matter:hover { border-color: var(--ax-brass); }
.ax-matter .elementor-heading-title { color: var(--ax-ink) !important; font-family:var(--ax-font-display); font-size:1.2rem !important; }
.ax-matter p { color: var(--ax-fog) !important; font-size:.96rem; margin-top:.4rem; }

/* ---- Process steps ---- */
.ax-step { border-top:1px solid var(--ax-line); padding-top:1rem; }
.ax-step .ax-stepnum .elementor-heading-title { color: var(--ax-brass) !important; font-family:var(--ax-font-display); font-size:2rem !important; line-height:1; }
.ax-step .elementor-widget-heading:not(.ax-stepnum) .elementor-heading-title { color:var(--ax-ink) !important; font-size:1.1rem !important; margin-top:.3rem; }
.ax-step p { color: var(--ax-fog) !important; font-size:.94rem; }

/* ---- Section band variants ---- */
.ax-band-paper2 { background: var(--ax-paper-2); }
.ax-band-ink { background: var(--ax-ink); color: var(--ax-paper); }
.ax-band-ink .elementor-heading-title { color: var(--ax-paper) !important; }
.ax-band-ink .ax-eyebrow .elementor-heading-title { color: var(--ax-brass-soft) !important; }
.ax-band-ink p { color: var(--ax-fog-dark) !important; }

/* ---- FAQ accordion (Elementor) ---- */
.ax-faq .elementor-accordion-item { border:1px solid var(--ax-line); border-radius:3px; margin-bottom:.7rem; overflow:hidden; background:var(--ax-paper-2); }
.ax-faq .elementor-tab-title { font-family:var(--ax-font-display); font-size:1.08rem; color:var(--ax-ink); padding:1rem 1.2rem; }
.ax-faq .elementor-tab-title.elementor-active { color:var(--ax-brass); }
.ax-faq .elementor-tab-content { color:var(--ax-fog); padding:0 1.2rem 1.1rem; }

/* ---- Disclaimer note ---- */
.ax-disclaimer { border-left:3px solid var(--ax-brass); background:var(--ax-paper-2); padding:1.1rem 1.3rem; border-radius:2px; }
.ax-disclaimer p { color:var(--ax-fog) !important; font-size:.9rem; margin:0; }

/* ---- Contact split ---- */
.ax-contactinfo .elementor-heading-title { color:var(--ax-ink) !important; }
.ax-contactinfo a { color: var(--ax-brass); text-decoration:none; }

/* ---- Team (CPT) ---- */
.ax-team { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:2rem; }
.ax-person { background:var(--ax-paper-2); border:1px solid var(--ax-line); border-radius:3px; padding:1.5rem; }
.ax-person-photo img { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:2px; filter:grayscale(.2) contrast(1.03); margin-bottom:1rem; }
.ax-person-photo--initials { aspect-ratio:4/5; display:flex; align-items:center; justify-content:center; background:var(--ax-graphite); border-radius:2px; margin-bottom:1rem; }
.ax-person-photo--initials span { font-family:var(--ax-font-display); font-weight:800; font-size:3.2rem; letter-spacing:.04em; color:var(--ax-ember); }
.ax-person h3 { font-family:var(--ax-font-display); font-size:1.25rem; color:var(--ax-ink); margin:0; }
.ax-person-role { color:var(--ax-brass); font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; margin:.2rem 0 .6rem; }
.ax-person-bio p { color:var(--ax-fog); font-size:.95rem; }
.ax-person-cred { color:var(--ax-fog); font-size:.82rem; border-top:1px solid var(--ax-line); padding-top:.6rem; margin-top:.6rem; }
.ax-person-social { display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.8rem; }
.ax-person-social a { font-size:.78rem; font-weight:600; color:var(--ax-ember-text); text-decoration:none; border:1px solid var(--ax-line); border-radius:7px; padding:.35rem .7rem; transition:all .15s var(--ax-ease); }
.ax-person-social a:hover { background:var(--ax-graphite); color:#fff; border-color:var(--ax-graphite); }
/* Single person: render as a wider feature row, not a cramped card */
.ax-team { grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.ax-team:has(.ax-person:only-child) { display:grid; grid-template-columns:340px 1fr; gap:2.5rem; align-items:start; }
.ax-person:only-child .ax-person-bio p { font-size:1rem; }

/* ---- Pull quote (about) ---- */
.ax-pull .elementor-widget-container { border-left:2px solid var(--ax-brass); padding-left:1.4rem; }
.ax-pull .elementor-heading-title { font-family:var(--ax-font-display) !important; font-size:clamp(1.4rem,2.4vw,2rem) !important; color:var(--ax-ink) !important; line-height:1.3; font-weight:500; }
