/* SSP Article: single post presentation. Tokens follow the SSP White Room design. */
:root{--ssp-bg:#FFFFFF;--ssp-surface:#FAF9F6;--ssp-linen:#F3F0E9;--ssp-stone:#E9E5DC;--ssp-wash:#F7F1E6;--ssp-ink:#121316;--ssp-accent:#9C7A45;--ssp-mid:#45474D;--ssp-soft:#8B8D94;--ssp-rule:#E7E6E2;--ssp-rule2:#D6D4CE;--ssp-serif:'Playfair Display',Georgia,serif;--ssp-sans:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;--ssp-mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace}

/* ---------- Hero ---------- */
.ssp-hero{background:var(--ssp-linen)!important}
.ssp-crumbs,.ssp-crumbs .rank-math-breadcrumb p{font:500 12px/1.6 var(--ssp-mono);letter-spacing:.04em;color:var(--ssp-soft);margin:0}
.ssp-crumbs a{color:var(--ssp-mid);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.ssp-crumbs a:hover{border-bottom-color:var(--ssp-accent)}
.ssp-crumbs .separator{margin:0 .5em;color:var(--ssp-rule2)}
.ssp-kicker{display:flex;align-items:center;gap:14px;font:700 12px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-ink);margin:0}
.ssp-kicker:before{content:"";width:36px;height:2px;background:var(--ssp-accent)}
.ssp-kicker a{color:inherit;text-decoration:none}
.ssp-hero-title .elementor-heading-title{font-family:var(--ssp-serif)!important;font-weight:400!important;font-size:clamp(32px,4.4vw,58px)!important;line-height:1.07!important;letter-spacing:-.015em!important;color:var(--ssp-ink)!important;text-transform:none!important;max-width:1000px;margin:0}
.ssp-hero-excerpt,.ssp-hero-excerpt p{font:400 clamp(17px,1.5vw,20px)/1.6 var(--ssp-sans)!important;color:var(--ssp-mid)!important;max-width:780px;margin:0}
.ssp-meta{display:flex;flex-wrap:wrap;gap:6px 22px;font:500 12.5px/1.6 var(--ssp-mono);letter-spacing:.03em;color:var(--ssp-mid);margin:0;padding-top:18px;border-top:1px solid var(--ssp-stone)}
.ssp-meta span{display:inline-flex;align-items:center;gap:8px}
.ssp-meta b{font-weight:700;color:var(--ssp-ink)}
.ssp-meta a{color:var(--ssp-ink);text-decoration:none;border-bottom:1px solid var(--ssp-accent)}

/* ---------- Featured image ---------- */
.ssp-feature img{display:block;width:100%!important;height:auto!important;aspect-ratio:1200/630;object-fit:cover;border:1px solid var(--ssp-rule);border-radius:3px;background:var(--ssp-surface)}

/* ---------- Sidebar ---------- */
.ssp-main{min-width:0}
@media (min-width:1025px){.ssp-main{flex:1 1 0%!important;width:auto!important;max-width:none!important}.ssp-side{flex:0 0 320px!important;width:320px!important;position:sticky!important;top:110px;align-self:flex-start}}
.ssp-toc>.elementor-widget-container{border:0!important;border-top:1px solid var(--ssp-ink)!important;border-radius:0!important;background:transparent!important}
.ssp-toc .elementor-toc__header{padding:16px 0 12px!important;border-bottom:1px solid var(--ssp-stone)!important;background:transparent!important}
.ssp-toc .elementor-toc__header-title{font:700 12px/1.2 var(--ssp-mono)!important;letter-spacing:.09em!important;text-transform:uppercase!important;color:var(--ssp-ink)!important}
.ssp-toc .elementor-toc__body{padding:12px 0 4px!important;max-height:52vh;overflow:auto}
.ssp-toc .elementor-toc__list-wrapper{margin:0!important;padding:0!important;list-style:none!important}
.ssp-toc .elementor-toc__list-item{margin:0!important;padding:0!important}
.ssp-toc .elementor-toc__list-item-text-wrapper{padding:7px 0 7px 14px!important;border-left:1px solid var(--ssp-rule)}
.ssp-toc .elementor-toc__list-item-text-wrapper:before,.ssp-toc .elementor-toc__list-item-text-wrapper i{display:none!important}
.ssp-toc a.elementor-toc__list-item-text{font:500 14px/1.45 var(--ssp-sans)!important;color:var(--ssp-mid)!important;text-decoration:none!important}
.ssp-toc a.elementor-toc__list-item-text:hover{color:var(--ssp-ink)!important}
.ssp-toc .elementor-toc__list-item-text-wrapper:has(.elementor-item-active){border-left:2px solid var(--ssp-accent);padding-left:13px!important}
.ssp-toc a.elementor-item-active{color:var(--ssp-ink)!important;font-weight:600!important}
.ssp-toc .elementor-toc__toggle-button{color:var(--ssp-ink)!important}
.ssp-toc-mobile>.elementor-widget-container{border:1px solid var(--ssp-rule2)!important;border-radius:3px!important;background:var(--ssp-surface)!important;padding:0 16px!important}
.ssp-toc-mobile .elementor-toc__header{border-bottom:0!important}
.ssp-toc-mobile .elementor-toc__body{max-height:none}
.ssp-toc.elementor-toc--collapsed .elementor-toc__body{display:none!important}
.ssp-toc-mobile .elementor-toc__header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}

