/*
Theme Name: Khombelwayo Editorial
Author: Zeecom Technologies
Description: A photographic chapter-based portfolio with separate editorial pages and native WordPress editing.
Version: 3.2.4
Requires at least: 6.4
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: khombelwayo-editorial
*/
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap');
:root{--ink:#1b211e;--paper:#f0eee7;--muted:#69716a;--lime:#d7e6aa;--rail:82px;--admin:0px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 'DM Sans',sans-serif}body.admin-bar{--admin:32px}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}p{margin:0 0 1.5em}h1,h2,h3{font-weight:400;margin:0;line-height:1.05}h1,h2{font-family:'Libre Baskerville',Georgia,serif;letter-spacing:-.035em}.rail{position:fixed;top:var(--admin);left:0;bottom:0;width:var(--rail);display:flex;align-items:center;flex-direction:column;background:var(--paper);border-right:1px solid #1b211e20;z-index:40;padding:25px 0 20px}.monogram{font-family:'Libre Baskerville',Georgia,serif;font-size:35px;line-height:1;letter-spacing:-.12em;margin-right:5px}.monogram span{font-style:italic}.menu-toggle{margin-top:50px;background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:13px;padding:15px;color:var(--ink)}.menu-word{font-size:9px;text-transform:uppercase;letter-spacing:.14em}.menu-lines{width:23px;height:8px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.rail-word{writing-mode:vertical-rl;transform:rotate(180deg);font-size:9px;letter-spacing:.23em;margin:auto 0}.rail-contact{width:38px;height:38px;border:1px solid #1b211e50;border-radius:50%;display:grid;place-items:center;font-size:23px}.stage{margin-left:var(--rail);height:calc(100svh - var(--admin));min-height:740px;position:relative;isolation:isolate;background:#242e29;color:#fff;overflow:hidden}.stage-photo,.stage-shade{position:absolute;inset:0;z-index:-2}.stage-photo img{width:100%;height:100%;object-fit:cover;object-position:65% center;transition:opacity .3s}.stage-shade{z-index:-1;background:linear-gradient(90deg,#0b1a16b8 0%,#0b171357 55%,#0b171321 100%),linear-gradient(0deg,#07110ee6 0%,transparent 55%,#07110e61 100%)}.stage-top{position:absolute;top:38px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:25px;font-size:10px}.stage-top>a{line-height:1.5;letter-spacing:.12em;font-weight:600}.stage-top>div{display:flex;gap:30px;font-size:12px}.stage-top>div a:last-child{border-bottom:1px solid #ffffff80;padding-bottom:6px}.stage-content{position:absolute;left:7%;bottom:215px;max-width:850px}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:600;margin-bottom:23px}.stage h1{font-size:clamp(72px,8.5vw,135px);line-height:.88;letter-spacing:-.04em;margin-bottom:30px;text-shadow:0 2px 40px #0002}.stage h1 em{font-weight:400;color:var(--lime)}#stage-description{font-size:15px;line-height:1.65;max-width:420px;color:#f0f2ed;margin-bottom:25px}.round-link{display:inline-flex;align-items:center;gap:15px;font-size:11px;letter-spacing:.02em}.round-arrow{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:25px;transition:transform .25s}.round-link:hover .round-arrow{transform:rotate(45deg)}.stage-index{position:absolute;right:5%;bottom:240px;display:flex;gap:10px;align-items:baseline}.stage-index>span{font-family:'Libre Baskerville',Georgia,serif;font-size:70px;line-height:1}.stage-index small{font-size:12px;color:#dbe0d9}.chapter-dock{position:absolute;bottom:0;left:5%;right:5%;border-top:1px solid #ffffff60;padding:20px 0 28px}.chapter-dock>p{font-size:8px;letter-spacing:.15em;display:flex;justify-content:space-between;margin-bottom:22px;color:#e1e6df}.chapter-dock>p>span{font-size:16px}.chapter-buttons{display:grid;grid-template-columns:repeat(4,1fr)}.chapter-button{display:flex;align-items:center;gap:15px;text-align:left;background:none;color:white;border:0;border-right:1px solid #ffffff40;padding:10px 22px;min-height:65px;position:relative;transition:background .25s}.chapter-button:first-child{padding-left:0}.chapter-button:last-child{border:0}.chapter-number{font-size:10px;color:var(--lime);align-self:start;margin-top:5px}.chapter-button>span:nth-child(2){font-family:'Libre Baskerville',Georgia,serif;font-size:28px;line-height:1}.chapter-arrow{margin-left:auto;font-size:20px;color:#d9dfd5}.chapter-button:hover,.chapter-button[aria-pressed=true]{background:#d7e6aa1a}.chapter-button[aria-pressed=true]:after{content:'';position:absolute;bottom:-10px;left:22px;right:22px;height:2px;background:var(--lime)}.chapter-button:first-child[aria-pressed=true]:after{left:0}.menu-overlay{position:fixed;inset:var(--admin) 0 0 var(--rail);z-index:35;background:var(--ink);color:var(--paper);padding:45px 8%;overflow:auto}.menu-overlay[hidden]{display:none}.menu-head{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.15em;border-bottom:1px solid #ffffff30;padding-bottom:25px}.menu-close{background:none;color:inherit;border:0;font-size:12px;padding:10px}.menu-links{display:grid;grid-template-columns:1fr 1fr;gap:0 70px;margin:35px 0}.menu-links a{font-family:'Libre Baskerville',Georgia,serif;font-size:clamp(28px,3.5vw,54px);padding:25px 0;border-bottom:1px solid #ffffff30;display:flex;align-items:center;gap:20px}.menu-links small{font:9px 'DM Sans',sans-serif;color:var(--lime);align-self:start;margin-top:10px}.menu-links a>span{margin-left:auto;font:22px 'DM Sans',sans-serif}.menu-links a:hover{color:var(--lime)}.menu-journal{font-size:13px;border-bottom:1px solid white;padding-bottom:6px}.menu-open{overflow:hidden}.chapter-layout{margin-left:var(--rail);display:grid;grid-template-columns:42% 58%;align-items:start}.chapter-cover{position:sticky;top:var(--admin);height:calc(100svh - var(--admin));min-height:680px;color:white;isolation:isolate;overflow:hidden}.chapter-cover>img,.cover-shade{position:absolute;width:100%;height:100%;inset:0;object-fit:cover;z-index:-2}.cover-shade{z-index:-1;background:linear-gradient(0deg,#081710ed 0%,#08171044 65%,#08171050 100%)}.back-home{position:absolute;top:40px;left:9%;font-size:9px;letter-spacing:.14em}.cover-copy{position:absolute;bottom:65px;left:9%;right:9%}.cover-copy h1{font-size:clamp(50px,5.2vw,86px);line-height:.95;margin-bottom:25px}.cover-copy>p:last-child{font-size:13px;line-height:1.7;max-width:350px;margin:0;color:#e2e7de}.chapter-body{padding:40px 11% 60px;min-width:0}.article-top{font-size:8px;letter-spacing:.12em;color:var(--muted);display:flex;justify-content:space-between;gap:20px;padding-bottom:30px;border-bottom:1px solid #1b211e30;margin-bottom:55px}.chapter-body .kicker{font-size:9px;letter-spacing:.12em;margin-bottom:20px;color:var(--muted)}.chapter-body h2{font-size:clamp(35px,3.4vw,55px);margin:50px 0 25px}.chapter-body .kicker+h2{margin-top:0}.chapter-body p{font-size:14px;color:#586057;line-height:1.85}.chapter-body p.lede{font-size:20px;line-height:1.6;color:var(--ink)}.chapter-body p strong{color:var(--ink);font-weight:600}.chapter-body figure{margin:40px 0}.chapter-body figure img{width:100%;height:auto}.chapter-body figcaption{font-size:10px;color:var(--muted);margin-top:12px}.chapter-body blockquote{margin:45px 0;padding:32px 0;border-top:1px solid #1b211e30;border-bottom:1px solid #1b211e30}.chapter-body blockquote p{font-family:'Libre Baskerville',Georgia,serif;font-size:36px;line-height:1.2;color:var(--ink);margin:0;letter-spacing:-.025em}.editorial-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:40px 0;border-top:1px solid #1b211e30;border-bottom:1px solid #1b211e30;padding:25px 0}.editorial-stats p{font-size:9px;margin:0;line-height:1.5}.editorial-stats strong{font-family:'Libre Baskerville',Georgia,serif;font-size:44px;font-weight:400!important;line-height:1.2}.chapter-body p.source-note{font-size:11px;color:var(--muted)}.editorial-link a{display:inline-block;color:var(--ink);border-bottom:1px solid #69716a;font-size:12px;margin-top:10px}.next-chapter{border-top:1px solid #1b211e30;margin-top:55px;padding-top:25px}.next-chapter>span{font-size:8px;letter-spacing:.12em;color:var(--muted)}.next-chapter>a{display:flex;justify-content:space-between;align-items:center;font:36px 'Libre Baskerville',Georgia,serif;margin-top:10px}.next-chapter b{font:22px 'DM Sans',sans-serif}.contact-label{font-size:9px;letter-spacing:.15em;color:var(--muted)}.chapter-body .contact-row{padding:25px 0;border-bottom:1px solid #1b211e30;margin:0}.contact-row a{font-size:clamp(13px,1.6vw,21px);color:var(--ink);overflow-wrap:anywhere}.page-footer{margin-left:var(--rail);display:flex;align-items:center;justify-content:space-between;padding:25px 5%;gap:25px;background:var(--ink);color:var(--paper);font-size:10px}.page-footer>span{color:#c2c9bf}.plain-page{margin-left:var(--rail);padding:60px 10%;min-height:85svh}.plain-page h1{font-size:80px;margin:25px 0 45px}.plain-page h2{font-size:40px;margin:30px 0}.plain-page .article-top{max-width:1000px}.post-content{max-width:700px}.post-content p{font-size:16px}.journal-list{max-width:1000px}.journal-entry{border-top:1px solid #1b211e30;padding:30px 0;display:grid;grid-template-columns:120px 1fr;gap:30px}.journal-entry>small{font-size:10px;color:var(--muted)}.journal-entry h2{margin:0 0 15px}.journal-entry p{font-size:14px;color:var(--muted)}.skip{position:fixed;left:100px;top:-80px;z-index:100;background:var(--lime);padding:12px}.skip:focus{top:45px}a:focus-visible,button:focus-visible{outline:2px solid #8fa653;outline-offset:5px}.stage a:focus-visible,.stage button:focus-visible{outline-color:var(--lime)}
@media(max-width:1100px){:root{--rail:68px}.stage{min-height:730px}.stage h1{font-size:100px}.stage-content{left:6%;bottom:220px}.chapter-button{padding:10px 15px;gap:10px}.chapter-button>span:nth-child(2){font-size:23px}.chapter-body{padding-left:8%;padding-right:8%}.chapter-cover{min-height:650px}.editorial-stats strong{font-size:37px}.menu-links{gap:0 40px}}
@media(max-width:782px){body.admin-bar{--admin:46px}}
@media(max-width:760px){:root{--rail:0px}.rail{height:64px;width:100%;bottom:auto;top:var(--admin);flex-direction:row;padding:0 6%;justify-content:space-between;border-right:0;border-bottom:1px solid #1b211e30}.monogram{font-size:30px}.rail-word{writing-mode:horizontal-tb;transform:none;margin:0;font-size:7px;letter-spacing:.1em;order:2}.menu-toggle{margin:0;flex-direction:row;gap:10px;padding:15px 0;order:3}.menu-word{font-size:8px}.rail-contact{display:none}.stage{margin-top:64px;height:calc(100svh - var(--admin) - 64px);min-height:740px}.stage-photo img{object-position:62% center}.stage-shade{background:linear-gradient(0deg,#07110ef2 0%,#0b1a1670 60%,#07110e40 100%)}.stage-top{top:25px;left:6%;right:6%;font-size:8px}.stage-top>div{gap:14px;font-size:10px}.stage-top>div a:nth-child(1),.stage-top>div a:nth-child(2){display:none}.stage-content{left:7%;right:6%;bottom:255px;max-width:none}.stage .eyebrow{font-size:7px;margin-bottom:20px}.stage h1{font-size:clamp(58px,15vw,90px);margin-bottom:22px;line-height:.94}#stage-description{font-size:12px;line-height:1.6;max-width:300px}.round-link{font-size:10px;gap:12px}.round-arrow{height:36px;width:36px;font-size:22px}.stage-index{right:6%;bottom:228px;gap:6px}.stage-index>span{font-size:30px}.stage-index small{font-size:9px}.chapter-dock{left:6%;right:6%;padding:15px 0 20px}.chapter-dock>p{font-size:7px;margin-bottom:10px}.chapter-buttons{grid-template-columns:1fr 1fr}.chapter-button{padding:15px 10px;min-height:70px;border:0;border-bottom:1px solid #ffffff30}.chapter-button:first-child{padding-left:10px}.chapter-button:nth-child(odd){border-right:1px solid #ffffff30}.chapter-button:nth-child(3),.chapter-button:nth-child(4){border-bottom:0}.chapter-button>span:nth-child(2){font-size:23px}.chapter-number{font-size:8px;margin-top:0}.chapter-arrow{font-size:17px}.chapter-button[aria-pressed=true]:after{bottom:0;left:10px;right:10px}.chapter-button:first-child[aria-pressed=true]:after{left:10px}.menu-overlay{inset:calc(var(--admin) + 64px) 0 0;padding:25px 7%}.menu-head{font-size:8px;padding-bottom:15px}.menu-links{grid-template-columns:1fr;gap:0;margin:20px 0}.menu-links a{font-size:34px;padding:12px 0}.menu-links small{font-size:8px;margin-top:5px}.chapter-layout{display:block;margin-top:64px}.chapter-cover{position:relative;top:0;height:580px;min-height:0}.back-home{top:25px;left:7%;font-size:8px}.cover-copy{bottom:40px;left:7%;right:7%}.cover-copy h1{font-size:63px}.cover-copy .eyebrow{font-size:8px}.cover-copy>p:last-child{font-size:12px;max-width:310px}.chapter-body{padding:30px 7% 45px}.article-top{font-size:7px;margin-bottom:35px;padding-bottom:20px}.chapter-body h2{font-size:42px;margin-top:40px}.chapter-body p{font-size:14px}.chapter-body p.lede{font-size:19px}.chapter-body blockquote p{font-size:33px}.editorial-stats{gap:10px}.editorial-stats strong{font-size:39px}.editorial-stats p{font-size:9px}.page-footer{flex-wrap:wrap;padding:25px 7%;font-size:9px;gap:15px}.page-footer>span{order:3;width:100%}.contact-row a{font-size:16px}.plain-page{margin-top:64px;padding:35px 7%}.plain-page h1{font-size:60px}.plain-page h2{font-size:34px}.journal-entry{grid-template-columns:1fr;gap:12px}.skip{left:10px}.menu-open .rail{top:var(--admin)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Preserve the three-column figures with classic WordPress group wrappers. */
.editorial-stats > .wp-block-group__inner-container{display:contents}

.stage-photo.portrait-mode{background:#0759a7}.stage-photo.portrait-mode img{width:68%;margin-left:auto;object-fit:contain;object-position:right center}
@media(max-width:760px){.stage-photo.portrait-mode img{width:100%;height:76%;object-fit:cover;object-position:center 28%}}

/* Stronger, more open serif headings, balanced against DM Sans body text. */
.stage h1{font-size:clamp(60px,6.3vw,100px);line-height:1.12;letter-spacing:-.055em}
.chapter-button>span:nth-child(2){font-size:20px;line-height:1.3}.cover-copy h1{font-size:clamp(38px,3.7vw,62px);line-height:1.15}.chapter-body h2{font-size:clamp(30px,2.7vw,43px);line-height:1.25}.chapter-body blockquote p{font-size:29px;line-height:1.5}.menu-links a{font-size:clamp(25px,3vw,42px)}
.wp-block-gallery.chapter-gallery{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:30px 0 45px}
.wp-block-gallery.chapter-gallery>.wp-block-image{width:auto!important;margin:0!important;display:block!important;position:relative}
.chapter-gallery .wp-block-image a{display:block;overflow:hidden;background:#d9dfd8;border-radius:3px}
.chapter-gallery .wp-block-image img{width:100%;height:240px;object-fit:cover;transition:transform .25s}
.chapter-gallery .wp-block-image a:hover img{transform:scale(1.035)}
.wp-block-gallery.chapter-gallery .wp-block-image figcaption{position:static!important;background:none!important;color:var(--muted)!important;max-height:none!important;padding:10px 0!important;font:11px/1.6 'DM Sans',sans-serif!important;text-align:left}
.gallery-viewer{border:0;padding:0;background:#101815;color:white;width:min(1100px,94vw);max-width:94vw;max-height:94svh;overflow:auto;border-radius:6px}.gallery-viewer::backdrop{background:#08100eef}.viewer-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;font-size:12px}.gallery-viewer button{background:transparent;color:white;border:1px solid #ffffff70;padding:9px 14px;border-radius:3px;font:13px 'DM Sans',sans-serif;min-height:44px}.viewer-image{width:100%;height:65svh;object-fit:contain}.viewer-bottom{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}.viewer-caption{margin:0;font-size:13px;line-height:1.5}.viewer-controls{display:flex;gap:8px}.gallery-viewer button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(max-width:760px){.stage h1{font-size:clamp(36px,10.5vw,65px);line-height:1.18}.chapter-button>span:nth-child(2){font-size:17px}.cover-copy h1{font-size:40px}.chapter-body h2{font-size:30px}.menu-links a{font-size:27px}.chapter-gallery .wp-block-image img{height:165px}.wp-block-gallery.chapter-gallery{gap:12px}.viewer-image{height:57svh}.viewer-bottom{flex-wrap:wrap}.viewer-caption{width:100%}}
@media(prefers-reduced-motion:reduce){.chapter-gallery .wp-block-image img{transition:none}}

/* Supplied logo artwork, framed to remove transparent canvas padding without altering files. */
.brand-image{display:block;position:relative;overflow:hidden;flex-shrink:0}.brand-image img{position:absolute;max-width:none;object-fit:fill}
.brand-signature{width:240px;aspect-ratio:1701/530}.brand-signature img{width:104.2916%;height:167.3585%;left:-2.234%;top:-36.7925%}
.brand-circular{width:64px;aspect-ratio:827/732}.brand-circular img{width:151.6324%;height:171.3115%;left:-20.9189%;top:-32.1038%}
.rail .monogram{margin:0;display:block}.rail .monogram>.brand-signature{display:none}.rail .monogram>.brand-circular{width:64px}
.stage-top>a.stage-brand{background:var(--paper);padding:14px 20px;border-radius:2px}.stage-brand .brand-signature{width:215px}
.menu-head{gap:25px}.menu-brand{display:block;background:var(--paper);padding:14px;border-radius:2px}.menu-brand .brand-circular{width:95px}.menu-close{margin-left:auto}.footer-brand{display:block}.footer-brand .brand-signature{width:230px}
@media(max-width:1100px) and (min-width:761px){.rail .monogram>.brand-circular{width:55px}}
@media(max-width:760px){.rail .monogram>.brand-circular{display:none}.rail .monogram>.brand-signature{display:block;width:145px}.rail-word{display:none}.stage-top>a.stage-brand{display:none}.stage-top{justify-content:flex-end}.menu-brand .brand-circular{width:65px}.menu-head{gap:14px}.menu-head>span{max-width:100px}.footer-brand .brand-signature{width:205px}.page-footer{align-items:center}}
/* White signature on the dark footer; preserve the supplied transparent artwork. */
.page-footer .brand-signature img{filter:brightness(0) invert(1)}
/* Transparent branding: adapt the artwork colour, never add a panel. */
.stage-top>a.stage-brand,.menu-brand{background:transparent;padding:0;border-radius:0}
.stage-brand .brand-signature img,.menu-brand .brand-circular img{filter:brightness(0) invert(1)}

/* WordPress post featured images, independent of chapter cover photographs. */
.journal-featured{display:block;margin:0 0 24px;overflow:hidden}
.journal-featured-image{display:block;width:100%;height:auto;max-height:460px;object-fit:contain;object-position:left center}
.post-featured{margin:32px 0 42px;max-width:1000px}
.post-featured-image{display:block;width:auto;max-width:100%;height:auto;max-height:75vh;object-fit:contain;object-position:left center}
.post-featured figcaption{margin-top:12px;color:var(--muted);font-size:12px;line-height:1.6}
@media(max-width:760px){.journal-featured{margin-bottom:18px}.post-featured{margin:24px 0 30px}.post-featured-image{max-height:none}}

/* Social links inherit the light or dark section's text colour. */
.social-links{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
.social-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px}
.social-links svg{width:19px;height:19px;fill:currentColor;flex-shrink:0}
.social-links a:hover span{text-decoration:underline;text-underline-offset:4px}
.page-footer{flex-wrap:wrap}
.contact-social{margin-top:40px}
.contact-social h2{font-size:32px;margin-bottom:18px}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
