/*
Theme Name: Joseph Opare
Version: 1.0.0
Author: Joseph Opare
Description: Editorial theme for Dr Joseph Opare.
*/

#jo-homepage{--jo-ink:#101214;--jo-paper:#f0eee8;--jo-accent:#c3af87;background:var(--jo-ink);color:var(--jo-paper);font:14px/1.6 Arial,sans-serif;overflow:hidden}#jo-homepage *{box-sizing:border-box}#jo-homepage a{color:inherit;text-decoration:none}#jo-homepage h1,#jo-homepage h2,#jo-homepage h3,#jo-homepage p{margin:0}#jo-homepage h1,#jo-homepage h2{font-family:Georgia,serif;font-weight:400;line-height:1.08}#jo-homepage header{display:flex;align-items:center;justify-content:space-between;padding:20px 6%;border-bottom:1px solid #ffffff20;gap:28px}#jo-homepage .jo-logo{width:63px;height:52px;object-fit:contain}#jo-homepage nav{display:flex;flex-wrap:wrap;gap:24px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase}#jo-homepage nav a:hover{color:var(--jo-accent)}#jo-homepage .hero{position:relative;min-height:540px;display:flex;align-items:center;padding:65px 6%}#jo-homepage .backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}#jo-homepage .hero-copy{position:relative;width:47%;z-index:1}#jo-homepage .eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--jo-accent);margin-bottom:18px}#jo-homepage h1{font-size:clamp(46px,6.5vw,78px);letter-spacing:-2px;margin-bottom:23px}#jo-homepage .roles{font-size:11px;line-height:1.8;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:18px}#jo-homepage .lede{color:#c8c7c3;max-width:345px;font-size:14px}#jo-homepage .actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}#jo-homepage .action{padding:12px 18px;border:1px solid #b9b7b2;font-size:10px;text-transform:uppercase;letter-spacing:1.4px}#jo-homepage .action.primary{background:var(--jo-paper);color:var(--jo-ink);border-color:var(--jo-paper)}#jo-homepage .worlds{display:grid;grid-template-columns:repeat(4,1fr);padding:0 6%;background:#17191b}#jo-homepage .worlds a{padding:30px 18px;border-right:1px solid #ffffff20}#jo-homepage .worlds a:first-child{padding-left:0}#jo-homepage .worlds a:last-child{border:0}#jo-homepage .worlds small{font-size:10px;letter-spacing:2px;color:#b2ada4}#jo-homepage .worlds strong{display:block;font:22px Georgia,serif;margin:8px 0}#jo-homepage .worlds span{font-size:11px;color:#bbb}#jo-homepage .section{padding:70px 6%}#jo-homepage h2{font-size:clamp(32px,4vw,48px);margin-bottom:20px}#jo-homepage .books{background:var(--jo-paper);color:#1a1c1e;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}#jo-homepage .books .eyebrow{color:#72634b}#jo-homepage .books p{color:#575754;max-width:370px}#jo-homepage .book-space{display:flex;align-items:center;justify-content:center;min-height:230px;border-top:1px solid #c9c6bd;border-bottom:1px solid #c9c6bd;text-align:center;color:#777269;font-size:12px;letter-spacing:1px}#jo-homepage .section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}#jo-homepage .section-head p{max-width:330px;color:#b7b7b4;font-size:13px}#jo-homepage .media-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}#jo-homepage .media-panel{min-height:255px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;background:#1c2226}#jo-homepage .media-panel.warrior{background:#282017}#jo-homepage .media-panel h3{font:26px/1.2 Georgia,serif;letter-spacing:1px}#jo-homepage .media-panel img{width:100%;max-width:270px;height:84px;object-fit:contain;object-position:left center}#jo-homepage .media-panel p{font-size:12px;color:#c9c5bd;margin-top:18px}#jo-homepage .text-link{display:inline-block;margin-top:22px;font-size:11px;letter-spacing:1px;text-transform:uppercase}#jo-homepage .music{position:relative;min-height:500px;display:flex;align-items:center;padding:60px 6%}#jo-homepage .music-copy{position:relative;width:43%}#jo-homepage .music-logo{width:280px;max-width:100%;margin-bottom:27px}#jo-homepage .music h2{font-size:37px}#jo-homepage .music p{color:#c8c7c3;font-size:12px}#jo-homepage .enterprise{background:#e5e2da;color:#191b1c;display:grid;grid-template-columns:1fr 1fr;gap:50px}#jo-homepage .enterprise .eyebrow{color:#72634b}#jo-homepage .venture{padding:17px 0;border-bottom:1px solid #bdbab2;font-size:18px;font-family:Georgia,serif;display:flex;justify-content:space-between}#jo-homepage .story{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}#jo-homepage .story img{width:100%;aspect-ratio:1;object-fit:cover}#jo-homepage .story p{color:#bebeb9;margin-bottom:20px}#jo-homepage .journey{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;line-height:2.3}#jo-homepage footer{padding:35px 6%;border-top:1px solid #ffffff20;display:flex;justify-content:space-between;align-items:center;gap:25px;color:#aaa;font-size:11px}#jo-homepage .pending{display:block;color:#a8a298;font:10px Arial,sans-serif;letter-spacing:1px;margin-top:12px}
@media(max-width:650px){#jo-homepage header{padding:16px 6%;align-items:start}#jo-homepage nav{gap:12px;font-size:10px;max-width:235px;padding-top:8px}#jo-homepage .hero{min-height:760px;align-items:start;padding-top:40px}#jo-homepage .hero .backdrop{object-position:center bottom}#jo-homepage .hero picture{position:absolute;inset:200px 0 0}#jo-homepage .hero-copy{width:100%}#jo-homepage h1{font-size:50px}#jo-homepage .hero .lede{max-width:280px;font-size:13px}#jo-homepage .hero .roles{max-width:280px}#jo-homepage .hero .actions{margin-top:18px}#jo-homepage .worlds{grid-template-columns:1fr 1fr}#jo-homepage .worlds a{padding:22px 12px}#jo-homepage .worlds a:nth-child(odd){padding-left:0}#jo-homepage .worlds a:nth-child(2){border:0}#jo-homepage .section{padding:45px 6%}#jo-homepage .books,#jo-homepage .enterprise,#jo-homepage .story,#jo-homepage .media-grid{grid-template-columns:1fr;gap:28px}#jo-homepage .section-head{display:block}#jo-homepage .music{min-height:540px;align-items:start;padding-top:40px}#jo-homepage .music .backdrop{object-position:68% center;opacity:.5}#jo-homepage .music-copy{width:85%}#jo-homepage .music-logo{width:230px}#jo-homepage footer{flex-wrap:wrap}#jo-homepage .book-space{min-height:150px}}
#jo-homepage{background:#081115;color:#f5f1e9;font-family:Georgia,serif}
#jo-homepage header{padding:10px 4.5%;position:relative;z-index:3;background:#081115;border:0;min-height:63px}
#jo-homepage header .jo-logo{width:48px;height:39px}#jo-homepage nav{font-family:Arial,sans-serif;gap:20px;font-size:10px}
#jo-homepage .hero{min-height:345px;padding:25px 5.5% 32px;align-items:center}#jo-homepage .hero .backdrop{object-position:center 34%}#jo-homepage .hero-copy{width:53%}#jo-homepage .hero .eyebrow{display:none}#jo-homepage h1{font-size:66px;line-height:.91;text-transform:uppercase;letter-spacing:-2px;margin-bottom:14px}#jo-homepage .roles{font-family:Georgia,serif;text-transform:none;font-size:15px;letter-spacing:0;line-height:1.4;white-space:normal;margin-bottom:8px}#jo-homepage .roles br{display:none}#jo-homepage .lede{font-size:15px;line-height:1.4;max-width:380px}#jo-homepage .actions{margin-top:18px}#jo-homepage .action{font-family:Arial,sans-serif;font-size:10px;padding:10px 20px;letter-spacing:1px}#jo-homepage .action.primary{background:#ba9a60;color:#091013;border-color:#ba9a60}
#jo-homepage .worlds{padding:0;grid-template-columns:repeat(4,1fr);border-top:1px solid #c1beb7;border-bottom:1px solid #c1beb7;gap:0}#jo-homepage .worlds a,#jo-homepage .worlds a:first-child{position:relative;isolation:isolate;padding:20px;min-height:200px;display:flex;flex-direction:column;border-right:1px solid #c1beb7;overflow:hidden;background:#142023}#jo-homepage .worlds .panel-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;opacity:.6}#jo-homepage .worlds a:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#05090ce0,#05090c25);z-index:-1}#jo-homepage .worlds small{display:none}#jo-homepage .worlds strong{font-size:21px;line-height:1.2;font-weight:400;text-transform:uppercase;margin:0 0 12px}#jo-homepage .worlds span{color:#eee;font-size:13px;line-height:1.45;max-width:180px}#jo-homepage .worlds .panel-action{margin-top:auto;padding:7px 10px;border:1px solid #c7b892;font:10px Arial,sans-serif;letter-spacing:1px;align-self:start;text-transform:uppercase}
#jo-homepage .section{padding:32px 4.5%}#jo-homepage h2{font-size:31px;line-height:1.08;text-transform:uppercase;margin-bottom:13px}#jo-homepage .eyebrow{font:10px Arial,sans-serif;letter-spacing:2px;margin-bottom:10px}#jo-homepage .books{grid-template-columns:1fr 1.65fr;gap:30px;min-height:260px;background:#f2eee5}#jo-homepage .books p{font-size:15px;line-height:1.4}#jo-homepage .book-space{min-height:180px;background:linear-gradient(130deg,#e7e0d4,#faf7ef);border:1px solid #d1c7b6;font:12px Arial,sans-serif;color:#6d665a;letter-spacing:1px}#jo-homepage .text-link{font:10px Arial,sans-serif;letter-spacing:1px;border:1px solid #b9ac91;padding:9px 14px;margin-top:16px}
#jo-homepage #jo-media{display:grid;grid-template-columns:1.05fr 1.8fr;gap:30px;padding:22px 4.5% 30px}#jo-homepage .section-head{display:block;margin:0}#jo-homepage .section-head p{font-size:14px;line-height:1.4;margin-top:10px}#jo-homepage .section-head img{width:105px!important;margin-bottom:10px!important}#jo-homepage .media-grid{gap:14px}#jo-homepage .media-panel{padding:15px;min-height:235px;border:1px solid #958c7d;background:radial-gradient(ellipse at top right,#28394a,#081115 75%)}#jo-homepage .media-panel.warrior{background:radial-gradient(ellipse at top right,#573921,#19140f 75%)}#jo-homepage .media-panel p{font:10px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:.5px;margin-top:12px}#jo-homepage .media-panel img{height:80px!important;max-width:180px!important}#jo-homepage .media-panel .text-link{font-size:9px;padding:7px 10px}
#jo-homepage .feature-pair{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #c1beb7;border-bottom:1px solid #c1beb7}#jo-homepage .music{min-height:275px;padding:25px 8%}#jo-homepage .music .backdrop{object-position:70% center}#jo-homepage .music-copy{width:60%}#jo-homepage .music-logo{width:200px;margin-bottom:16px}#jo-homepage .music h2{font-size:24px;text-transform:none}#jo-homepage .music p{font:10px/1.5 Arial,sans-serif}#jo-homepage .music .eyebrow{display:none}#jo-homepage .enterprise{display:block;padding:24px 7%;background:#eee9de}#jo-homepage .enterprise h2{font-size:28px}#jo-homepage .enterprise p{font-size:13px;line-height:1.4}#jo-homepage .enterprise>div:last-child{display:flex;flex-wrap:wrap;gap:12px;margin-top:15px;align-items:center}#jo-homepage .venture{border:0;padding:0;font-size:12px}#jo-homepage .venture:has(img){width:43%;background:transparent!important;padding:0!important}#jo-homepage .venture img{max-height:58px;object-fit:contain}#jo-homepage .venture:last-child{width:100%;font:10px Arial,sans-serif;letter-spacing:1px}
#jo-homepage .story{background:#eeeae1;color:#161b1d;grid-template-columns:42% 58%;gap:0;padding:0;min-height:245px}#jo-homepage .story>img{height:245px;aspect-ratio:auto;object-fit:cover;object-position:center 38%}#jo-homepage .story>div{padding:24px 8%}#jo-homepage .story p{font-size:14px;color:#4e4c47;line-height:1.4;margin-bottom:10px}#jo-homepage .story .eyebrow{display:none}#jo-homepage .journey{font-size:12px;text-transform:none;letter-spacing:0;line-height:1.5}#jo-homepage .journey br{display:none}#jo-homepage footer{padding:18px 4.5%;font-family:Arial,sans-serif}#jo-homepage footer .jo-logo{height:40px;width:50px}
@media(max-width:700px){#jo-homepage nav{gap:12px}#jo-homepage header{padding:12px 5%}#jo-homepage .hero{min-height:760px;padding:28px 6%;align-items:start}#jo-homepage .hero-copy{width:100%}#jo-homepage h1{font-size:54px}#jo-homepage .roles{white-space:normal;font-size:13px;max-width:320px}#jo-homepage .hero picture{position:absolute;inset:205px 0 0}#jo-homepage .hero .backdrop{object-position:center bottom}#jo-homepage .lede{font-size:14px;max-width:300px}#jo-homepage .worlds{grid-template-columns:1fr 1fr}#jo-homepage .worlds a,#jo-homepage .worlds a:first-child{padding:18px;min-height:200px}#jo-homepage .worlds strong{font-size:19px}#jo-homepage .books,#jo-homepage #jo-media,#jo-homepage .feature-pair,#jo-homepage .story{grid-template-columns:1fr}#jo-homepage .section{padding:28px 6%}#jo-homepage .media-grid{grid-template-columns:1fr 1fr}#jo-homepage .media-panel{padding:12px}#jo-homepage .media-panel img{width:100%!important}#jo-homepage .music{min-height:300px}#jo-homepage .music .backdrop{opacity:.8}#jo-homepage .story{padding:0}#jo-homepage .story>img{height:260px}#jo-homepage .story>div{padding:30px 6%}#jo-homepage .enterprise{padding:28px 6%}}


#jo-homepage .book-display{display:flex;align-items:flex-end;justify-content:center;gap:40px;padding:8px 15px 4px}#jo-homepage .book-display figure{margin:0;text-align:center;max-width:43%}#jo-homepage .book-display img{display:block;height:218px;width:auto;max-width:100%;object-fit:contain;box-shadow:none}#jo-homepage .book-display figcaption{font:12px/1.4 Georgia,serif;color:#292824;margin-top:13px}#jo-homepage .book-display figcaption span{display:block;font:10px/1.6 Arial,sans-serif;color:#6d665a}@media(max-width:700px){#jo-homepage .book-display{gap:25px}#jo-homepage .book-display img{height:200px}}


#jo-homepage #jo-contact{padding:40px 5%;display:grid;grid-template-columns:1fr 1.2fr;gap:40px;background:var(--jo-paper);color:var(--jo-ink)}
#jo-homepage #jo-contact h2{font-size:30px;margin:8px 0 16px}#jo-homepage #jo-contact p{max-width:360px}#jo-homepage #jo-contact form{min-width:0}#jo-homepage .jo-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#jo-homepage #jo-contact label{display:block;font-size:13px;margin-bottom:14px}#jo-homepage #jo-contact input,#jo-homepage #jo-contact textarea{display:block;width:100%;margin-top:5px;padding:10px;border:1px solid #b5afa2;background:#faf8f3;color:#101214;font:16px Arial,sans-serif;border-radius:0}#jo-homepage #jo-contact textarea{resize:vertical}#jo-homepage #jo-contact button{padding:12px 22px;border:0;background:var(--jo-accent);color:#101214;font:12px Arial,sans-serif;letter-spacing:1px}#jo-homepage #jo-contact #jo-contact-status{margin-top:10px;font-size:13px}
@media(max-width:650px){#jo-homepage #jo-contact{grid-template-columns:1fr;gap:24px}#jo-homepage .jo-contact-fields{grid-template-columns:1fr;gap:0}}

body{margin:0;background:#101214}html{scroll-behavior:smooth}#jo-homepage{max-width:1600px;margin:auto}#jo-homepage h1 small{font-size:.4em;display:block;letter-spacing:1px}#jo-homepage .jo-trap{position:absolute;left:-9999px}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:20px;top:20px;z-index:100;background:white;color:black;padding:12px}#jo-homepage .editorial{background:var(--jo-paper);color:var(--jo-ink);padding:60px 7%;min-height:55vh}#jo-homepage .editorial h1{font-size:clamp(36px,5vw,64px);margin-bottom:24px}#jo-homepage .post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}#jo-homepage .post-card img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#10191d}#jo-homepage .post-card h2{font-size:26px;margin:14px 0}#jo-homepage .post-card p{margin:12px 0}#jo-homepage .post-date{font:12px Arial,sans-serif;letter-spacing:1px;margin:16px 0;color:#625b51}#jo-homepage .article{max-width:760px;margin:auto;font:18px/1.8 Georgia,serif}#jo-homepage .article p{margin:0 0 22px}#jo-homepage .article h2{margin:30px 0 18px;font-size:32px}#jo-homepage .article img{max-width:100%;height:auto}#jo-homepage .article a{text-decoration:underline}#jo-homepage .article iframe{max-width:100%}#jo-homepage footer{flex-wrap:wrap}#jo-homepage footer nav{gap:16px}#jo-homepage .pagination{padding-top:32px}#jo-homepage .pagination a,#jo-homepage .pagination span{display:inline-block;padding:8px 12px}#jo-homepage :focus-visible{outline:3px solid #a27b36;outline-offset:4px}@media(max-width:750px){#jo-homepage .post-grid{grid-template-columns:1fr}#jo-homepage .editorial{padding:36px 6%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

#jo-homepage .article > img.wp-post-image{display:block;width:100%;height:auto;max-height:480px;object-fit:contain;background:#10191d;margin:24px auto 32px}

#jo-homepage .article .biography-portrait{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;background:#17191a;margin:0 auto 32px}

/* Keep portraits anchored at the top as the viewport widens. */
#jo-homepage .hero picture{position:absolute;top:0;right:0;bottom:0;left:0;display:block}
#jo-homepage .hero .backdrop{display:block;object-position:center top}
#jo-homepage .worlds a:first-child .panel-photo{object-position:center 30%}
@media(min-width:701px){#jo-homepage .hero{min-height:clamp(390px,40vw,640px)}}
@media(max-width:700px){#jo-homepage .hero picture{top:205px}#jo-homepage .hero .backdrop{object-position:center bottom}}

#jo-homepage .music .backdrop{object-position:70% top}
#jo-homepage .story>img{object-position:center top}
@media(min-width:701px){#jo-homepage .music{min-height:clamp(300px,25vw,400px)}#jo-homepage .story>img{height:clamp(300px,26vw,416px)}}

/* Biography preview: preserve the complete square portrait at every width. */
#jo-homepage .story>img{display:block;width:100%;height:auto;aspect-ratio:1 / 1;object-fit:contain;object-position:center;margin:0}
