/* Authors International - structural theme styles.
   Bootstrap 5 utilities carry the layout; this file adds only what utilities cannot express:
   the masthead treatment, the rule/kicker motifs, and the membership tier cards. */

body { font-family: var(--bs-font-sans-serif); }
h1,h2,h3,h4,h5,.ai-serif { font-family: var(--ai-serif); font-weight: 600; letter-spacing: -.012em; line-height: 1.22; }

/* ---- disclosure banner ------------------------------------------------ */
.ai-disclosure { background: #1b232f; color: #cfd8e3; font-size: .8rem; line-height: 1.5; }
.ai-disclosure b { color: var(--ai-accent-soft); font-weight: 600; }

/* ---- navigation ------------------------------------------------------- */
.ai-nav { background: var(--bs-primary); }
.ai-nav .navbar-brand { font-family: var(--ai-serif); font-size: 1.24rem; color:#fff; letter-spacing:.005em; }
.ai-nav .navbar-brand span,
.ai-nav-transparent .navbar-brand span { color: var(--ai-accent-soft); }
.ai-nav .nav-link { color: rgba(255,255,255,.82); font-size:.92rem; letter-spacing:.03em; padding:.35rem .9rem; }
.ai-nav .nav-link:hover, .ai-nav .nav-link:focus { color:#fff; }
.ai-nav .nav-link.active { color:#fff; box-shadow: inset 0 -2px 0 var(--ai-accent-soft); }
.ai-nav-transparent { background: transparent; position:absolute; left:0; right:0; z-index:5; }
.ai-nav-transparent.ai-stuck { background: var(--bs-primary); position:fixed; top:0; }

/* ---- masthead --------------------------------------------------------- */
.ai-masthead { position:relative; background-size:cover; background-position:center; color:#fff; }
.ai-masthead::after { content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(10,16,25,.62), rgba(10,16,25,.50) 40%, rgba(10,16,25,.88)); }
.ai-masthead > .container { position:relative; z-index:2; }
.ai-masthead h1 { color:#fff; font-size: clamp(2.05rem, 5vw, 3.7rem); max-width: 18ch; }
.ai-masthead .lead { color:#e6dccd; max-width: 58ch; }
.ai-masthead-sm { min-height: 42vh; }
.ai-masthead-lg { min-height: 72vh; }

/* ---- motifs ----------------------------------------------------------- */
.ai-kicker { text-transform:uppercase; letter-spacing:.2em; font-size:.72rem; font-weight:600; color:var(--ai-accent); }
.ai-masthead .ai-kicker { color: var(--ai-accent-soft); }
.ai-rule { width:54px; height:3px; background:var(--ai-accent); border:0; opacity:1; }
.ai-band { background: var(--ai-paper-2); }
.ai-band-dark { background: var(--ai-ink); color:#dfe5ec; }
.ai-band-dark h2, .ai-band-dark h3 { color:#fff; }
.ai-lede { font-size:1.15rem; max-width:64ch; }

/* ---- stats ------------------------------------------------------------ */
.ai-stat { border-top:2px solid var(--ai-accent); }
.ai-stat .ai-n { font-family:var(--ai-serif); font-size:2.3rem; line-height:1; }
.ai-stat .ai-l { font-size:.76rem; text-transform:uppercase; letter-spacing:.11em; color:var(--ai-muted); }
.ai-band-dark .ai-stat .ai-l { color:#9aa7b6; }

/* ---- cards ------------------------------------------------------------ */
.ai-card { background:#fff; border:1px solid var(--ai-rule); height:100%; transition: box-shadow .2s ease, transform .2s ease; }
.ai-card:hover { box-shadow: 0 10px 28px rgba(19,26,36,.10); transform: translateY(-2px); }
.ai-card i { color: var(--ai-accent); }

/* ---- membership tiers -------------------------------------------------- */
.ai-tier { background:#fff; border:1px solid var(--ai-rule); height:100%; display:flex; flex-direction:column; }
.ai-tier.ai-feat { border:2px solid var(--ai-accent); box-shadow:0 12px 34px rgba(19,26,36,.12); }
.ai-tier .ai-price { font-family:var(--ai-serif); font-size:2.45rem; line-height:1; }
.ai-tier ul { list-style:none; padding:0; margin:0; flex:1; }
.ai-tier li { position:relative; padding:.42rem 0 .42rem 1.5rem; border-bottom:1px solid #f1ece2; font-size:.94rem; }
.ai-tier li:last-child { border-bottom:0; }
.ai-tier li::before { content:"\2713"; position:absolute; left:0; color:var(--ai-accent); font-weight:700; }

/* ---- buttons ----------------------------------------------------------- */
.btn-ai { background:var(--ai-accent); border-color:var(--ai-accent); color:#fff;
  text-transform:uppercase; letter-spacing:.09em; font-size:.83rem; font-weight:600; padding:.68rem 1.6rem; }
.btn-ai:hover, .btn-ai:focus { background:#8a5306; border-color:#8a5306; color:#fff; }
.btn-ai-outline { background:transparent; border:1px solid rgba(255,255,255,.55); color:#fff;
  text-transform:uppercase; letter-spacing:.09em; font-size:.83rem; font-weight:600; padding:.68rem 1.6rem; }
.btn-ai-outline:hover, .btn-ai-outline:focus { background:rgba(255,255,255,.12); color:#fff; border-color:#fff; }

/* ---- lists / events ----------------------------------------------------- */
.ai-entry { border-bottom:1px solid var(--ai-rule); }
.ai-entry .ai-when { font-family:var(--ai-serif); color:var(--ai-accent); }
.ai-quote { border-left:3px solid var(--ai-accent); font-family:var(--ai-serif); font-style:italic; font-size:1.1rem; }
.ai-figure img { width:100%; display:block; }

/* ---- footer ------------------------------------------------------------- */
.ai-footer { background: var(--ai-ink); color:#aeb8c4; font-size:.92rem; }
.ai-footer h5 { color:#fff; font-size:.78rem; text-transform:uppercase; letter-spacing:.13em; font-family:var(--bs-font-sans-serif); font-weight:600; }
.ai-footer a { color:#c3cbd6; text-decoration:none; }
.ai-footer a:hover { color:#fff; text-decoration:underline; }
.ai-footer ul { list-style:none; padding:0; margin:0; }
.ai-footer li { padding:.2rem 0; }

/* Below lg the transparent navbar becomes an ordinary solid bar: an absolutely
   positioned nav over a short viewport collides with the masthead's own content. */
@media (max-width: 991.98px) {
  .ai-nav-transparent { position: static; background: var(--bs-primary); }
  .ai-nav-transparent.ai-stuck { position: static; }
}

@media (max-width: 767.98px) {
  .ai-masthead-lg { min-height: 52vh; }
  .ai-masthead h1 { max-width: none; }
  .ai-entry .ai-when { display:block; }
}
