/* Reach editorial single-post layout v0.2 — entirely scoped; inherited site header/footer. */
.rib-article{--rib-ink:#02215f;--rib-orange:#ed7d31;--rib-teal:#005271;--rib-muted:#50647b;--rib-rule:#dce6f0;background:#fff;color:#26384d;min-width:0;}
.rib-article *, .rib-article *::before,.rib-article *::after{box-sizing:border-box}
.rib-article-container{width:min(1200px,calc(100% - 50px));margin-inline:auto}
.rib-article a{color:var(--rib-ink)}
.rib-article a:focus-visible{outline:2px solid var(--rib-orange);outline-offset:3px}
.rib-article-preview-note{background:#eef6ff;border-bottom:1px solid #aac7e9;color:#104571;padding:.7rem max(24px,calc((100% - 1200px)/2));font:700 .8rem/1.5 system-ui,sans-serif}
.rib-article-hero{border-bottom:1px solid #e4eaf1;background:#fff;padding:clamp(1.5rem,3.4vw,3rem) 0 clamp(1.3rem,2.3vw,2.3rem)}
.rib-article-topbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem 1.2rem;position:relative;z-index:8;margin-bottom:clamp(1rem,2vw,1.55rem)}
.rib-article-context{display:flex;align-items:center;flex-wrap:wrap;gap:1rem 1.35rem}
.rib-article-label{color:var(--rib-teal);font:800 .7rem/1.4 'Montserrat',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.rib-article-back{font:750 .8rem/1.4 'Montserrat',system-ui,sans-serif;text-decoration:none}
.rib-article-back:hover,.rib-article-rail-back:hover{text-decoration:underline;text-decoration-color:var(--rib-orange);text-underline-offset:4px}
.rib-article-topic-menu{position:relative;z-index:12;flex:none}
.rib-article-topic-menu>summary{display:flex;align-items:center;gap:1.15rem;min-height:40px;padding:.6rem .88rem;cursor:pointer;list-style:none;background:#fff;border:1px solid #cbdbea;border-radius:7px;color:var(--rib-ink);font:750 .78rem/1.35 'Montserrat',system-ui,sans-serif}
.rib-article-topic-menu>summary::-webkit-details-marker{display:none}
.rib-article-topic-menu[open]>summary{border-color:var(--rib-orange);background:#f5f9fc}
.rib-article-topic-menu[open] .rib-article-topic-panel{display:flex}
.rib-article-topic-panel{display:none;position:absolute;right:0;top:calc(100% + 8px);flex-direction:column;width:min(300px,calc(100vw - 32px));padding:.65rem;border:1px solid #d8e4f1;border-top:3px solid var(--rib-orange);border-radius:10px;background:#fff;box-shadow:0 18px 48px rgba(2,33,95,.16)}
.rib-article-topic-panel strong{padding:.6rem .65rem;color:var(--rib-muted);font:750 .65rem/1.4 'Montserrat',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.rib-article-topic-panel a{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .65rem;border-radius:5px;text-decoration:none;font:700 .78rem/1.4 'Montserrat',system-ui,sans-serif}
.rib-article-topic-panel a:hover{background:#edf5fc;color:#c36323}
.rib-article-hero h1{max-width:960px;margin:0 0 1.2rem;padding:0;color:var(--rib-ink);font:800 clamp(2.2rem,4.7vw,3.8rem)/1.12 'Montserrat',system-ui,sans-serif;letter-spacing:-.035em;overflow-wrap:break-word;text-wrap:balance}
.rib-article-meta{display:flex;align-items:center;gap:.5rem 1rem;flex-wrap:wrap;font:500 .78rem/1.5 'Montserrat',system-ui,sans-serif;color:#5a6c81}
.rib-article-meta>span+span{border-left:1px solid #bccad9;padding-left:1rem}
.rib-article-layout{display:grid;grid-template-columns:minmax(210px,235px) minmax(0,800px);justify-content:center;align-items:start;gap:clamp(2rem,4.5vw,4.3rem);padding-top:clamp(1.65rem,3.6vw,3rem);padding-bottom:4.5rem}
.rib-article-rail{align-self:start;position:sticky;top:100px;min-width:0}
.rib-article-rail-inner{border:1px solid #d8e4f1;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 7px 23px rgba(2,33,95,.045)}
.rib-article-rail-back{display:flex;align-items:center;min-height:56px;padding:.9rem 1rem;color:#173d68;background:#f6f9fd;border-bottom:1px solid #dce7f3;text-decoration:none;font:750 .78rem/1.4 'Montserrat',system-ui,sans-serif}
.rib-article-chapters>summary{display:flex;align-items:center;gap:.65rem;padding:.9rem .95rem;min-height:48px;list-style:none;cursor:pointer;color:var(--rib-ink);font:800 .81rem/1.4 'Montserrat',system-ui,sans-serif}
.rib-article-chapters>summary::-webkit-details-marker{display:none}
.rib-article-chapters>summary>span:first-child{display:grid;place-items:center;background:#e9f3fc;color:#04517b;width:27px;height:27px;border-radius:6px}
.rib-article-chevron{margin-left:auto;font-size:1.05rem;color:#607990;transition:transform .18s}
.rib-article-chapters[open] .rib-article-chevron{transform:rotate(180deg)}
.rib-article-chapter-links{display:flex;flex-direction:column;padding:.2rem .65rem .75rem;max-height:min(58vh,500px);overflow-y:auto;overscroll-behavior:contain}
.rib-article-chapter-links a{display:flex;align-items:baseline;gap:.65rem;padding:.62rem .48rem;border-left:3px solid transparent;border-radius:5px;text-decoration:none;color:#40556d;font:600 .77rem/1.45 'Montserrat',system-ui,sans-serif}
.rib-article-chapter-links a:hover,.rib-article-chapter-links a.is-current{color:var(--rib-ink);background:#edf5fc;border-left-color:var(--rib-orange)}
.rib-article-number{flex:none;color:#5b7e9d;font:800 .65rem/1.4 'Montserrat',system-ui,sans-serif;letter-spacing:.03em}
.rib-article-rail-foot{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.82rem 1rem;background:#f8fbfe;border-top:1px solid #e2eaf3;font:600 .72rem/1.45 'Montserrat',system-ui,sans-serif;color:#62758a}
.rib-article-rail-foot a{font-weight:800;text-decoration:none}
.rib-article-body{min-width:0;color:#26384d;font:400 clamp(1rem,1.12vw,1.08rem)/1.85 'Montserrat',Arial,sans-serif;overflow-wrap:break-word}
.rib-article-body> :first-child{margin-top:0}
.rib-article-body p{margin:0 0 1.45rem;max-width:75ch}
.rib-article-body :is(h2,h3,h4){color:var(--rib-ink);font-family:'Montserrat',system-ui,sans-serif;letter-spacing:-.025em;line-height:1.28;overflow-wrap:break-word}
.rib-article-body h2{font-weight:800;font-size:clamp(1.45rem,2.35vw,1.95rem);margin:2.3rem 0 1rem}
.rib-article-body h2::before{content:'';display:block;width:43px;height:4px;background:var(--rib-orange);border-radius:20px;margin:0 0 1rem}
.rib-article-body h3{font-size:clamp(1.2rem,1.65vw,1.45rem);margin:1.8rem 0 .8rem}
.rib-article-body h4{font-size:1.1rem;margin:1.5rem 0 .6rem}
.rib-article-body :is(h2,h3,h4,[id]){scroll-margin-top:115px}
.rib-article-body :is(ul,ol){margin:0 0 1.4rem;padding-left:1.65rem}
.rib-article-body li{margin:0 0 .5rem}
.rib-article-body a:not(.rib-article-end a){text-decoration-thickness:1px;text-underline-offset:3px}
.rib-article-body figure{margin:1.4rem 0;max-width:100%}
.rib-article-body img{display:block;max-width:100%;height:auto;margin:1.1rem 0 1.4rem;border:1px solid #e4ebf2;border-radius:10px;box-shadow:0 6px 22px rgba(2,33,95,.045)}
.rib-article-body :is(figure:first-of-type img,p:first-of-type img){max-height:370px;object-fit:contain}
.rib-article-body img:is([src*="headshot" i],[src*="avatar" i],[src*="portrait" i],[src*="profile" i],[src*="author-photo" i]){max-width:128px;max-height:160px;object-fit:contain}
.rib-article-body :is(iframe,video){max-width:100%}
.rib-article-body :is(table,.wp-block-table){max-width:100%;overflow-x:auto;display:block}
.rib-article-body table{border-collapse:collapse;width:100%;font-size:.84rem}
.rib-article-body th,.rib-article-body td{padding:.6rem;border:1px solid #d6e1ed;text-align:left}
.rib-article-body th{background:#ebf3fa}
.rib-article-body blockquote{margin:1.25rem 0;padding:1rem 1.35rem;border-left:3px solid var(--rib-orange);background:#f7fafe;border-radius:0 10px 10px 0}
.rib-article-body :is(pre,code){max-width:100%;overflow-wrap:anywhere}
.rib-article--has-outline .rib-article-body .lwptoc{display:none!important} /* The rail uses the same source headings; no duplicate embedded TOC. */
.rib-article-end{margin-top:3rem;padding:1.2rem 0;border-top:1px solid #dce5ef}
.rib-article-end a{font:800 .83rem/1.5 'Montserrat',system-ui,sans-serif;text-decoration:none}
.rib-article-end a:hover{text-decoration:underline;text-decoration-color:var(--rib-orange)}
@media(max-width:900px){
 .rib-article-layout{grid-template-columns:minmax(0,1fr);gap:1.35rem;padding-top:1.1rem}
 .rib-article-rail{position:static}
 .rib-article-rail-inner{box-shadow:none}
 .rib-article-chapter-links{max-height:40vh}
 .rib-article-body{font-size:1rem;line-height:1.75}
 .rib-article-rail-foot{display:none}
}
@media(max-width:600px){
 .rib-article-container{width:calc(100% - 32px)}
 .rib-article-hero{padding:1.15rem 0 1.25rem}
 .rib-article-hero h1{font-size:clamp(1.85rem,7.7vw,2.45rem);line-height:1.17;margin:0 0 .8rem}
 .rib-article-meta{font-size:.71rem;gap:.45rem .6rem}
 .rib-article-meta>span+span{padding-left:.6rem}
 .rib-article-label{font-size:.65rem}
 .rib-article-back{font-size:.74rem}
 .rib-article-context{gap:.55rem .8rem}
 .rib-article-topbar{gap:.5rem .7rem;margin-bottom:1rem}
 .rib-article-topic-menu>summary{padding:.5rem .65rem;min-height:40px;font-size:.72rem}
 .rib-article-layout{padding-bottom:2.5rem}
 .rib-article-body h2{font-size:1.45rem;line-height:1.3;margin-top:1.8rem}
 .rib-article-body h3{font-size:1.2rem}
 .rib-article-body img{max-height:350px;object-fit:contain}
 .rib-article-chapter-links a{min-height:40px;align-items:center}
}
@media(prefers-reduced-motion:reduce){.rib-article-chevron{transition:none}}


/* v0.2.2 — original WordPress end-of-article content compatibility.
   Gutenberg media/text CTAs and Simple Author Box render inside the custom
   reader, not an Elementor section. Keep every original image, link and word. */
.rib-article-body .wp-block-media-text{
 display:grid!important;
 grid-template-columns:minmax(0,56%) minmax(0,44%)!important;
 align-items:stretch;
 width:100%;max-width:100%;min-width:0;
 margin:2.3rem 0;
 overflow:hidden;isolation:isolate;
 border:1px solid #d8e4f1;
 border-radius:12px;
 background:#f3f7fb;
 box-shadow:0 6px 22px rgba(2,33,95,.05);
}
.rib-article-body .wp-block-media-text .wp-block-media-text__media{
 position:relative!important;display:block!important;
 width:100%;height:100%;min-width:0;min-height:220px;
 margin:0!important;padding:0!important;overflow:hidden;
}
.rib-article-body .wp-block-media-text .wp-block-media-text__media img{
 position:static!important;display:block;
 width:100%!important;height:100%!important;
 max-width:none!important;max-height:none!important;
 min-height:220px;margin:0!important;padding:0!important;
 border:0;border-radius:0;box-shadow:none;
 object-fit:cover;
}
.rib-article-body .wp-block-media-text .wp-block-media-text__content{
 position:relative!important;display:flex;flex-direction:column;
 align-items:stretch;justify-content:center;gap:.75rem;
 min-width:0;width:100%;max-width:100%;
 margin:0!important;padding:clamp(1rem,2.3vw,1.75rem)!important;
 overflow-wrap:anywhere;
}
.rib-article-body .wp-block-media-text__content p{
 width:100%;max-width:100%;margin:0!important;
 font-size:clamp(.86rem,1.2vw,1rem);line-height:1.55;
 color:#203953;
}
.rib-article-body .wp-block-media-text .wp-block-buttons{
 display:flex;flex-wrap:wrap;justify-content:center;
 width:100%;margin:0;padding:0;gap:.5rem;
}
.rib-article-body .wp-block-media-text .wp-block-button{margin:0}
.rib-article-body .wp-block-media-text a.wp-block-button__link{
 display:inline-flex;align-items:center;justify-content:center;
 min-height:42px;width:auto;max-width:100%;
 padding:.6rem 1rem;border:0;border-radius:6px;
 background:#ed7d31;color:#02215f;
 text-decoration:none;font:800 .78rem/1.35 'Montserrat',system-ui,sans-serif;
 white-space:normal;text-align:center;
}
.rib-article-body .wp-block-media-text a.wp-block-button__link:hover{
 background:#f39a58;color:#02215f;
}
/* The standard author block contains floated children on many WP themes.
   Cancel their floats within our article only, to prevent profile pictures
   and orange social links from overlapping the biography. */
.rib-article-body .saboxplugin-wrap{
 display:flow-root;clear:both;width:100%;max-width:100%;
 margin:2.3rem 0 1.5rem;padding:0;
 border:1px solid #d8e4f1;border-radius:12px;
 background:#f8fafc;box-shadow:none;overflow:hidden;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-tab{
 display:grid!important;
 grid-template-columns:96px minmax(0,1fr);
 grid-template-areas:'portrait author' 'portrait bio' 'social social';
 column-gap:1.2rem;row-gap:.35rem;
 width:100%;min-width:0;padding:1.25rem;
 background:transparent;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-gravatar{
 grid-area:portrait;position:static!important;float:none!important;
 width:96px!important;max-width:96px!important;min-width:0!important;
 height:auto;margin:0!important;padding:0!important;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-gravatar img{
 display:block;width:96px!important;height:96px!important;
 max-width:96px!important;max-height:96px!important;
 margin:0!important;object-fit:cover;border-radius:9px;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-authorname{
 grid-area:author;float:none!important;position:static!important;
 width:auto!important;min-width:0;margin:0!important;padding:0!important;
 color:#02215f;font:800 1rem/1.4 'Montserrat',system-ui,sans-serif;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-desc{
 grid-area:bio;float:none!important;position:static!important;
 width:auto!important;min-width:0;margin:0!important;padding:0!important;
 font:400 .88rem/1.6 'Montserrat',system-ui,sans-serif;color:#43566a;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-desc p{
 max-width:none;margin:0!important;font:inherit;color:inherit;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-socials{
 grid-area:social;position:static!important;float:none!important;
 display:flex;align-items:center;gap:.6rem;min-width:0;
 width:auto!important;margin:.7rem 0 0!important;
 padding:.85rem 0 0!important;border-top:1px solid #dce6f0;
 background:transparent;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-socials a{
 display:inline-flex;align-items:center;justify-content:center;
 width:36px;height:36px;padding:7px;border-radius:7px;
 color:#02215f;background:#e9f3fc;text-decoration:none;
}
.rib-article-body .saboxplugin-wrap .saboxplugin-socials a:hover{background:#d9eafa;color:#005271}
.rib-article-body .saboxplugin-wrap .saboxplugin-socials svg{display:block;width:18px;height:18px}
.rib-article-body .saboxplugin-wrap .clearfix{display:none!important}
@media(max-width:700px){
 .rib-article-body .wp-block-media-text{
  grid-template-columns:minmax(0,1fr)!important;
 }
 .rib-article-body .wp-block-media-text .wp-block-media-text__media{
  width:100%;height:auto!important;min-height:0;aspect-ratio:16/9;
 }
 .rib-article-body .wp-block-media-text .wp-block-media-text__media img{
  width:100%!important;height:100%!important;min-height:0;
 }
 .rib-article-body .wp-block-media-text .wp-block-media-text__content{
  padding:1rem!important;
 }
 .rib-article-body .saboxplugin-wrap .saboxplugin-tab{
  grid-template-columns:70px minmax(0,1fr);
  column-gap:.85rem;padding:.95rem;
 }
 .rib-article-body .saboxplugin-wrap .saboxplugin-gravatar,
 .rib-article-body .saboxplugin-wrap .saboxplugin-gravatar img{
  width:70px!important;max-width:70px!important;
 }
 .rib-article-body .saboxplugin-wrap .saboxplugin-gravatar img{
  height:70px!important;max-height:70px!important;
 }
}
