/*
 * Author page: the design from jason-anderson-author-page (1).html, used by
 * the author archive (author.php) and the Author Profile page template
 * (template-author.php) through template-parts/author/profile.php.
 *
 * Classes carry the design's names with a drp-ap- prefix so they never
 * collide with the theme's own (.drp-hero, .drp-faq). The default-page embed
 * (author-pages/build_embed.py) reads this same file.
 */
  .drp-ap-author {
    --ink:#0f1a20; --ink-soft:#1b2a32; --teal:#177a76; --teal-deep:#0f5754;
    --gold:#d9a441; --gold-soft:#f1cf8e; --cream:#f7f3ea; --paper:#fffdf9;
    --slate:#5b6670; --line:#e7e1d4;
    font-family:'Inter',system-ui,sans-serif; color:var(--ink); background:var(--paper);
    line-height:1.65; -webkit-font-smoothing:antialiased;
  }
  .drp-ap-author *, .drp-ap-author *::before, .drp-ap-author *::after { box-sizing:border-box; }
  .drp-ap-author h1, .drp-ap-author h2, .drp-ap-author h3 {
    font-family:'Fraunces',Georgia,serif; font-weight:600; line-height:1.15; margin:0; letter-spacing:-0.01em;
  }
  .drp-ap-author p { margin:0 0 1.15em; }
  .drp-ap-author a:focus-visible, .drp-ap-author summary:focus-visible {
    outline:3px solid var(--gold); outline-offset:3px; border-radius:6px;
  }
  .drp-ap-wrap { width:min(1080px, 100% - 48px); margin-inline:auto; }

  /* Hero */
  .drp-ap-hero { background:radial-gradient(1200px 500px at 85% 0%, rgba(23,122,118,.35), transparent 60%), var(--ink); color:#fff; padding:72px 0 80px; }
  .drp-ap-hero-grid { display:grid; grid-template-columns:1.25fr .75fr; gap:56px; align-items:center; }
  .drp-ap-hero h1 { font-size:clamp(2.4rem, 5.2vw, 3.8rem); color:#fff; }
  .drp-ap-role { font-family:'Fraunces',Georgia,serif; font-size:1.3rem; color:var(--gold-soft); margin:14px 0 22px; }
  .drp-ap-tagline { font-size:1.15rem; color:#d9e2e6; max-width:34em; margin-bottom:30px; }
  .drp-ap-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
  .drp-ap-btn { display:inline-flex; align-items:center; gap:8px; padding:13px 22px; border-radius:10px; font-weight:600; font-size:.97rem; text-decoration:none; border:1.5px solid transparent; transition:background .15s, border-color .15s; }
  .drp-ap-btn-gold { background:var(--gold); color:var(--ink); }
  .drp-ap-btn-gold:hover { background:var(--gold-soft); }
  .drp-ap-btn-ghost { border-color:rgba(255,255,255,.45); color:#fff; }
  .drp-ap-btn-ghost:hover { border-color:#fff; }
  .drp-ap-photo { margin:0; border-radius:18px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.45); position:relative; background:var(--ink-soft); }
  .drp-ap-photo img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; object-position:50% 25%; }
  .drp-ap-photo figcaption { position:absolute; inset:auto 0 0 0; padding:44px 20px 16px; font-size:.88rem; color:#fff; background:linear-gradient(transparent, rgba(15,26,32,.85)); }

  /* Body */
  .drp-ap-body { background:var(--paper); padding:72px 0 24px; }
  .drp-ap-body-grid { display:grid; grid-template-columns:260px 1fr; gap:64px; align-items:start; }
  /* Clears the sticky header, plus the promo bar above it (--dpb-h, set by the promo bar script; 0 when closed or absent). */
  .drp-ap-facts { position:sticky; top:calc(var(--dpb-h, 0px) + 6.5rem); background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:24px; }
  body.admin-bar .drp-ap-facts { top:calc(var(--dpb-h, 0px) + 6.5rem + 32px); }
  @media (min-width: 980px) and (max-width: 1199px) {
    .drp-ap-facts { top:calc(var(--dpb-h, 0px) + 11rem); }
    body.admin-bar .drp-ap-facts { top:calc(var(--dpb-h, 0px) + 11rem + 32px); }
  }
  .drp-ap-facts h2 { font-size:1.15rem; margin-bottom:16px; }
  .drp-ap-facts dl { margin:0; }
  .drp-ap-facts dt { font-size:.82rem; color:var(--slate); margin-top:14px; }
  .drp-ap-facts dt:first-child { margin-top:0; }
  .drp-ap-facts dd { margin:2px 0 0; font-weight:600; }
  .drp-ap-article { max-width:40rem; }
  .drp-ap-author p.drp-ap-lead { font-family:'Fraunces',Georgia,serif; font-size:1.4rem; line-height:1.5; color:var(--ink); margin-bottom:1.4em; }
  .drp-ap-article h2 { font-size:1.75rem; margin:2.2em 0 .6em; }
  .drp-ap-article > h2:first-of-type { margin-top:0; }
  .drp-ap-article p { font-size:1.06rem; color:#2a373e; }

  /* Closing statement */
  .drp-ap-closing { background:var(--cream); padding:72px 0; margin-top:48px; border-block:1px solid var(--line); }
  .drp-ap-closing p { font-family:'Fraunces',Georgia,serif; font-size:clamp(1.5rem, 3vw, 2.15rem); line-height:1.35; max-width:30em; margin:0 auto; text-align:center; color:var(--ink); }

  /* Posts by Jason */
  .drp-ap-posts { padding:48px 0 0; }
  .drp-ap-posts[hidden] { display:none; }
  .drp-ap-posts h2 { font-size:1.75rem; margin-bottom:8px; }
  .drp-ap-posts-intro { color:var(--slate); margin-bottom:32px; }
  .drp-ap-post-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:24px; }
  .drp-ap-post { background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; }
  .drp-ap-post img { display:block; width:100%; aspect-ratio:16/10; object-fit:cover; background:var(--cream); }
  .drp-ap-post-body { padding:20px 22px 24px; display:flex; flex-direction:column; flex:1; }
  .drp-ap-post time { font-size:.85rem; color:var(--slate); }
  .drp-ap-post h3 { font-size:1.25rem; margin:6px 0 10px; }
  .drp-ap-post h3 a { color:var(--ink); text-decoration:none; }
  .drp-ap-post h3 a:hover { color:var(--teal); }
  .drp-ap-post p { font-size:.97rem; color:#2a373e; margin:0 0 16px; }
  .drp-ap-post-link { margin-top:auto; font-weight:600; color:var(--teal); text-decoration:none; }
  .drp-ap-post-link:hover { color:var(--teal-deep); text-decoration:underline; }

  /* FAQ */
  .drp-ap-faq { padding:72px 0 24px; }
  .drp-ap-faq-inner { max-width:44rem; margin-inline:auto; }
  .drp-ap-faq h2 { font-size:1.75rem; margin-bottom:24px; }
  .drp-ap-faq details { border-top:1px solid var(--line); padding:18px 0; }
  .drp-ap-faq details:last-of-type { border-bottom:1px solid var(--line); }
  .drp-ap-faq summary { cursor:pointer; font-weight:600; font-size:1.05rem; list-style:none; display:flex; justify-content:space-between; gap:16px; }
  .drp-ap-faq summary::-webkit-details-marker { display:none; }
  .drp-ap-faq summary::after { content:'+'; color:var(--teal); font-size:1.4rem; line-height:1; transition:transform .2s; }
  .drp-ap-faq details[open] summary::after { transform:rotate(45deg); }
  .drp-ap-faq details p { margin:12px 0 0; color:#2a373e; }

  .drp-ap-posts .drp-pagination { margin-top:32px; }

  /* CTA */
  .drp-ap-cta { margin-top:72px; background:linear-gradient(135deg, var(--ink) 0%, var(--teal-deep) 100%); color:#fff; text-align:center; padding:72px 0; }
  .drp-ap-cta h2 { font-size:clamp(1.8rem, 3.5vw, 2.3rem); color:#fff; margin-bottom:12px; }
  .drp-ap-cta p { color:#d9e2e6; margin-bottom:8px; }
  .drp-ap-cta .drp-ap-phone { display:inline-block; font-family:'Fraunces',Georgia,serif; font-size:2.4rem; color:var(--gold-soft); text-decoration:none; margin:10px 0 24px; }
  .drp-ap-cta .drp-ap-hero-actions { justify-content:center; }

  @media (max-width: 860px) {
    .drp-ap-hero { padding:48px 0 56px; }
    .drp-ap-hero-grid { grid-template-columns:1fr; gap:36px; }
    .drp-ap-photo { max-width:420px; }
    .drp-ap-body-grid { grid-template-columns:1fr; gap:36px; }
    .drp-ap-facts { position:static; }
  }
  @media (prefers-reduced-motion: reduce) {
    .drp-ap-author * { transition:none !important; }
  }
  .drp-ap-photo-placeholder { display:block; width:100%; aspect-ratio:3/4; background:linear-gradient(160deg, var(--teal-deep), var(--teal)); }
