/* Richard C. Lyons theme — styles for page-dierdre. Extracted from the page templates' inline CSS; load order matches the original. */
.bdet { max-width: 960px; margin: 0 auto; display: grid; grid-template-columns: 220px 1fr; gap: 5rem; align-items: start; }
.bd-img { width: 232px; height: auto; display: block; filter: drop-shadow(0 20px 36px rgba(10,30,60,.36)); }
.bd-note { font-size: 1rem; font-style: italic; font-weight: 600; color: var(--gold); margin-top: 1.4rem; }
@media (max-width: 680px) {
      #nav { padding: 1rem 1.5rem; } #nav.solid { padding: .6rem 1.5rem; }
      .nav-links { display: none; }
      .h-logo { width: 110px; height: 110px; }
      .bdet, .bdet.flip { grid-template-columns: 1fr; gap: 3rem; }
      .bdet.flip .bd-cov { order: 0; } .bdet.flip .bd-txt { order: 1; }
      .bd-cov { align-items: center; }
      .vgrid { grid-template-columns: 1fr; }
      .vi { border-right: none; border-bottom: 1px solid var(--silver-lite); }
      .vi:last-child { border-bottom: none; }
      .shelf { gap: 2rem; }
      .awards { grid-template-columns: 1fr; gap: 1.25rem; max-width: 360px; }
      .aff-grid { grid-template-columns: 1fr; gap: 1.25rem; max-width: 340px; }
      .aff-card { height: 156px; }
      .cta-form { flex-direction: column; }
      .cta-in { flex: 0 0 auto; width: 100%; height: 52px; }
      .cta-btn { width: 100%; }
      .nav-burger { display: flex; }
      .h-banner { height: auto; max-height: calc(100vh - 80px); object-fit: contain; }
      .dnaod-ci__books{width:96%;}
      .dnaod-ci__form{flex-direction:column;align-items:stretch;}
      .dnaod-ci__input{flex:0 0 auto;width:100%;height:52px;}
      .dnaod-ci__cta{width:100%;}
      .dnaod-btn{padding:12px;}
      .dnaod-btn__text{display:none;}
    }
.cat-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.sec-head h2 { font-family:'Cinzel Decorative',serif; font-size:clamp(1.35rem,2.5vw,2rem); font-weight:700; color:var(--text); line-height:1.18; }
.feat-head h2 { font-family:'Cinzel Decorative',serif; font-size:clamp(1.45rem,2.7vw,2.1rem); font-weight:700; color:var(--text); text-align:center; white-space:nowrap; }
.feat-head.on-teal h2 { color:#fff; }
.cover-pair { display:flex; justify-content:center; gap:4rem; flex-wrap:wrap; margin:2.6rem 0 1rem; }
.cover-pair .bd-img, .cover-pair .ph-cover { width:290px; }
@media (max-width: 680px) {
      .cat-grid { grid-template-columns:repeat(2,1fr); gap:1.25rem; }
      .feat-row, .feat-row.text-first { grid-template-columns:1fr; gap:2.2rem; }
      .cover-pair { gap:2rem; }
      .cover-pair .bd-img, .cover-pair .ph-cover { width:220px; }
      .feat-head h2 { white-space:normal; }
      .logo-row { gap:2.2rem; }
    }
.bio-row { max-width:1010px; margin:0 auto; display:grid; grid-template-columns:210px 1fr; gap:3.6rem; align-items:start; }
.bio-figure { margin:0; }
.bio-figure img { width:100%; height:auto; display:block; border-radius:3px; box-shadow:0 16px 34px rgba(10,30,60,.30); }
.bio-h { font-family:'Cinzel Decorative',serif; font-size:clamp(1.4rem,2.5vw,2rem); font-weight:700; color:var(--text); line-height:1.16; margin-bottom:.5rem; }
.bio-sub { font-family:'EB Garamond',serif; font-size:1.12rem; color:var(--text-dim); margin-bottom:0; }
.bio-link { color:var(--blue); text-decoration:none; border-bottom:1px solid rgba(26,60,96,.4); transition:color .25s, border-color .25s; }
.bio-link:hover { color:var(--gold-hi); border-color:var(--gold-hi); }
@media (max-width: 680px) {
      .bio-row { grid-template-columns:1fr; gap:2.2rem; justify-items:center; text-align:left; }
      .bio-figure { max-width:210px; }
    }
.author-head { display:flex; align-items:center; gap:1.5rem; margin-bottom:3rem; }
.author-head h1 { font-family:'Cinzel Decorative',serif; font-size:clamp(1.6rem,3.1vw,2.5rem); font-weight:700; color:var(--text); line-height:1.14; white-space:nowrap; }
.author-head::after { content:''; flex:1; height:1px; background:linear-gradient(to right,var(--silver-lite),transparent); }
.author-row { max-width:1060px; margin:0 auto; display:grid; grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr); gap:3.8rem; align-items:center; }
.author-figure { margin:0; }
.author-figure img { width:100%; height:auto; display:block; border-radius:3px; box-shadow:0 18px 38px rgba(10,30,60,.30); }
@media (max-width: 680px) {
      .author-head h1 { white-space:normal; }
      .author-row { grid-template-columns:1fr; gap:2.4rem; }
    }
