/*
Theme Name: OneStopMagazine Editorial Timeline Spine
Theme URI: https://onestopmagazine.com/
Author: OneStopMagazine
Description: Premium news/business classic theme built around a chronological editorial timeline spine.
Version: 1.0.6
Requires at least: 6.5
Tested up to: 7.1
Requires PHP: 7.4
Text Domain: onestopmagazine
License: GPL-2.0-or-later
*/
:root{
 --osm-ink:#14121A;--osm-bone:#F8F5EF;--osm-violet:#5B2BE0;--osm-amber:#FFB020;
 --osm-mint:#17C3B2;--osm-rose:#F5426C;--osm-muted:#6E6878;--osm-line:#D9D3CA;
 --osm-surface:#F8F5EF;--osm-text:#14121A;--osm-spine:#5B2BE0;--osm-header-h:64px;
 --osm-max:1440px;--osm-content:900px;--osm-breakout:1160px;
}
@media (prefers-color-scheme:dark){
 :root:not([data-theme="light"]){--osm-surface:#14121A;--osm-text:#F8F5EF;--osm-line:#393443;--osm-muted:#B7B0BE;}
}
:root[data-theme="dark"]{--osm-surface:#14121A;--osm-text:#F8F5EF;--osm-line:#393443;--osm-muted:#B7B0BE;}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--osm-surface);color:var(--osm-text)}
body{margin:0;background:var(--osm-surface);color:var(--osm-text);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input{font:inherit}
.osm-skip{position:fixed;left:12px;top:-100px;z-index:9999;background:var(--osm-amber);color:var(--osm-ink);padding:10px 14px}
.osm-skip:focus{top:12px}
:focus-visible{outline:3px solid var(--osm-amber);outline-offset:3px}
.osm-container{width:min(calc(100% - 40px),var(--osm-max));margin-inline:auto}
.osm-site-header{position:sticky;top:0;z-index:100;background:var(--osm-ink);color:var(--osm-bone);border-bottom:1px solid #393443;height:var(--osm-header-h);transition:height .2s ease}
.osm-site-header.is-compact{--osm-header-h:52px}
.osm-header-inner{height:100%;display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(96px,1fr);align-items:center;gap:28px;position:relative}
.osm-header-inner:after{content:"";position:absolute;left:50%;bottom:-30px;width:3px;height:30px;background:var(--osm-spine);transform:translateX(-50%)}
.osm-brand{display:inline-flex;align-items:center;min-width:240px;max-width:310px;overflow:hidden}
.osm-brand .osm-logo{height:42px;width:auto;max-width:100%;display:block;flex:none}
.osm-nav{display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;letter-spacing:.02em;min-width:0}
.osm-nav-list{display:flex;align-items:center;justify-content:center;column-gap:32px;row-gap:0;margin:0;padding:0;white-space:nowrap;list-style:none}
.osm-nav-list>a{color:var(--osm-bone);display:inline-flex;align-items:center;line-height:1.2;padding:8px 2px;margin:0;font-size:14px;font-weight:800;text-decoration:none;flex:0 0 auto}
.osm-nav-list>a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.osm-actions{justify-self:end;display:flex;gap:8px}
.osm-site-header .osm-icon-btn{width:38px;height:38px;border:1px solid #393443;background:transparent;color:var(--osm-bone);display:grid;place-items:center;border-radius:50%;cursor:pointer}
.osm-search-overlay{position:fixed;inset:0;background:var(--osm-surface);z-index:999;display:none;padding:8vh 20px}
.osm-search-overlay.is-open{display:block}
.osm-search-panel{width:min(920px,92vw);margin:auto}
.osm-search-panel input{width:100%;font-size:clamp(28px,4vw,56px);border:0;border-bottom:3px solid var(--osm-violet);background:transparent;color:var(--osm-text);padding:18px 0}
.osm-search-results{margin-top:28px}
.osm-now-wrap{padding-top:34px}
.osm-now{margin:0 auto 34px;width:max-content;display:flex;align-items:center;gap:10px;background:var(--osm-amber);color:var(--osm-ink);border-radius:999px;padding:8px 14px;font:800 12px/1.1 ui-monospace,SFMono-Regular,Consolas,monospace;position:relative;z-index:3}
.osm-now:after{content:"";position:absolute;width:13px;height:13px;border-radius:50%;background:var(--osm-amber);left:50%;bottom:-25px;transform:translateX(-50%)}
.osm-timeline{position:relative;padding:24px 0 84px}
.osm-timeline:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:3px;background:var(--osm-spine);transform:translateX(-50%);transition:background-color .4s ease}
.osm-day{position:relative;margin:54px 0 38px;text-align:center;z-index:2}
.osm-day:before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--osm-line);z-index:-1}
.osm-day span{display:inline-block;background:var(--osm-surface);padding:0 18px;font:900 clamp(22px,3vw,42px)/1 Arial,sans-serif;letter-spacing:-.04em}
.osm-story{width:calc(50% - 62px);margin-bottom:64px;position:relative}
.osm-story:nth-of-type(even){margin-left:calc(50% + 62px)}
.osm-story:nth-of-type(odd){margin-right:calc(50% + 62px)}
.osm-story:before{content:"";position:absolute;top:24px;width:40px;border-top:1px solid var(--osm-line)}
.osm-story:nth-of-type(odd):before{right:-40px}.osm-story:nth-of-type(even):before{left:-40px}
.osm-node{position:absolute;top:17px;width:15px;height:15px;border-radius:50%;background:var(--osm-cat,var(--osm-violet));border:3px solid var(--osm-surface);z-index:4;transition:transform .18s ease}
.osm-story:nth-of-type(odd) .osm-node{right:-69px}.osm-story:nth-of-type(even) .osm-node{left:-69px}
.osm-story:hover .osm-node{transform:scale(1.35)}
.osm-story time{font:700 12px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--osm-muted)}
.osm-chip{display:inline-block;margin:0 0 9px;padding:5px 9px;border-radius:999px;background:var(--osm-cat,var(--osm-violet));color:#fff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}
.osm-chip.is-amber{color:var(--osm-ink)}
.osm-story h2,.osm-lead h1{margin:.25em 0 .3em;font-weight:900;letter-spacing:-.045em;line-height:1.02}
.osm-story h2{font-size:clamp(27px,3vw,48px)}
.osm-story h2 a:hover{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:6px}
.osm-summary{font-size:16px;line-height:1.55;color:var(--osm-muted);margin:0 0 12px}
.osm-meta{font-size:12px;color:var(--osm-muted)}
.osm-story-media{margin:0 0 16px;aspect-ratio:16/9;overflow:hidden;background:#26212E}
.osm-story-media img{width:100%;height:100%;object-fit:cover}
.osm-lead{width:min(1280px,calc(100% - 40px));margin:10px auto 70px;position:relative;z-index:3;background:var(--osm-surface)}
.osm-lead-media{aspect-ratio:16/7;overflow:hidden;background:#26212E}
.osm-lead-media img{width:100%;height:100%;object-fit:cover}
.osm-lead-copy{max-width:1050px;margin:22px auto 0;text-align:center;padding:0 20px}
.osm-lead h1{font-size:clamp(42px,6vw,88px)}
.osm-lead .osm-summary{font-size:clamp(18px,2vw,24px);max-width:850px;margin-inline:auto}
.osm-lead-node{width:22px;height:22px;border-radius:50%;background:var(--osm-amber);border:4px solid var(--osm-surface);position:absolute;left:50%;bottom:-52px;transform:translateX(-50%);z-index:5}
.osm-cluster{position:relative;width:min(1180px,calc(100% - 40px));margin:82px auto;display:grid;grid-template-columns:1fr 1fr;gap:22px 90px;z-index:3;background:var(--osm-surface);padding-block:20px}
.osm-cluster-title{grid-column:1/-1;text-align:center;margin:0;font-size:13px;text-transform:uppercase;letter-spacing:.14em}
.osm-cluster:before{content:"";position:absolute;left:50%;top:-18px;bottom:-18px;width:7px;background:var(--osm-cat,var(--osm-mint));transform:translateX(-50%)}
.osm-cluster:after{content:"";position:absolute;left:50%;top:-32px;width:28px;height:28px;border-radius:50%;background:var(--osm-cat,var(--osm-mint));transform:translateX(-50%);border:5px solid var(--osm-surface)}
.osm-cluster article{padding:16px 0}
.osm-cluster article:nth-of-type(odd){text-align:right}
.osm-cluster h3{font-size:clamp(20px,2.3vw,31px);line-height:1.05;margin:6px 0}
.osm-numbers{width:min(1180px,calc(100% - 40px));margin:80px auto;background:var(--osm-amber);color:var(--osm-ink);position:relative;z-index:3;padding:30px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.osm-numbers:before{content:"";position:absolute;left:50%;top:-17px;width:20px;height:20px;border-radius:50%;background:var(--osm-amber);transform:translateX(-50%)}
.osm-number strong{display:block;font:900 clamp(26px,4vw,50px)/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.osm-number span{font-size:12px;font-weight:800;text-transform:uppercase}
.osm-ad{min-height:250px;background:var(--osm-ink);color:var(--osm-bone);display:grid;place-items:center;margin:46px auto;width:min(900px,calc(100% - 40px))}
.osm-ad:empty{display:none;min-height:0;margin:0}
.osm-earlier{display:block;width:max-content;margin:50px auto 0;border:2px solid var(--osm-violet);padding:12px 18px;border-radius:999px;font-weight:900}
.osm-earlier:before{content:"";display:inline-block;width:11px;height:11px;border-radius:50%;background:var(--osm-violet);margin-right:10px}
.osm-article-shell{width:min(calc(100% - 40px),var(--osm-max));margin:0 auto;display:grid;grid-template-columns:180px minmax(0,var(--osm-content)) 180px;gap:34px;justify-content:center;padding:54px 0 90px}
.osm-article-main{min-width:0}
.osm-article-head{margin-bottom:26px}
.osm-breadcrumbs{font-size:13px;color:var(--osm-muted);margin-bottom:18px}
.osm-article-head h1{font-size:clamp(38px,5vw,68px);line-height:1.02;letter-spacing:-.045em;margin:12px 0 16px}
.osm-article-dek{font-size:21px;line-height:1.5;color:var(--osm-muted)}
.osm-byline{display:flex;gap:12px;flex-wrap:wrap;font-size:13px;margin:15px 0}
.osm-hero{width:min(630px,calc(100vw - 48px));margin:28px auto 0;transform:none;aspect-ratio:16/8;overflow:hidden;background:#26212E}
.osm-hero img{width:100%;height:100%;object-fit:cover}
.osm-entry{font-size:19px;line-height:1.7}
.osm-entry p{margin:0 0 1.4em}
.osm-entry h2{font-size:clamp(29px,3.2vw,44px);line-height:1.12;margin:2.2em 0 .65em;scroll-margin-top:90px}
.osm-entry h3{font-size:26px;margin:1.8em 0 .6em}
.osm-entry a{text-decoration:underline;text-decoration-color:var(--osm-violet);text-decoration-thickness:2px;text-underline-offset:3px}
.osm-entry .alignwide,.osm-entry figure.alignwide,.osm-entry table,.osm-wide,.osm-entry blockquote{
 width:min(var(--osm-breakout),calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)
}
.osm-entry .alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}
.osm-entry blockquote{border-left:5px solid var(--osm-amber);padding:16px 26px;font-size:28px;line-height:1.35;background:rgba(255,176,32,.10)}
.osm-entry table{border-collapse:collapse;background:rgba(91,43,224,.07);margin-top:28px;margin-bottom:28px}
.osm-entry th,.osm-entry td{padding:12px 14px;border-bottom:1px solid var(--osm-line);text-align:left}
.osm-entry td:last-child,.osm-entry th:last-child{text-align:right;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.osm-keypoints{width:100%;background:rgba(23,195,178,.11);border-left:5px solid var(--osm-mint);padding:20px 24px;margin:22px 0 30px}
.osm-keypoints strong{display:block;margin-bottom:6px}
.osm-article-spine{position:sticky;top:88px;align-self:start;height:calc(100vh - 120px);padding-left:24px}
.osm-progress-track{position:absolute;left:8px;top:0;bottom:0;width:3px;background:var(--osm-line)}
.osm-progress-fill{position:absolute;left:0;top:0;width:100%;height:0;background:var(--osm-violet)}
.osm-toc{list-style:none;margin:0;padding:0;font-size:12px}
.osm-toc li{position:relative;margin:0 0 14px}
.osm-toc a{display:block;padding-left:10px}
.osm-toc li:before{content:"";position:absolute;left:-22px;top:5px;width:9px;height:9px;border-radius:50%;background:var(--osm-surface);border:2px solid var(--osm-violet);z-index:2}
.osm-toc li.is-active:before{background:var(--osm-amber);border-color:var(--osm-amber)}
.osm-marginalia{position:sticky;top:88px;align-self:start;font-size:13px}
.osm-marginalia dl{margin:0}.osm-marginalia dt{font-weight:900;margin-top:16px}.osm-marginalia dd{margin:3px 0;color:var(--osm-muted)}
.osm-author-box{display:grid;grid-template-columns:80px 1fr;gap:18px;border-top:1px solid var(--osm-line);padding-top:26px;margin-top:50px}
.osm-author-box img{border-radius:50%;width:80px;height:80px;object-fit:cover}
.osm-related{margin-top:70px}
.osm-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.osm-related article{border-top:3px solid var(--osm-violet);padding-top:12px}
.osm-related h3{font-size:21px;line-height:1.15;margin:8px 0}
.osm-page-hero,.osm-archive-hero{padding:70px 20px 30px;text-align:center}
.osm-page-hero h1,.osm-archive-hero h1{font-size:clamp(44px,7vw,94px);letter-spacing:-.05em;line-height:.95;margin:0}
.osm-archive-hero p{max-width:760px;margin:18px auto;color:var(--osm-muted)}
.osm-broken{min-height:70vh;display:grid;place-items:center;text-align:center}
.osm-broken-node{width:56px;height:56px;border-radius:50%;border:6px dashed var(--osm-rose);margin:0 auto 20px}
.osm-site-footer{background:var(--osm-ink);color:var(--osm-bone);padding:58px 0 24px;position:relative}
.osm-site-footer:before{content:"";position:absolute;left:50%;top:-32px;height:32px;width:3px;background:var(--osm-violet)}
.osm-terminal-node{width:18px;height:18px;border-radius:50%;background:var(--osm-violet);margin:-67px auto 46px;border:4px solid var(--osm-ink)}
.osm-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:30px}
.osm-footer-grid h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:#BDB7C7}
.osm-footer-grid ul{list-style:none;padding:0;margin:0}
.osm-footer-grid li{margin:7px 0}
.osm-footer-brand img{height:46px;width:auto}
.osm-footer-bottom{border-top:1px solid #37323F;margin-top:40px;padding-top:20px;font-size:12px;color:#BDB7C7}
@media(max-width:1199px){
 .osm-article-shell{grid-template-columns:minmax(0,1fr);width:min(90%,1000px)}
 .osm-article-spine,.osm-marginalia{display:none}
 .osm-entry{font-size:19px}
}
@media(max-width:900px){
 .osm-header-inner{grid-template-columns:1fr auto}
 .osm-nav{display:none}.osm-brand{min-width:0;max-width:260px}.osm-brand .osm-logo{height:38px}
 .osm-header-inner:after{left:16px}
 .osm-timeline:before{left:16px;transform:none}
 .osm-now{margin-left:0;margin-right:auto}
 .osm-now:after{left:16px;transform:translateX(-50%)}
 .osm-story,.osm-story:nth-of-type(even),.osm-story:nth-of-type(odd){width:auto;margin:0 0 48px 54px}
 .osm-story:before,.osm-story:nth-of-type(odd):before,.osm-story:nth-of-type(even):before{left:-38px;right:auto;width:38px}
 .osm-story .osm-node,.osm-story:nth-of-type(odd) .osm-node,.osm-story:nth-of-type(even) .osm-node{left:-45px;right:auto;width:12px;height:12px;top:18px}
 .osm-lead{margin-left:38px;width:calc(100% - 58px)}
 .osm-lead-node{left:-22px;bottom:18px}
 .osm-day{text-align:left;padding-left:52px}.osm-day span{padding-left:0}
 .osm-day:before{left:16px}
 .osm-cluster{margin-left:54px;width:calc(100% - 74px);grid-template-columns:1fr;gap:0}
 .osm-cluster:before{left:-38px;transform:none}.osm-cluster:after{left:-49px;transform:none}
 .osm-cluster-title{text-align:left}.osm-cluster article:nth-of-type(odd){text-align:left}
 .osm-numbers{margin-left:54px;width:calc(100% - 74px);grid-template-columns:1fr 1fr}
 .osm-numbers:before{left:-44px;transform:none}
}
@media(max-width:640px){
 .osm-container{width:min(calc(100% - 32px),var(--osm-max))}
 .osm-header-inner{gap:8px}.osm-actions{gap:4px}
 .osm-lead h1{font-size:38px}.osm-lead-copy{padding:0}
 .osm-story h2{font-size:30px}.osm-summary{font-size:15px}
 .osm-numbers{grid-template-columns:1fr}
 .osm-article-shell{width:calc(100% - 40px);padding-top:34px}
 .osm-entry{font-size:17px;line-height:1.7}.osm-article-dek{font-size:18px}
 .osm-entry .alignwide,.osm-entry figure.alignwide,.osm-entry table,.osm-wide,.osm-entry blockquote{width:calc(100vw - 24px)}
 .osm-hero{width:min(630px,calc(100vw - 48px));margin-left:auto;margin-right:auto;transform:none}
 .osm-related-grid,.osm-footer-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}.osm-site-header,.osm-timeline:before,.osm-node{transition:none!important}
 .osm-story:hover .osm-node{transform:none}
}