.ssp-side-cta{background:var(--ssp-wash);border-top:2px solid var(--ssp-accent);padding:26px 26px 28px;border-radius:0 0 3px 3px}
.ssp-side-cta p.ssp-side-cta__label{font:700 11.5px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-ink);margin:0 0 14px}
.ssp-side-cta p.ssp-side-cta__title{font:400 25px/1.15 var(--ssp-serif);letter-spacing:-.01em;color:var(--ssp-ink);margin:0 0 10px}
.ssp-side-cta p{font:400 15px/1.6 var(--ssp-sans);color:var(--ssp-mid);margin:0 0 18px}
.ssp-side-cta ul{list-style:none;margin:0 0 20px;padding:0}
.ssp-side-cta li{font:500 13.5px/1.5 var(--ssp-sans);color:var(--ssp-ink);padding:6px 0 6px 18px;position:relative;border-top:1px solid rgba(18,19,22,.07)}
.ssp-side-cta li:before{content:"";position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--ssp-accent)}
.ssp-btn{display:inline-block;font:600 14.5px/1 var(--ssp-sans)!important;letter-spacing:.02em;color:#fff!important;text-decoration:none!important;padding:15px 22px;border-radius:2px;background-color:var(--ssp-ink);background-image:linear-gradient(var(--ssp-accent),var(--ssp-accent));background-repeat:no-repeat;background-size:0 100%;transition:background-size .34s ease;border:0}
.ssp-btn:hover,.ssp-btn:focus-visible{background-size:100% 100%;color:#fff!important}
.ssp-btn--ghost{background:transparent;color:var(--ssp-ink)!important;padding:14px 0;border-bottom:1px solid var(--ssp-accent);border-radius:0}
.ssp-btn--ghost:hover{background:transparent;color:var(--ssp-accent)!important}
.ssp-caps{margin-top:8px}
.ssp-caps__label{font:700 11.5px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-ink);padding:0 0 12px;margin:0;border-bottom:1px solid var(--ssp-stone)}
.ssp-caps ul{list-style:none;margin:0;padding:0}
.ssp-caps li{margin:0;border-bottom:1px solid var(--ssp-rule)}
.ssp-caps a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font:500 14.5px/1.4 var(--ssp-sans);color:var(--ssp-ink);text-decoration:none;transition:color .2s}
.ssp-caps a:after{content:"\2192";font-family:var(--ssp-mono);color:var(--ssp-soft);transition:transform .2s,color .2s}
.ssp-caps a:hover{color:var(--ssp-accent)}
.ssp-caps a:hover:after{transform:translateX(3px);color:var(--ssp-accent)}
.ssp-caps small{display:block;font:400 12.5px/1.4 var(--ssp-sans);color:var(--ssp-soft);margin-top:2px}