.dd-hero { display:grid; grid-template-columns:minmax(0,480px) 1fr; gap:3.4rem; max-width:1120px; margin:0 auto; align-items:center; }
.dd-poster { margin:0; }
.dd-poster img, .dd-poster video { width:100%; height:auto; display:block; border-radius:3px; box-shadow:0 22px 50px rgba(10,30,60,.32); border:1px solid var(--silver-lite); }
.dd-title { font-family:'Cinzel Decorative',serif; font-size:clamp(2rem,3.6vw,2.9rem); font-weight:700; color:var(--text); line-height:1.12; margin:.5rem 0 .4rem; }
.dd-tagline { font-family:'EB Garamond',serif; font-style:italic; font-size:1.16rem; color:var(--text-dim); margin-bottom:1.6rem; }
.dd-awards { list-style:none; }
.dd-award { padding:1rem 0; border-top:1px solid var(--silver-lite); display:flex; flex-direction:column; gap:.28rem; }
.dd-award:last-child { border-bottom:1px solid var(--silver-lite); }
.dd-award .fest { font-family:'EB Garamond',serif; font-size:1.12rem; font-weight:600; color:var(--text); line-height:1.3; }
.dd-award .res { font-family:'Cinzel',serif; font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); }
.dd-award a.fest { text-decoration:none; transition:color .22s; display:inline-flex; align-items:center; gap:.4em; }
.dd-award a.fest::after { content:'↗'; font-size:.8em; color:var(--gold-hi); opacity:.7; }
.dd-award a.fest:hover { color:var(--gold-hi); }
.dd-laurels { max-width:1100px; margin:0 auto; }
.dd-laurels img { width:100%; height:auto; display:block; }
.dd-introband { background:var(--bg-navy); border-top:1px solid rgba(201,168,64,.18); border-bottom:1px solid rgba(201,168,64,.18); }
.dd-introwrap { max-width:760px; margin:0 auto; text-align:center; }
.dd-introband .eyebrow-l { color:var(--gold-hi); }
.dd-introband h2 { font-family:'Cinzel Decorative',serif; font-size:clamp(1.6rem,2.8vw,2.1rem); font-weight:700; color:#fff; margin-bottom:.5rem; }
.dd-subhead { font-family:'Cinzel',serif; font-size:.7rem; letter-spacing:.34em; text-transform:uppercase; color:rgba(200,220,238,.55); margin-bottom:2.4rem; }
.dd-prose p { font-family:'EB Garamond',serif; font-size:1.22rem; line-height:1.9; color:rgba(216,228,240,.82); margin-bottom:1.3rem; text-wrap:pretty; }
.dd-prose p:last-child { font-style:italic; color:var(--gold-pale); font-size:1.3rem; margin-top:.4rem; }
.dd-os-grid { max-width:1040px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
.dd-os-card { background:#fff; border:1px solid var(--silver-lite); border-radius:5px; aspect-ratio:1/1; display:flex; align-items:center; justify-content:center; padding:1.6rem; box-shadow:0 3px 12px rgba(10,30,60,.06); transition:transform .3s,box-shadow .3s; }
.dd-os-card:hover { transform:translateY(-4px); box-shadow:0 14px 30px rgba(10,30,60,.14); }
.dd-os-card img { max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; }
.dd-banner { max-width:560px; margin:3.2rem auto 0; }
.dd-banner img { width:100%; height:auto; display:block; border-radius:5px; box-shadow:0 14px 34px rgba(8,21,42,.3); }
.dd-close { display:grid; grid-template-columns:1.25fr 0.95fr; gap:3.4rem; max-width:1160px; margin:0 auto; align-items:center; }
.dd-cert { margin:0; }
.dd-cert img { width:100%; height:auto; display:block; border-radius:3px; box-shadow:0 18px 40px rgba(10,30,60,.26); border:1px solid var(--silver-lite); }
.dd-cert figcaption { font-family:'Cinzel',serif; font-size:.55rem; letter-spacing:.2em; text-transform:uppercase; color:var(--text-dim); text-align:center; margin-top:.9rem; }
.dd-synh { font-family:'Cinzel Decorative',serif; font-size:clamp(1.5rem,2.6vw,2rem); font-weight:700; color:var(--text); margin-bottom:.3rem; }
@media (max-width: 860px) {
      .dd-hero { grid-template-columns:1fr; gap:2.4rem; }
      .dd-poster { max-width:360px; margin:0 auto; }
      .dd-os-grid { grid-template-columns:repeat(3,1fr); }
      .dd-close { grid-template-columns:1fr; gap:2.4rem; }
      .dd-cert { max-width:480px; margin:0 auto; }
    }
@media (max-width: 520px) {
      .dd-os-grid { grid-template-columns:repeat(2,1fr); gap:1rem; }
      .dd-prose p { font-size:1.1rem; }
    }
