/* Single blog posts (templates/single.html, inc/blog-post.php). Look follows the homepage and demo pages:
   lavender band with dots, Greed headings, Albert Sans text, purple accents, deep-purple closing band. */

.rp-post{--rp-measure:720px;--rp-gutter:24px;--rp-ink:#1C1917;--rp-text:#292524;--rp-muted:#57534E;--rp-line:#E7E5E4;--rp-purple:#581CB6;--rp-lavender:#F7F4FD;--rp-lavender-2:#EDE4FA;margin:0 !important;padding:0 !important;background:#fff}
.rp-post>*{margin-block:0 !important}

/* Header band */
.rp-hero{position:relative;overflow:hidden;background:var(--rp-lavender);padding:88px var(--rp-gutter) 168px}
.rp-hero::before{content:"";position:absolute;inset:0;background:url(../images/texture-node-hero-lavender-full.svg) right -220px top -40px/1700px auto no-repeat;opacity:.95;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 22%,#000 70%);mask-image:linear-gradient(90deg,transparent 22%,#000 70%)}
.rp-post:not(:has(.rp-media)) .rp-hero{padding-bottom:88px}
.rp-hero-inner{position:relative;max-width:var(--rp-measure);margin:0 auto !important}
.rp-hero-inner>*{margin-block:0 !important}
.rp-topic{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 24px !important;font:600 13px/1.5 "Albert Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase}
.rp-topic a{color:var(--rp-purple) !important;text-decoration:none !important}
.rp-topic a:hover{text-decoration:underline !important;text-underline-offset:3px}
.rp-topic span{color:#BB9BED}
.rp-hero h1.rp-title{margin:0 0 36px !important;font-family:Greed,sans-serif !important;font-weight:400 !important;font-size:clamp(34px,2rem + 1.8vw,54px) !important;line-height:1.06 !important;letter-spacing:-.02em !important;color:var(--rp-ink) !important;text-wrap:balance}
.rp-byline{display:flex;align-items:center;gap:14px}
.rp-avatar{flex:none;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--rp-purple);color:#fff;font:600 16px/1 "Albert Sans",sans-serif;letter-spacing:.02em;box-shadow:0 0 0 4px #fff}
.rp-byline img.rp-avatar{display:block;object-fit:cover;background:var(--rp-lavender-2)}
.rp-byline p{margin:0 !important}
.rp-author a{color:inherit !important;text-decoration:none !important}
.rp-author a:hover{color:var(--rp-purple) !important}
.rp-author a{white-space:nowrap}
.rp-author-role{font-weight:400;color:var(--rp-muted);white-space:nowrap}
.rp-author-role::before{content:", "}
@media(max-width:560px){.rp-author-role{display:block}.rp-author-role::before{content:none}}
.rp-author{font:600 16px/1.4 "Albert Sans",sans-serif;color:var(--rp-ink)}
.rp-meta{display:flex;gap:8px;font:400 15px/1.4 "Albert Sans",sans-serif;color:var(--rp-muted)}

/* Featured image, overlapping the band */
.rp-media{position:relative;max-width:1104px;margin:-120px auto 0 !important;padding:0 var(--rp-gutter)}
/* Each photo at its own shape, uncropped. Portrait photos are capped in height and shown whole, centred.
   !important: the featured image block writes object-fit:cover on the img itself. */
.rp-media img{display:block;width:100%;height:auto;max-height:800px;object-fit:contain !important;border-radius:20px;background:var(--rp-lavender)}

/* Article column, with the contents list beside it on wide screens */
.rp-layout{padding:72px var(--rp-gutter) 96px}
.rp-content{max-width:var(--rp-measure);margin:0 auto !important}
.rp-toc{display:none}
@media(min-width:1240px){
  .rp-layout.has-toc{display:grid;grid-template-columns:minmax(0,1fr) var(--rp-measure) minmax(0,1fr);column-gap:64px}
  .rp-layout.has-toc .rp-content{grid-column:2;grid-row:1;margin:0 !important}
  .rp-layout.has-toc .rp-about{grid-column:2;grid-row:2}
  .rp-toc{display:block;grid-column:1;grid-row:1;justify-self:end;width:100%;max-width:240px;position:sticky;top:120px;align-self:start;margin:6px 0 0 !important}
}
.rp-toc p{margin:0 0 14px !important;font:600 12px/1.5 "Albert Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-muted)}
.rp-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--rp-line)}
.rp-toc li{margin:0}
.rp-toc a{display:block;margin-left:-1px;padding:7px 0 7px 16px;border-left:2px solid transparent;font:400 14px/1.4 "Albert Sans",sans-serif;color:var(--rp-muted) !important;text-decoration:none !important;transition:color .15s,border-color .15s}
.rp-toc a:hover{color:var(--rp-ink) !important}
.rp-toc a[aria-current="true"]{border-left-color:var(--rp-purple);color:var(--rp-purple) !important;font-weight:600}

/* Post content */
.rp-content>*{margin-block:0 0 !important}
.rp-content>*+*{margin-top:24px !important}
.rp-content p,.rp-content li{font-family:"Albert Sans",sans-serif;font-size:19px;line-height:1.7;color:var(--rp-text);overflow-wrap:break-word}
.rp-content>p:first-child{font-size:22px;line-height:1.6;color:#44403C}
.rp-content a{color:var(--rp-purple);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:#BB9BED;transition:text-decoration-color .15s}
.rp-content a:hover{text-decoration-color:var(--rp-purple)}
.rp-content strong{font-weight:600;color:var(--rp-ink)}
.rp-content h2,.rp-content h3,.rp-content h4{scroll-margin-top:110px;text-wrap:balance}
.rp-content>h2{margin-top:64px !important;font-family:Greed,sans-serif;font-weight:400;font-size:clamp(28px,1.4rem + 1vw,36px);line-height:1.15;letter-spacing:-.015em;color:var(--rp-ink)}
.rp-content>h3{margin-top:44px !important;font-family:Greed,sans-serif;font-weight:400;font-size:clamp(22px,1.2rem + .5vw,26px);line-height:1.25;letter-spacing:-.01em;color:var(--rp-ink)}
.rp-content>h4{margin-top:36px !important;font:600 19px/1.4 "Albert Sans",sans-serif;color:var(--rp-ink)}
.rp-content>h2+*,.rp-content>h3+*,.rp-content>h4+*{margin-top:16px !important}

.rp-content ul,.rp-content ol{padding-left:28px}
.rp-content li+li{margin-top:10px}
.rp-content ul>li::marker{color:var(--rp-purple);font-size:1.1em}
.rp-content ol>li::marker{color:var(--rp-purple);font-weight:600}
/* Imported posts split one list into several single-item lists; keep them together. */
.rp-content>ul+ul,.rp-content>ol+ol{margin-top:10px !important}

.rp-content hr,.rp-content .wp-block-separator{border:0 !important;border-top:1px solid var(--rp-line) !important;width:100% !important;max-width:none !important;height:0;margin-block:48px !important;opacity:1}

.rp-content figure.wp-block-image img{border-radius:14px;height:auto}
.rp-content figure.wp-block-image figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--rp-muted);text-align:left}

.rp-content blockquote,.rp-content .wp-block-quote{margin-block:40px !important;padding:4px 0 4px 28px !important;border-left:3px solid var(--rp-purple) !important;background:none !important}
.rp-content blockquote p{font-family:Greed,sans-serif;font-size:26px;line-height:1.35;letter-spacing:-.01em;color:var(--rp-ink)}
.rp-content blockquote cite{display:block;margin-top:12px;font:400 15px/1.5 "Albert Sans",sans-serif;font-style:normal;color:var(--rp-muted)}

.rp-content figure.wp-block-table{margin-block:32px !important;overflow-x:auto;border:1px solid var(--rp-line);border-radius:14px;-webkit-overflow-scrolling:touch}
.rp-content table{width:100%;min-width:520px;border-collapse:collapse;border:0 !important;font-family:"Albert Sans",sans-serif;font-size:15.5px;line-height:1.5;color:var(--rp-text)}
.rp-content th,.rp-content td{padding:14px 18px !important;border:0 !important;border-bottom:1px solid var(--rp-line) !important;text-align:left;vertical-align:top}
.rp-content thead th{background:var(--rp-lavender);font-weight:600;color:#34116B;border-bottom-color:var(--rp-lavender-2) !important}
.rp-content tbody tr:last-child td{border-bottom:0 !important}
.rp-content tbody tr:nth-child(even) td{background:#FAFAF9}
.rp-content figure.wp-block-table figcaption{padding:12px 18px;font-size:14px;color:var(--rp-muted)}

/* Key takeaways (marked by blog-post.js) */
.rp-content .rp-takeaways{margin-block:0 40px !important;padding:28px 32px;border-radius:18px;background:var(--rp-lavender);border:1px solid var(--rp-lavender-2)}
.rp-content .rp-takeaways+*{margin-top:0 !important}
.rp-takeaways>*{margin:0 !important}
.rp-takeaways>h2{margin:0 0 14px !important;font:600 13px/1.5 "Albert Sans",sans-serif !important;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-purple)}
.rp-takeaways ul,.rp-takeaways ol{padding-left:22px}
.rp-takeaways>ul+ul,.rp-takeaways>ol+ol{margin-top:10px !important}
.rp-takeaways li{font-size:17px;line-height:1.6}
.rp-takeaways+hr,.rp-takeaways+.wp-block-separator{display:none}

/* References (marked by blog-post.js) */
.rp-content>.rp-refs-title{margin-top:72px !important;padding-top:32px;border-top:1px solid var(--rp-line);font:600 13px/1.5 "Albert Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-muted)}
.rp-content p.rp-refs{font-size:14px;line-height:1.55;color:var(--rp-muted);overflow-wrap:anywhere}
.rp-content>p.rp-refs+p.rp-refs{margin-top:10px !important}
.rp-content .rp-refs li{font-size:14px;line-height:1.55;color:var(--rp-muted);overflow-wrap:anywhere}
.rp-content .rp-refs li+li{margin-top:6px}
.rp-content .rp-refs a{color:var(--rp-muted);text-decoration-color:var(--rp-line)}

/* In-article highlight boxes (call-to-action groups in older posts) */
.rp-content .is-style-roar__group-highlight{margin-block:40px !important;padding:32px !important;border-radius:18px !important;background:var(--rp-lavender) !important;border:1px solid var(--rp-lavender-2);backdrop-filter:none}
.rp-content .is-style-roar__group-highlight p{font-size:18px !important;line-height:1.6 !important}
.rp-content .is-style-roar__group-highlight h2,.rp-content .is-style-roar__group-highlight h3{margin:0 !important;font-family:Greed,sans-serif !important;font-weight:400 !important;font-size:26px !important;line-height:1.2 !important;letter-spacing:-.01em;color:var(--rp-ink)}
.rp-content .is-style-roar__group-highlight .wp-block-columns{gap:24px 40px !important;margin:0 !important}
.rp-content .is-style-roar__group-highlight p[style*="uppercase"]{margin-bottom:8px !important;font:600 13px/1.5 "Albert Sans",sans-serif !important;letter-spacing:.1em !important;color:var(--rp-purple) !important}
.rp-content .is-style-roar__group-highlight .wp-block-buttons+p{margin-top:14px !important;font-size:15px !important;line-height:1.5 !important}
@media(max-width:781px){.rp-content .is-style-roar__group-highlight .wp-block-columns{flex-direction:column;align-items:stretch !important}.rp-content .is-style-roar__group-highlight .wp-block-column{flex-basis:auto !important}}

.rp-content .wp-block-button__link{display:inline-block;padding:13px 28px !important;border-radius:999px !important;background:var(--rp-purple) !important;color:#fff !important;font:500 16px/1.4 "Albert Sans",sans-serif !important;text-decoration:none !important;transition:background .2s}
.rp-content .wp-block-button__link:hover{background:#491796 !important}
.rp-content .wp-block-button.is-style-outline .wp-block-button__link{background:transparent !important;color:var(--rp-purple) !important;box-shadow:inset 0 0 0 1.5px var(--rp-purple)}

/* About the author */
.rp-about{display:flex;gap:28px;align-items:flex-start;max-width:var(--rp-measure);margin:72px auto 0 !important;padding:32px;border-radius:20px;background:var(--rp-lavender);border:1px solid var(--rp-lavender-2);scroll-margin-top:110px}
.rp-about-photo{flex:none;width:112px;height:112px;border-radius:50%;object-fit:cover;box-shadow:0 0 0 4px #fff}
span.rp-about-photo{display:grid;place-items:center;background:var(--rp-purple);color:#fff;font:600 32px/1 "Albert Sans",sans-serif}
.rp-about-body>*{margin:0 !important}
.rp-about-label{margin-bottom:8px !important;font:600 12px/1.5 "Albert Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-purple)}
.rp-about h2.rp-about-name{font-family:Greed,sans-serif !important;font-weight:400 !important;font-size:28px !important;line-height:1.15 !important;letter-spacing:-.01em;color:var(--rp-ink) !important}
.rp-about-role{margin-top:4px !important;font:500 15px/1.4 "Albert Sans",sans-serif;color:var(--rp-muted)}
.rp-about-bio{margin-top:14px !important;font:400 16px/1.65 "Albert Sans",sans-serif;color:var(--rp-text)}
.rp-about-bio a{color:var(--rp-purple) !important;text-decoration:underline !important;text-underline-offset:3px}
.rp-about-linkedin{display:inline-flex;align-items:center;gap:8px;margin-top:18px !important;font:600 15px/1.4 "Albert Sans",sans-serif;color:var(--rp-purple) !important;text-decoration:none !important}
.rp-about-linkedin svg{color:#0A66C2}
.rp-about-linkedin:hover{text-decoration:underline !important;text-underline-offset:3px}
.rp-post .screen-reader-text{position:absolute !important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.rp-about{flex-direction:column;gap:18px;padding:24px;margin-top:56px !important}.rp-about-photo{width:88px;height:88px}}

/* Keep reading */
.rp-related{max-width:1104px;margin:0 auto !important;padding:0 var(--rp-gutter) 120px}
.rp-related-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-top:56px;border-top:1px solid var(--rp-line);margin-bottom:32px}
.rp-related h2{margin:0 !important;font-family:Greed,sans-serif !important;font-weight:400 !important;font-size:clamp(28px,1.4rem + 1vw,40px) !important;line-height:1.1 !important;letter-spacing:-.015em;color:var(--rp-ink)}
.rp-related-head a{flex:none;font:600 15px/1.4 "Albert Sans",sans-serif;color:var(--rp-purple) !important;text-decoration:none !important}
.rp-related-head a:hover{text-decoration:underline !important;text-underline-offset:3px}
.rp-related ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;list-style:none;margin:0;padding:0}
.rp-card a{display:flex;flex-direction:column;height:100%;color:inherit !important;text-decoration:none !important}
.rp-card-image{display:block;overflow:hidden;border-radius:16px;aspect-ratio:16/10;background:var(--rp-lavender)}
.rp-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.rp-card a:hover .rp-card-image img{transform:scale(1.04)}
.rp-card-body{display:flex;flex-direction:column;gap:8px;padding-top:18px}
.rp-card-topic{font:600 12px/1.5 "Albert Sans",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-purple)}
.rp-card-title{font-family:Greed,sans-serif;font-size:22px;line-height:1.25;letter-spacing:-.01em;color:var(--rp-ink);text-wrap:balance}
.rp-card a:hover .rp-card-title{color:var(--rp-purple)}
.rp-card-meta{font:400 14px/1.4 "Albert Sans",sans-serif;color:var(--rp-muted)}
@media(max-width:900px){.rp-related ul{grid-template-columns:1fr;gap:28px}.rp-card a{flex-direction:row;gap:18px;align-items:flex-start}.rp-card-image{flex:0 0 132px;border-radius:12px}.rp-card-body{padding-top:0}.rp-card-title{font-size:19px}}

@media(max-width:700px){
  .rp-post{--rp-gutter:20px}
  .rp-hero{padding-top:56px;padding-bottom:112px}
  .rp-hero::before{background-size:1100px auto;background-position:right -360px top -20px;opacity:.7}
  .rp-topic{margin-bottom:18px !important}
  .rp-hero h1.rp-title{margin-bottom:28px !important}
  .rp-media{margin-top:-80px !important}
  .rp-media img{border-radius:14px}
  .rp-layout{padding-top:48px;padding-bottom:72px}
  .rp-content p,.rp-content li{font-size:17.5px}
  .rp-content>p:first-child{font-size:19.5px}
  .rp-content>h2{margin-top:52px !important}
  .rp-content .rp-takeaways,.rp-content .is-style-roar__group-highlight{padding:24px !important}
  .rp-content blockquote p{font-size:22px}
}