/* ---------- Article body ---------- */
.ssp-article{font-family:var(--ssp-sans);font-size:18px;line-height:1.75;color:var(--ssp-mid);word-wrap:break-word}
.ssp-article>*:first-child,.ssp-article .elementor-widget-container>*:first-child{margin-top:0}
.ssp-article p{margin:0 0 1.2em;font-size:18px;line-height:1.75}
.ssp-article strong,.ssp-article b{color:var(--ssp-ink);font-weight:600}
.ssp-article a{color:var(--ssp-ink);text-decoration:none;border-bottom:1px solid var(--ssp-accent);transition:color .2s,border-color .2s}
.ssp-article a:hover{color:var(--ssp-accent)}
.ssp-article h2{position:relative;font-family:var(--ssp-serif);font-weight:400;font-size:clamp(27px,2.6vw,36px);line-height:1.12;letter-spacing:-.012em;color:var(--ssp-ink);text-transform:none;margin:2.1em 0 .65em;padding-top:30px;border-top:1px solid var(--ssp-stone);scroll-margin-top:120px}
.ssp-article h2:before{content:"";position:absolute;left:0;top:-1px;width:44px;height:2px;background:var(--ssp-accent)}
.ssp-article h3{font-family:var(--ssp-sans);font-weight:700;font-size:21px;line-height:1.35;color:var(--ssp-ink);text-transform:none;letter-spacing:-.005em;margin:1.8em 0 .55em;scroll-margin-top:120px}
.ssp-article h4{font:700 12.5px/1.4 var(--ssp-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ssp-ink);margin:1.8em 0 .6em}
.ssp-article ul,.ssp-article ol{margin:0 0 1.4em;padding-left:1.25em}
.ssp-article li{margin:.45em 0;padding-left:.2em}
.ssp-article li::marker{color:var(--ssp-accent)}
.ssp-article ol li::marker{font:700 .82em var(--ssp-mono);color:var(--ssp-ink)}
.ssp-article figure{margin:2.2em 0}
.ssp-article figure img{display:block;width:100%;height:auto;border:1px solid var(--ssp-rule);border-radius:3px;background:var(--ssp-surface)}
.ssp-article figcaption,.ssp-article .wp-element-caption{font:500 12.5px/1.55 var(--ssp-mono)!important;letter-spacing:.01em;color:var(--ssp-soft)!important;text-align:left!important;margin:12px 0 0!important;padding-left:14px;border-left:1px solid var(--ssp-accent)}
.ssp-article hr{border:0;border-top:1px solid var(--ssp-stone);margin:2.4em 0}
.ssp-article code{font:500 .86em var(--ssp-mono);background:var(--ssp-linen);padding:.1em .35em;border-radius:2px;color:var(--ssp-ink)}
.ssp-article sup,.ssp-article sub{font-size:.7em}

/* Lead + summary */
.ssp-lede{font-size:20px!important;line-height:1.65!important;color:var(--ssp-ink)!important}
.ssp-takeaways{background:var(--ssp-surface);border:1px solid var(--ssp-rule2);border-radius:3px;padding:26px 28px 14px;margin:2em 0 2.4em}
.ssp-takeaways__label,.ssp-callout__label,.ssp-facts__label,.ssp-metrics__label{display:flex;align-items:center;gap:12px;font:700 11.5px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-ink);margin:0 0 16px}
.ssp-takeaways__label:before,.ssp-facts__label:before,.ssp-metrics__label:before{content:"";width:24px;height:2px;background:var(--ssp-accent)}
.ssp-takeaways ul{margin:0 0 12px;padding:0;list-style:none}
.ssp-takeaways li{position:relative;padding:0 0 0 22px;margin:0 0 12px;font-size:16.5px;line-height:1.6;color:var(--ssp-ink)}
.ssp-takeaways li:before{content:"";position:absolute;left:0;top:.8em;width:10px;height:1px;background:var(--ssp-accent)}

/* Callouts */
.ssp-callout{background:var(--ssp-wash);border-left:2px solid var(--ssp-accent);padding:22px 26px;margin:2em 0;border-radius:0 3px 3px 0}
.ssp-callout p{font-size:16.5px;line-height:1.65;margin:0 0 .7em;color:var(--ssp-ink)}
.ssp-callout p:last-child{margin-bottom:0}
.ssp-formula{font:500 15px/1.7 var(--ssp-mono);color:var(--ssp-ink);background:var(--ssp-linen);border:1px solid var(--ssp-stone);border-radius:3px;padding:18px 22px;margin:1.6em 0;overflow-x:auto;white-space:pre-wrap}

