/*
Theme Name: PNGeans
Theme URI: https://pngeans.com
Author: PNGeans
Description: A modern, interactive business and startup magazine theme for PNGeans. Works with the PNGeans Toolkit plugin for subscriptions, newsletters, the reader assistant and the daily article writer.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pngeans
*/

:root{
	--ink:#141414; --paper:#f7f4ed; --card:#ffffff; --muted:#5d5a55; --line:#e2dccf;
	--red:#c8102e; --red-d:#a00c24; --gold:#f6b900; --night:#111111; --on-night:#f7f4ed;
	--tint:#efe9dc; --link:#a00c24;
	--head:"Archivo","Arial Narrow",Arial,sans-serif;
	--body:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
	--wrap:1180px; --r:10px;
}
@media (prefers-color-scheme:dark){
	:root:not([data-theme="light"]){--ink:#f2efe8;--paper:#131312;--card:#1d1c1a;--muted:#b3aea4;--line:#34322e;--tint:#1a1917;--link:#ffcf3d;--night:#000000}
}
:root[data-theme="dark"]{--ink:#f2efe8;--paper:#131312;--card:#1d1c1a;--muted:#b3aea4;--line:#34322e;--tint:#1a1917;--link:#ffcf3d;--night:#000000}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.6;overflow-x:hidden}
body.no-scroll{overflow:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
h1,h2,h3,h4{font-family:var(--head);line-height:1.12;letter-spacing:-.015em;margin:0 0 .5em;text-wrap:balance}
p{margin:0 0 1em}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 20px}
.wrap--narrow{max-width:780px}
.center{text-align:center;margin-top:34px}
.skip-link{position:absolute;left:-9999px;top:8px;background:var(--gold);color:#111;padding:8px 14px;z-index:1000;font-weight:700}
.skip-link:focus{left:8px}
.screen-reader-text{position:absolute;left:-9999px}
.admin-hint{font-size:14px;padding:8px 12px;border:1px dashed var(--gold);border-radius:6px}

/* Buttons and labels */
.btn{display:inline-block;padding:13px 24px;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:16px;cursor:pointer;transition:transform .15s,background .15s}
.btn:hover{transform:translateY(-2px)}
.btn--red{background:var(--red);color:#fff}.btn--red:hover{background:var(--red-d)}
.btn--dark{background:var(--ink);color:var(--paper)}
.btn--line{border-color:var(--ink);color:var(--ink)}
.btn--sm{padding:8px 16px;font-size:15px}
.kicker{font-family:var(--head);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px;color:var(--red);margin:0 0 14px}
:root[data-theme="dark"] .kicker{color:var(--gold)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .kicker{color:var(--gold)}}
.kicker--gold{color:var(--gold)!important}
.tag{display:inline-block;font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;color:var(--link);margin-bottom:10px}
.tag:hover{text-decoration:underline}
.tag--gold{background:var(--gold);color:#111;padding:4px 10px;border-radius:3px}
.meta{font-size:14px;color:var(--muted);margin:0}
.label{font-family:var(--head);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}

/* Header */
.progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:200;pointer-events:none}
.progress span{display:block;height:100%;width:0;background:var(--red)}
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line);transition:box-shadow .2s}
.site-header.is-stuck{box-shadow:0 6px 24px rgba(0,0,0,.09)}
.site-header__in{display:flex;align-items:center;gap:24px;min-height:68px}
.brand__text{font-family:var(--head);font-weight:800;font-size:28px;letter-spacing:-.04em;text-decoration:none;color:var(--ink)}
.brand__text span{background:var(--red);color:#fff;padding:1px 7px 2px;border-radius:5px;margin-right:2px}
.custom-logo{max-height:46px;width:auto}
.nav{flex:1}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;flex-wrap:wrap}
.nav li{position:relative}
.nav a{display:block;padding:8px 12px;color:var(--ink);text-decoration:none;font-weight:600;font-size:16px;border-radius:6px}
.nav a:hover,.nav .current-menu-item>a{background:var(--tint);color:var(--link)}
.nav ul ul{display:none;position:absolute;top:100%;left:0;min-width:210px;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px;box-shadow:0 12px 30px rgba(0,0,0,.14)}
.nav li:hover>ul,.nav li:focus-within>ul{display:flex}
.tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.icon-btn{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer;font-size:18px}
.icon-btn:hover{background:var(--tint)}
.nav-toggle{display:none}

/* Search layer */
.search-layer{position:fixed;inset:0;z-index:300;background:rgba(10,10,10,.72);padding:12vh 16px 0;backdrop-filter:blur(3px)}
.search-layer[hidden]{display:none}
.search-layer__box{max-width:680px;margin:0 auto;background:var(--card);border-radius:14px;padding:16px;box-shadow:0 30px 80px rgba(0,0,0,.4)}
.search-layer form{display:flex;gap:8px;align-items:center}
.search-layer input{flex:1;min-width:0;font:inherit;font-size:20px;padding:14px 16px;border:2px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink)}
.search-layer__results{list-style:none;margin:10px 0 0;padding:0}
.search-layer__results a{display:block;padding:11px 12px;border-radius:8px;color:var(--ink);text-decoration:none;font-weight:600}
.search-layer__results a:hover,.search-layer__results a:focus{background:var(--tint);color:var(--link)}
.search-layer__results .is-empty{padding:11px 12px;color:var(--muted)}
.search-layer__hint{font-size:13px;color:var(--muted);margin:8px 12px 2px}

/* Hero */
.hero{background:var(--night);color:var(--on-night);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;right:-12%;top:-45%;width:60%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(200,16,46,.55),rgba(200,16,46,0));pointer-events:none}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--red) 0 50%,var(--gold) 50% 100%)}
.hero__in{position:relative;display:grid;grid-template-columns:1.25fr .9fr;gap:56px;padding-top:72px;padding-bottom:76px;align-items:center}
.hero .kicker{color:var(--gold)}
.hero h1{font-size:clamp(38px,5.6vw,72px);font-weight:800;letter-spacing:-.035em;line-height:1.02;margin-bottom:22px}
.hero__text{font-size:20px;color:#d8d3c8;max-width:56ch;margin-bottom:28px}
.hero__sub .pngeans-sub__msg.is-ok{color:#7be29a}.hero__sub .pngeans-sub__msg.is-error{color:#ff9aa8}
.stats{list-style:none;display:flex;gap:36px;margin:34px 0 0;padding:26px 0 0;border-top:1px solid rgba(255,255,255,.16);flex-wrap:wrap}
.stats strong{display:block;font-family:var(--head);font-size:34px;font-weight:800;color:var(--gold);line-height:1;font-variant-numeric:tabular-nums}
.stats span{font-size:14px;color:#bdb8ad;text-transform:uppercase;letter-spacing:.1em}
.hero__lead{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:16px;padding:28px}
.lead h2{font-size:clamp(24px,2.5vw,32px);margin-bottom:12px}
.lead h2 a,.lead-list a{color:#fff;text-decoration:none}
.lead h2 a:hover,.lead-list a:hover{color:var(--gold)}
.lead p{color:#d8d3c8;font-size:17px}
.hero .meta{color:#a9a498}
.lead-list{list-style:none;margin:22px 0 0;padding:0;counter-reset:n}
.lead-list li{counter-increment:n;position:relative;padding:14px 0 14px 44px;border-top:1px solid rgba(255,255,255,.14)}
.lead-list li::before{content:counter(n,decimal-leading-zero);position:absolute;left:0;top:14px;font-family:var(--head);font-weight:800;color:var(--gold);font-size:18px}
.lead-list a{display:block;font-family:var(--head);font-weight:700;font-size:18px;line-height:1.25}

/* Ticker */
.ticker{display:flex;align-items:stretch;background:var(--gold);color:#111;overflow:hidden}
.ticker__label{flex:0 0 auto;background:#111;color:var(--gold);font-family:var(--head);font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:12px 18px;display:flex;align-items:center}
.ticker__track{overflow:hidden;flex:1;display:flex;align-items:center}
.ticker__run{display:flex;gap:44px;white-space:nowrap;padding-left:24px;animation:tick 70s linear infinite}
.ticker:hover .ticker__run,.ticker:focus-within .ticker__run{animation-play-state:paused}
.ticker a{color:#111;text-decoration:none;font-weight:700;font-size:15px}
.ticker a:hover{text-decoration:underline}
.ticker a::before{content:"●";color:var(--red);margin-right:12px;font-size:10px;vertical-align:middle}
@keyframes tick{to{transform:translateX(-50%)}}

/* Sections, grids, cards */
.section{padding:72px 0}
.section--tint{background:var(--tint)}
.section__head{margin-bottom:28px;display:flex;align-items:baseline;gap:18px;flex-wrap:wrap}
.section__head h2{font-size:clamp(28px,3.4vw,40px);font-weight:800;margin:0;position:relative;padding-left:18px}
.section__head h2::before{content:"";position:absolute;left:0;top:.12em;bottom:.12em;width:6px;background:var(--red);border-radius:3px}
.section__head p{margin:0;color:var(--muted)}
.grid{display:grid;gap:24px}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid.is-loading{opacity:.45;pointer-events:none}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative}
.card::before{content:"";position:absolute;left:0;top:0;height:4px;width:44px;background:var(--red);transition:width .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(0,0,0,.1);border-color:transparent}
.card:hover::before{width:100%}
.card__img img{width:100%;aspect-ratio:16/10;object-fit:cover}
.card__body{padding:24px 22px 20px;display:flex;flex-direction:column;flex:1}
.card__title{font-size:21px;font-weight:700;margin-bottom:10px}
.card__title a{color:var(--ink);text-decoration:none}
.card__title a:hover{color:var(--link)}
.card__text{color:var(--muted);font-size:16px;flex:1}
.empty{color:var(--muted)}

/* Tabs */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.tab{border:1.5px solid var(--line);background:var(--card);color:var(--ink);padding:9px 16px;border-radius:999px;font-weight:700;font-size:15px;cursor:pointer;transition:background .15s,color .15s}
.tab span{font-weight:400;color:var(--muted);margin-left:4px;font-size:13px}
.tab:hover{border-color:var(--ink)}
.tab.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tab.is-active span{color:inherit;opacity:.7}

/* Chairman */
.chair{background:var(--night);color:var(--on-night);overflow:hidden}
.chair__in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:end}
.chair__photo{position:relative;padding-top:48px;align-self:end}
.chair__shape{position:absolute;left:4%;right:4%;bottom:0;top:18%;background:var(--gold);border-radius:240px 240px 0 0}
.chair__shape::after{content:"";position:absolute;right:-18px;top:34px;width:74px;height:74px;border-radius:50%;background:var(--red)}
.chair__photo img{position:relative;width:100%;max-width:440px;margin:0 auto}
.chair__copy{padding:72px 0}
.chair blockquote{margin:0 0 28px;font-family:var(--head);font-weight:600;font-size:clamp(22px,2.5vw,31px);line-height:1.3;letter-spacing:-.01em}
.chair blockquote::before{content:"“";display:block;font-size:84px;line-height:.6;color:var(--red);margin-bottom:8px}
.chair__name strong{display:block;font-family:var(--head);font-size:21px}
.chair__name span{color:#bdb8ad;font-size:15px;text-transform:uppercase;letter-spacing:.1em}

/* Subscribe band */
.subscribe{background:var(--red);color:#fff;padding:64px 0}
.subscribe--slim{padding:44px 0}
.subscribe__in{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.subscribe h2{font-size:clamp(26px,3vw,38px);font-weight:800;margin-bottom:8px}
.subscribe p{margin:0;color:#ffe3e7}
.subscribe .pngeans-sub__btn{background:#111}
.subscribe .pngeans-sub__btn:hover{background:#000}
.subscribe .pngeans-sub__msg.is-ok,.subscribe .pngeans-sub__msg.is-error{color:#fff}
.subscribe .admin-hint{color:#fff}

/* Page head, article */
.page-head{background:var(--tint);padding:56px 0 44px;border-bottom:1px solid var(--line)}
.page-head h1{font-size:clamp(32px,4.6vw,54px);font-weight:800;margin:0}
.page-head__text{color:var(--muted);max-width:70ch;margin-top:12px}
.article__head{padding:56px 0 26px}
.article__head h1{font-size:clamp(32px,4.8vw,54px);font-weight:800;letter-spacing:-.03em;margin:8px 0 16px}
.article__img{margin:0 0 30px}.article__img img{border-radius:var(--r);width:100%}
.prose{font-size:19.5px;line-height:1.72}
.prose>*{margin-top:0;margin-bottom:1.15em}
.prose h2{font-size:30px;margin-top:1.7em}
.prose h3{font-size:24px;margin-top:1.5em}
.prose h4{font-size:20px;margin-top:1.4em}
.prose a{color:var(--link);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.3em}
.prose li{margin-bottom:.45em}
.prose blockquote{margin-left:0;margin-right:0;padding:6px 0 6px 22px;border-left:5px solid var(--gold);font-size:1.08em}
.prose table{width:100%;border-collapse:collapse;font-size:16px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:9px 12px;text-align:left}
.prose th{background:var(--tint)}
.prose pre{overflow-x:auto;background:var(--tint);padding:14px;border-radius:8px;font-size:15px}
.prose hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.alignwide{margin-left:-60px;margin-right:-60px;max-width:none}
.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:36px 0 20px;padding-top:22px;border-top:1px solid var(--line);font-size:15px}
.share span{font-weight:700;margin-right:4px}
.share a,.share button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);padding:7px 14px;border-radius:999px;text-decoration:none;font-weight:600;font-size:15px;cursor:pointer}
.share a:hover,.share button:hover{border-color:var(--ink)}
.article__tags{font-size:15px;color:var(--muted)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0 64px}
.post-nav div:last-child{text-align:right}
.post-nav span{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.post-nav a{font-family:var(--head);font-weight:700;color:var(--ink);text-decoration:none;font-size:18px}
.post-nav a:hover{color:var(--link)}

/* Pagination, forms, comments */
.pagination{margin-top:44px}
.nav-links{display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.page-numbers{display:inline-block;min-width:44px;padding:9px 14px;text-align:center;border:1.5px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;font-weight:700;background:var(--card)}
.page-numbers.current,.page-numbers:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.search-form{display:flex;gap:8px;max-width:520px;margin:18px 0}
.search-form label{flex:1}
.search-field,.comments input[type=text],.comments input[type=email],.comments input[type=url],.comments textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
.search-submit,.comments .submit{font:inherit;font-weight:700;padding:12px 20px;border:0;border-radius:8px;background:var(--ink);color:var(--paper);cursor:pointer}
.comments{padding:10px 0 64px}
.comments__list{list-style:none;padding:0}
.comments__list .comment-body{padding:16px 0;border-bottom:1px solid var(--line)}
.comments__list .avatar{border-radius:50%;float:left;margin-right:12px}

/* Footer */
.site-footer{background:var(--night);color:#cfcabf;padding:56px 0 26px;font-size:16px}
.site-footer__in{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}
.site-footer .brand__text{color:#fff}
.site-footer__brand p{margin-top:10px;max-width:38ch}
.site-footer .menu{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(120px,auto));gap:8px 34px}
.site-footer a{color:#fff;text-decoration:none}
.site-footer .menu a:hover{color:var(--gold)}
.site-footer__base{margin-top:38px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);font-size:14px;color:#9e998e;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer__base p{margin:0}
.to-top{position:fixed;left:18px;bottom:18px;z-index:90;width:46px;height:46px;border-radius:50%;border:0;background:var(--ink);color:var(--paper);font-size:20px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.to-top[hidden]{display:none}

/* Motion */
.js-reveal .reveal{opacity:0;transform:translateY(18px);transition:opacity .5s,transform .5s}
.js-reveal .reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	.ticker__run{animation:none;padding:12px 16px}
	.ticker__track{overflow-x:auto}
	.ticker__run a[aria-hidden]{display:none}
	.card,.btn{transition:none}
}

/* Responsive */
@media (max-width:1000px){
	.hero__in{grid-template-columns:1fr;gap:36px;padding-top:52px;padding-bottom:56px}
	.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
	.chair__in{grid-template-columns:1fr;gap:0}
	.chair__copy{padding:52px 0 8px;order:-1}
	.chair__photo img{max-width:340px}
	.subscribe__in{grid-template-columns:1fr;gap:22px}
	.alignwide{margin-left:0;margin-right:0}
}
@media (max-width:860px){
	.nav-toggle{display:grid}
	.nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);padding:10px 16px 16px;box-shadow:0 14px 28px rgba(0,0,0,.12)}
	.nav.is-open{display:block}
	.nav ul{flex-direction:column}
	.nav ul ul{display:flex;position:static;border:0;box-shadow:none;padding:0 0 0 14px;background:none}
	.site-header__in{gap:8px}
}
@media (max-width:640px){
	body{font-size:17px}
	.wrap{padding:0 16px}
	.grid--3{grid-template-columns:1fr}
	.section{padding:48px 0}
	.tools__sub{display:none}
	.brand__text{font-size:24px}
	.stats{gap:24px}
	.stats strong{font-size:28px}
	.hero__lead{padding:20px}
	.prose{font-size:18px}
	.post-nav{grid-template-columns:1fr}
	.post-nav div:last-child{text-align:left}
	.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;margin-right:-16px}
	.tab{flex:0 0 auto}
	.ticker__label{padding:10px 12px;font-size:11px}
}
