/*
Theme Name: JR24JENSEN
Theme URI: https://www.jr24jensen.com/
Author: Jesse Ryan Jensen
Description: Industrial, black-and-orange media and research website with an accessible Visual View art stage.
Version: 1.0.3
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: jr24jensen
License: GPL-2.0-or-later
*/
:root{--jr-ink:#1b2028;--jr-black:#050505;--jr-orange:#ff9229;--jr-copper:#d67a1f;--jr-text:#24252d;--jr-content:940px;--jr-wide:1240px;--jr-gutter:clamp(18px,3.2vw,50px);--jr-admin:0px}
*{box-sizing:border-box}html{scroll-behavior:auto;scrollbar-gutter:stable}body{margin:0;background:#f8f9fb;color:var(--jr-text);font:400 1.05rem/1.65 'Source Sans 3',Arial,sans-serif}body.admin-bar{--jr-admin:32px}@media(max-width:782px){body.admin-bar{--jr-admin:46px}}
img{max-width:100%;height:auto}a{color:#a65300;text-underline-offset:3px}a:hover{color:#713900}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--jr-orange);outline-offset:3px}.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}.jr-skip{position:absolute;left:12px;top:-130px;z-index:1500;background:#fff;color:#000;padding:10px 16px}.jr-skip:focus{top:10px}
.site-header{background:#050505;border-bottom:1px solid #373737;position:sticky;top:0;z-index:800;box-shadow:0 6px 22px rgba(0,0,0,.18)}.admin-bar .site-header{top:var(--jr-admin)}.header-inner{display:grid;grid-template-columns:minmax(186px,242px) minmax(175px,1fr) auto;align-items:center;gap:clamp(15px,2.1vw,30px);width:100%;min-height:104px;padding:11px var(--jr-gutter)}.site-branding a{display:flex;align-items:center;line-height:0}.site-branding img{display:block;width:100%;max-width:215px;max-height:84px;object-fit:contain;object-position:left center;animation:none;transition:none;opacity:1}.jr-search-zone{min-width:0}.jr-search{display:flex;align-items:center;width:min(480px,100%);margin:0 auto;border:1px solid #686868;border-radius:100px;background:#171717;overflow:hidden}.jr-search input{width:100%;min-width:0;color:#fff;background:transparent;border:0;padding:11px 16px;font:inherit;outline:0}.jr-search input::placeholder{color:#bababa}.jr-search button{cursor:pointer;flex:none;border:0;background:#262626;color:#fff;font-size:1.1rem;padding:11px 16px}.jr-search:focus-within{box-shadow:0 0 0 2px #ff9229}
.main-navigation ul,.footer-navigation ul{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(11px,1.2vw,21px);list-style:none;margin:0;padding:0}.main-navigation a{font:400 .87rem/1.3 'Tauri','Source Sans 3',sans-serif;text-transform:uppercase;letter-spacing:.04em;text-decoration:none!important;color:#f7f7f7;border:0!important;white-space:nowrap}.main-navigation a:hover,.main-navigation a:focus-visible,.main-navigation a[aria-current=page]{color:#ffa347;text-shadow:0 0 10px rgba(255,146,41,.45)}
.jr-visual-zone{background:#050505;color:#fff;padding:18px var(--jr-gutter) 22px}.jr-visual-frame{min-height:300px;height:clamp(330px,65svh,900px);display:flex;align-items:center;justify-content:center;position:relative;max-width:1600px;margin:auto}.jr-visual-image{display:block;object-fit:contain;object-position:center;max-width:100%;max-height:85%;width:auto;height:auto;min-width:0;box-shadow:none}.jr-visual-actions{display:flex;justify-content:center;gap:12px;position:relative;padding-top:3px}.jr-visual-launch{border:1px solid #a35c1e;border-radius:7px;background:#151515;color:#ffe6cf;padding:9px 19px;font:400 .79rem 'Bungee',sans-serif;letter-spacing:.025em;cursor:pointer}.jr-visual-launch:hover{background:#4c290e;color:#fff}
.jr-visual-modal[hidden]{display:none!important}.jr-visual-modal{position:fixed;inset:0;background:rgba(0,0,0,.985);z-index:99990;display:flex;flex-direction:column;padding:12px clamp(10px,2vw,36px)}.jr-visual-toolbar{display:flex;justify-content:flex-end;gap:10px}.jr-visual-toolbar button{border:1px solid #8a8a8a;border-radius:6px;background:#181818;color:#fff;font:600 .9rem 'Source Sans 3',Arial,sans-serif;padding:8px 13px;cursor:pointer}.jr-visual-toolbar button:hover{border-color:var(--jr-orange)}.jr-visual-modal figure{display:flex;min-height:0;flex:1;align-items:center;justify-content:center;margin:0;overflow:hidden}.jr-visual-modal img{display:block;object-fit:contain;max-height:calc(100dvh - 96px);max-width:100%;height:auto;width:auto}.jr-visual-modal figcaption{color:#dedede;text-align:center;font-size:.86rem;margin:6px 0 4px}
.jr-content{width:min(var(--jr-content),calc(100% - 2 * var(--jr-gutter)));margin:0 auto;padding:58px 0 90px;min-height:30vh}.jr-content--wide{width:min(var(--jr-wide),calc(100% - 2 * var(--jr-gutter)))}.jr-title{font:400 clamp(2.1rem,4.7vw,3.8rem)/1.15 'Russo One',sans-serif;color:#16191e;margin:0 0 22px}.jr-section-title{font:400 clamp(1.5rem,2.5vw,2.2rem)/1.25 'Russo One',sans-serif;margin:0 0 15px}.jr-eyebrow,.jr-uplink{font:400 .76rem/1.6 'Bungee',sans-serif;letter-spacing:.03em;text-transform:uppercase;color:#a65908}.jr-uplink{display:inline-block;margin:0 0 22px;text-decoration:none}.jr-uplink:hover{text-decoration:underline}.jr-content .entry-content>*:first-child{margin-top:0}.jr-content .entry-content img{max-width:100%;height:auto}.jr-placeholder{font:400 clamp(1.6rem,3.8vw,3rem)/1.2 'Bungee',sans-serif;color:#ce7620}.jr-intro{font-size:1.1rem;color:#4c4e55}.jr-meta{font-size:.89rem;color:#626771;margin:-6px 0 21px}.jr-meta a{color:#925005}
.jr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.jr-card{display:flex;flex-direction:column;gap:8px;min-width:0;border:1px solid #dedee1;border-radius:12px;background:#fff;padding:25px;box-shadow:0 5px 16px rgba(0,0,0,.035)}.jr-card h2,.jr-card h3{font:400 1.38rem/1.3 'Tauri',sans-serif;margin:0}.jr-card h2 a,.jr-card h3 a{text-decoration:none;color:#202020}.jr-card h2 a:hover,.jr-card h3 a:hover{color:#97530c}.jr-card p{margin:0}.jr-card .jr-eyebrow{font-size:.65rem}.jr-card__link{font-weight:700;margin-top:auto;padding-top:12px}.jr-card__thumb{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:8px}.jr-grid--research .jr-card{min-height:170px}.jr-form{display:flex;gap:10px;margin:22px 0 28px}.jr-form input{min-width:0;flex:1;border:1px solid #aeb1b8;border-radius:7px;padding:10px 13px;font:inherit}.jr-form button{border:0;border-radius:7px;padding:10px 18px;background:#1d2025;color:#fff;font:700 .94rem 'Source Sans 3',sans-serif;cursor:pointer}.jr-post-list{display:grid;gap:20px}.jr-post-list .jr-card{min-height:0}.jr-pagination{margin-top:25px}.jr-pagination .page-numbers{display:inline-block;margin-right:10px}
.site-footer{background:#080808;color:#e9e9e9;border-top:3px solid #e58420;padding:34px var(--jr-gutter) 26px}.jr-footer-inner{margin:0 auto;max-width:1500px}.jr-footer-brand{font:400 1.35rem 'Russo One',sans-serif;color:#fff;margin:0 0 12px}.footer-navigation ul{gap:10px 22px}.footer-navigation a{text-decoration:none;color:#d5d5d5}.footer-navigation a:hover,.footer-navigation a:focus-visible{color:#ffad57}.jr-copyright{border-top:1px solid #353535;text-align:center;font-size:.86rem;color:#ababab;margin:28px 0 0;padding-top:19px}
@media(max-width:1220px){.header-inner{grid-template-columns:minmax(160px,225px) 1fr;gap:15px}.main-navigation{grid-column:1/-1}.main-navigation ul{justify-content:center;gap:10px 24px}.header-inner{min-height:0}.site-branding img{max-height:66px}.jr-visual-frame{height:clamp(280px,55svh,730px)}}
@media(max-width:600px){.header-inner{grid-template-columns:1fr;text-align:center;padding:12px 18px}.site-branding a{justify-content:center}.site-branding img{max-width:250px;max-height:80px}.main-navigation ul{justify-content:center;gap:9px 20px}.main-navigation a{font-size:.79rem}.jr-search{width:100%}.jr-visual-zone{padding:10px 12px 18px}.jr-visual-frame{height:clamp(270px,48svh,620px);min-height:260px}.jr-visual-image{max-height:88%}.jr-content{padding:34px 0 60px}.jr-grid{grid-template-columns:1fr}.jr-form{flex-direction:column}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* 1.0.3: Artwork itself opens Visual View, except the four Home navigation hotspots. */
.jr-visual-actions{display:none!important}
.jr-visual-canvas{position:relative;flex:none;max-width:100%;min-width:0}
.jr-visual-canvas--standard{height:85%;display:flex;align-items:center;justify-content:center}
.jr-visual-canvas--standard>.jr-visual-image{display:block;max-height:100%;width:auto;height:auto;object-fit:contain}
/* Home artwork never exceeds 85% of the viewport height. It is scaled as a unit,
   letterboxed on black when its full width will not fit; hotspots stay relative to
   the real image area, not to the 85svh stage. */
.jr-visual-canvas--home{aspect-ratio:1672 / 941;width:min(100%,151.031vh);width:min(100%,151.031svh);height:auto}
.jr-visual-canvas--home>.jr-visual-image{display:block;position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:fill}
.jr-visual-image-trigger{position:absolute;inset:0;z-index:1;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;color:transparent;font-size:0}
.jr-visual-image-trigger:hover{background:rgba(255,255,255,.035)}
.jr-visual-image-trigger:focus-visible{outline:3px solid var(--jr-orange);outline-offset:2px}
.jr-goal-hotspots{position:absolute;inset:0;z-index:2;pointer-events:none}
.jr-goal-hotspot{position:absolute;display:block;pointer-events:auto;border-radius:2px;transition:box-shadow .12s ease,background-color .12s ease;background:transparent}
.jr-goal-hotspot:hover{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 2px rgba(255,157,39,.65)}
.jr-goal-hotspot:focus-visible{outline:3px solid #ffad46;outline-offset:-4px;background:rgba(0,0,0,.10)}
/* Exact quadrant boundaries of the 1672x941 original, avoiding headline/logo. */
.jr-goal-hotspot--top-left{left:0;top:31.031%;width:50%;height:32.093%}
.jr-goal-hotspot--top-right{left:50%;top:31.031%;width:50%;height:32.093%}
.jr-goal-hotspot--bottom-left{left:0;top:63.124%;width:50%;height:36.876%}
.jr-goal-hotspot--bottom-right{left:50%;top:63.124%;width:50%;height:36.876%}
/* Exact 85%-of-viewport-height Home stage. Never crop or stretch the image.
   On narrow screens the entire wide image fits horizontally and is vertically centered
   against black; the overlay hotspots remain on the image, never in the letterboxing. */
.home .jr-visual-frame{height:85vh;height:85svh;min-height:0;max-width:none}
.home .jr-visual-zone{padding-top:22px;padding-bottom:24px}
@media(max-width:600px){
  .home .jr-visual-zone{padding:10px 8px 14px}
}
@media(prefers-reduced-motion:reduce){.jr-goal-hotspot{transition:none}}