/* Tables */
.ssp-table-wrap{margin:2em 0;border:1px solid var(--ssp-rule2);border-radius:3px;overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff}
.ssp-table-wrap table{width:100%;min-width:560px;border-collapse:collapse;margin:0!important;border:0!important;font:400 15px/1.5 var(--ssp-sans);color:var(--ssp-mid)}
.ssp-table-wrap th{font:700 11px/1.4 var(--ssp-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--ssp-ink)!important;background:var(--ssp-linen)!important;text-align:left;padding:13px 14px!important;border:0!important;border-bottom:1px solid var(--ssp-rule2)!important;vertical-align:bottom}
.ssp-table-wrap td{padding:12px 14px!important;border:0!important;border-bottom:1px solid var(--ssp-rule)!important;vertical-align:top;background:#fff!important}
.ssp-table-wrap tr:last-child td{border-bottom:0!important}
.ssp-table-wrap td:first-child{color:var(--ssp-ink);font-weight:600}
.ssp-article p.ssp-table-note,.ssp-table-note{font:500 12.5px/1.55 var(--ssp-mono)!important;color:var(--ssp-soft);margin:-1.2em 0 2em!important}

/* Case study facts + metrics */
.ssp-facts{margin:2em 0 2.4em;border-top:1px solid var(--ssp-ink);padding-top:18px}
.ssp-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px;margin:0}
.ssp-facts dl div{padding:12px 0;border-bottom:1px solid var(--ssp-rule)}
.ssp-facts dt{font:500 11.5px/1.4 var(--ssp-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ssp-soft);margin:0 0 4px}
.ssp-facts dd{font:600 15.5px/1.45 var(--ssp-sans);color:var(--ssp-ink);margin:0}
.ssp-metrics{margin:2.2em 0;padding:24px 0 6px;border-top:1px solid var(--ssp-ink);border-bottom:1px solid var(--ssp-stone)}
.ssp-metrics__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 32px}
.ssp-metric{padding:0 0 18px}
.ssp-metric b{display:block;font:400 clamp(36px,4vw,48px)/1 var(--ssp-serif);letter-spacing:-.02em;color:var(--ssp-ink);margin:0 0 8px}
.ssp-metric span{display:block;font:500 13.5px/1.5 var(--ssp-sans);color:var(--ssp-mid)}
.ssp-disclosure{font:500 12px/1.6 var(--ssp-mono)!important;color:var(--ssp-soft)!important;border-top:1px solid var(--ssp-rule);padding-top:14px;margin-top:2.4em!important}

/* Steps */
.ssp-steps{counter-reset:ssp;list-style:none!important;padding:0!important;margin:1.6em 0 2em!important}
.ssp-steps>li{counter-increment:ssp;position:relative;padding:0 0 18px 56px!important;margin:0 0 18px!important;border-bottom:1px solid var(--ssp-rule)}
.ssp-steps>li:last-child{border-bottom:0;margin-bottom:0!important}
.ssp-steps>li:before{content:counter(ssp,decimal-leading-zero);position:absolute;left:0;top:2px;font:700 13px/1 var(--ssp-mono);color:var(--ssp-ink);border-top:2px solid var(--ssp-accent);padding-top:8px;width:32px}
.ssp-steps>li::marker{content:""}

/* FAQ */
.ssp-faq{margin:1.2em 0 2em;border-top:1px solid var(--ssp-ink)}
.ssp-faq details{border-bottom:1px solid var(--ssp-rule)}
.ssp-faq summary{list-style:none;cursor:pointer;position:relative;padding:20px 44px 20px 0;font:600 17.5px/1.45 var(--ssp-sans);color:var(--ssp-ink)}
.ssp-faq summary::-webkit-details-marker{display:none}
.ssp-faq summary:after{content:"+";position:absolute;right:4px;top:16px;font:400 26px/1 var(--ssp-sans);color:var(--ssp-accent);transition:transform .25s}
.ssp-faq details[open] summary:after{transform:rotate(45deg)}
.ssp-faq .ssp-faq__a{padding:0 0 20px}
.ssp-faq .ssp-faq__a p{font-size:16.5px;line-height:1.7;margin:0 0 .8em}

/* Inline CTA */
.ssp-inline-cta{display:grid;grid-template-columns:1fr auto;gap:18px 28px;align-items:center;background:var(--ssp-linen);border:1px solid var(--ssp-stone);border-radius:3px;padding:24px 26px;margin:2.4em 0}
.ssp-inline-cta p{margin:0!important;font-size:16.5px!important;line-height:1.6!important;color:var(--ssp-ink)!important}
.ssp-inline-cta p b{display:block;font:400 22px/1.2 var(--ssp-serif);margin-bottom:6px}
.ssp-inline-cta a.ssp-btn{border-bottom:0}

/* Author */
.ssp-author{display:grid;grid-template-columns:64px 1fr;gap:20px;border-top:1px solid var(--ssp-ink);padding-top:26px;margin-top:8px}
.ssp-author__mark{width:64px;height:64px;border-radius:2px;background:var(--ssp-ink);color:#fff;display:flex;align-items:center;justify-content:center;font:400 24px/1 var(--ssp-serif);letter-spacing:.02em}
.ssp-author__label{font:700 11px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-soft);margin:0 0 8px}
.ssp-author__name{font:400 23px/1.2 var(--ssp-serif);color:var(--ssp-ink);margin:0 0 8px}
.ssp-author__bio{font:400 15px/1.65 var(--ssp-sans);color:var(--ssp-mid);margin:0 0 12px}
.ssp-author__links{display:flex;flex-wrap:wrap;gap:8px 22px;font:500 12.5px/1.4 var(--ssp-mono);margin:0}
.ssp-author__links a{color:var(--ssp-ink);text-decoration:none;border-bottom:1px solid var(--ssp-accent)}

/* Share */
.ssp-share .elementor-share-btn{background:transparent!important;border:1px solid var(--ssp-rule2)!important;border-radius:2px!important;color:var(--ssp-ink)!important;transition:border-color .2s,color .2s}
.ssp-share .elementor-share-btn:hover{border-color:var(--ssp-accent)!important;color:var(--ssp-accent)!important}
.ssp-share .elementor-share-btn__icon,.ssp-share .elementor-share-btn__icon i,.ssp-share .elementor-share-btn__icon svg{color:inherit!important;fill:currentColor!important;background:transparent!important}
.ssp-share-label{font:700 11.5px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-ink);margin:0}

/* Quote band + related */
.ssp-section-label{display:flex;align-items:center;gap:14px;font:700 12px/1 var(--ssp-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--ssp-ink);margin:0}
.ssp-section-label:before{content:"";width:36px;height:2px;background:var(--ssp-accent)}
.ssp-section-title{font:400 clamp(28px,3.2vw,42px)/1.08 var(--ssp-serif);letter-spacing:-.015em;color:var(--ssp-ink);margin:0}
.ssp-related .elementor-post{border-top:1px solid var(--ssp-ink);padding-top:18px}
.ssp-related .elementor-post__thumbnail__link{margin-bottom:16px!important}
.ssp-related .elementor-post__thumbnail img{border-radius:2px;border:1px solid var(--ssp-rule)}
.ssp-related .elementor-post__title,.ssp-related .elementor-post__title a{font:400 21px/1.25 var(--ssp-serif)!important;color:var(--ssp-ink)!important;text-transform:none!important;letter-spacing:-.005em}
.ssp-related .elementor-post__title a:hover{color:var(--ssp-accent)!important}
.ssp-related .elementor-post__meta-data{font:500 11.5px/1.4 var(--ssp-mono)!important;letter-spacing:.05em;color:var(--ssp-soft)!important;text-transform:uppercase}
.ssp-related .elementor-post__excerpt p{font:400 14.5px/1.6 var(--ssp-sans)!important;color:var(--ssp-mid)!important}

/* ---------- Responsive ---------- */
@media (max-width:1024px){.ssp-article{font-size:17px}.ssp-article p{font-size:17px}}
@media (max-width:767px){
.ssp-article,.ssp-article p{font-size:16.5px;line-height:1.72}
.ssp-lede{font-size:18px!important}
.ssp-article h2{margin-top:1.8em;padding-top:24px}
.ssp-article h3{font-size:19px}
.ssp-facts dl,.ssp-metrics__grid{grid-template-columns:1fr}
.ssp-inline-cta{grid-template-columns:1fr}
.ssp-takeaways{padding:22px 20px 10px}
.ssp-callout{padding:18px 18px}
.ssp-author{grid-template-columns:48px 1fr;gap:16px}
.ssp-author__mark{width:48px;height:48px;font-size:19px}
.ssp-meta{gap:4px 16px;font-size:12px}
}
@media (prefers-reduced-motion:reduce){.ssp-btn,.ssp-caps a,.ssp-caps a:after,.ssp-faq summary:after,.ssp-article a{transition:none!important}}

/* related thumbnails */
.ssp-related .elementor-post__thumbnail{position:relative!important;height:0!important;padding-bottom:56%!important;overflow:hidden}
.ssp-related .elementor-post__thumbnail img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
