/*
Theme Name: Song of the Various-Minded Man
Theme URI: https://www.songofthevariousmindedman.com
Author: Dominic Witherow
Description: Bespoke cinematic WordPress theme for the feature documentary Song of the Various-Minded Man.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: sotvmm
*/

:root{
  --ink:#0d0d0c;
  --ink-soft:#151512;
  --paper:#f1eee6;
  --paper-muted:#c9c3b7;
  --bronze:#b58a4b;
  --bronze-light:#d3b47b;
  --line:rgba(241,238,230,.18);
  --line-dark:rgba(13,13,12,.14);
  --max:1240px;
  --serif:"Iowan Old Style","Baskerville","Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:17px;line-height:1.65;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}
a:hover{color:var(--bronze-light)}
img{max-width:100%;height:auto}
::selection{background:var(--bronze);color:var(--ink)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;display:block;top:10px;left:10px;padding:12px;background:#fff;color:#111;z-index:100000}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:rgba(13,13,12,.90);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.site-header__inner{max-width:var(--max);margin:auto;padding:15px 24px;display:flex;align-items:center;gap:24px}
.site-branding{display:flex;align-items:center;margin-right:auto;min-width:0}
.site-title{font-family:var(--serif);font-weight:400;letter-spacing:.08em;text-transform:uppercase;font-size:15px;line-height:1.2;text-decoration:none;white-space:nowrap}
.primary-nav ul{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}
.primary-nav a{font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--paper-muted)}
.primary-nav a:hover,.primary-nav .current-menu-item>a{color:var(--paper)}
.menu-toggle{display:none;border:1px solid var(--line);background:none;color:var(--paper);padding:9px 11px;font:inherit;letter-spacing:.1em;text-transform:uppercase;font-size:11px}
.nav-support>a{border:1px solid var(--bronze)!important;padding:8px 12px!important;color:var(--bronze-light)!important}

/* Typography */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.06;margin-top:0}
h1{font-size:clamp(3rem,7vw,7.3rem);letter-spacing:-.035em}
h2{font-size:clamp(2.4rem,5vw,5rem);letter-spacing:-.025em}
h3{font-size:clamp(1.5rem,2.5vw,2.3rem)}
p{margin:0 0 1.25em}.eyebrow,.sotvmm-eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--bronze-light);font-weight:600}
.lede,.sotvmm-lede{font-family:var(--serif);font-size:clamp(1.35rem,2.4vw,2rem);line-height:1.4;color:var(--paper)}
.kicker{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--paper-muted)}

/* Layout */
.site-main{min-height:70vh}.content-width{max-width:900px;margin:auto;padding:80px 24px}.wide-width{max-width:var(--max);margin:auto;padding-left:24px;padding-right:24px}
.sotvmm-section{padding:clamp(70px,9vw,130px) 24px;margin:0!important}
.sotvmm-section>*{max-width:var(--max);margin-left:auto!important;margin-right:auto!important}.sotvmm-section>.alignfull{max-width:none}
.sotvmm-section--paper{background:var(--paper);color:var(--ink)}
.sotvmm-section--paper .sotvmm-eyebrow{color:#7b5a2e}
.sotvmm-section--soft{background:var(--ink-soft)}
.sotvmm-section--ruled{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wp-block-columns{gap:clamp(28px,5vw,72px)}
.wp-block-image img{display:block;width:100%}.wp-block-image figcaption{margin-top:10px;font-size:12px;letter-spacing:.05em;color:var(--paper-muted);text-align:left}.sotvmm-section--paper figcaption{color:#5e5a51}

/* Hero */
.sotvmm-hero{position:relative;margin-top:0!important;min-height:calc(100vh - 62px)!important;border-bottom:1px solid var(--line)}
.sotvmm-hero .wp-block-cover__background{background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.26) 65%,rgba(0,0,0,.18) 100%)!important;opacity:1!important}
.sotvmm-hero .wp-block-cover__inner-container{width:min(1120px,calc(100% - 48px));margin:auto;padding:10vh 0 8vh}
.sotvmm-hero h1{max-width:1050px;margin:14px 0 25px;text-shadow:0 2px 30px rgba(0,0,0,.35)}
.sotvmm-hero .sotvmm-lede{max-width:780px;color:#eee9df}
.sotvmm-hero .wp-block-buttons{margin-top:34px;gap:12px}
.wp-block-button__link,.sotvmm-button{display:inline-block;border-radius:0!important;border:1px solid var(--bronze);background:var(--bronze)!important;color:#0c0c0b!important;padding:13px 19px!important;font-size:11px!important;letter-spacing:.16em!important;text-transform:uppercase!important;text-decoration:none!important;font-weight:700}
.wp-block-button.is-style-outline .wp-block-button__link{background:rgba(0,0,0,.18)!important;color:var(--paper)!important;border-color:rgba(241,238,230,.55)!important}
.wp-block-button__link:hover,.sotvmm-button:hover{filter:brightness(1.08)}

/* Video */
.sotvmm-video-wrap{max-width:1180px;margin:35px auto 0}.sotvmm-video{position:relative;aspect-ratio:16/9;background:#000;box-shadow:0 22px 70px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.08)}
.sotvmm-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.sotvmm-video-caption{font-size:12px;color:var(--paper-muted);margin-top:10px;letter-spacing:.04em}

/* Image treatments */
.sotvmm-film-frame{position:relative;background:#060606;padding:8px;box-shadow:0 28px 65px rgba(0,0,0,.34)}
.sotvmm-film-frame:before,.sotvmm-film-frame:after{content:"";position:absolute;left:0;right:0;height:6px;background:repeating-linear-gradient(90deg,#111 0 24px,#b8b19f 24px 36px,#111 36px 60px);opacity:.35}
.sotvmm-film-frame:before{top:0}.sotvmm-film-frame:after{bottom:0}
.sotvmm-film-frame img{filter:saturate(.9) contrast(1.03)}
.sotvmm-archive-shot img{box-shadow:0 28px 70px rgba(0,0,0,.24)}

/* Statement and quotes */
.sotvmm-statement{max-width:980px}.sotvmm-statement h2{margin-bottom:26px}.sotvmm-statement p{max-width:760px}
.sotvmm-quote{padding:clamp(80px,12vw,170px) 24px;text-align:center;background:#090909;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.sotvmm-quote blockquote{margin:0 auto;max-width:1000px;font-family:var(--serif);font-size:clamp(2.6rem,6vw,6.5rem);line-height:1.02;font-weight:400}
.sotvmm-quote cite{display:block;margin-top:24px;font-family:var(--sans);font-style:normal;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze-light)}

/* Cards/timeline */
.sotvmm-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px}
.sotvmm-card{border-top:1px solid var(--line);padding-top:18px}.sotvmm-section--paper .sotvmm-card{border-color:var(--line-dark)}
.sotvmm-card h3{font-size:1.45rem;margin:10px 0 8px}.sotvmm-card p{font-size:14px;color:var(--paper-muted)}.sotvmm-section--paper .sotvmm-card p{color:#545046}
.sotvmm-timeline{max-width:980px;margin:50px auto 0;position:relative}.sotvmm-timeline:before{content:"";position:absolute;left:110px;top:5px;bottom:5px;width:1px;background:var(--line)}
.sotvmm-timeline__item{display:grid;grid-template-columns:90px 1fr;gap:45px;padding:0 0 45px;position:relative}.sotvmm-timeline__date{font-size:12px;letter-spacing:.1em;color:var(--bronze-light);padding-top:7px}.sotvmm-timeline__body{border-top:1px solid var(--line);padding-top:16px}.sotvmm-timeline__body h3{margin:0 0 9px}.sotvmm-timeline__body p{color:var(--paper-muted);max-width:720px}

/* Archive */
.sotvmm-archive-intro{max-width:800px}.sotvmm-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:45px}.sotvmm-archive-item{border-bottom:1px solid var(--line);padding-bottom:24px}.sotvmm-archive-thumb{aspect-ratio:4/3;overflow:hidden;background:#191917}.sotvmm-archive-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.sotvmm-archive-item:hover .sotvmm-archive-thumb img{transform:scale(1.025)}.sotvmm-archive-item a{text-decoration:none}.sotvmm-archive-item h3{font-size:1.5rem;margin:14px 0 4px}.sotvmm-meta{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bronze-light)}.sotvmm-archive-item p{font-size:14px;color:var(--paper-muted);margin-top:10px}
.archive-single{max-width:1100px;margin:auto;padding:80px 24px}.archive-single__header{max-width:850px;margin-bottom:40px}.archive-single__image{margin-bottom:36px}.archive-single__image img{width:100%;max-height:78vh;object-fit:contain;background:#050505}.archive-single__details{display:grid;grid-template-columns:1fr 2fr;gap:60px;border-top:1px solid var(--line);padding-top:32px}.archive-single__details dl{margin:0}.archive-single__details dt{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze-light);margin-top:14px}.archive-single__details dd{margin:4px 0 0;color:var(--paper-muted)}

/* Page headers */
.page-hero{padding:clamp(90px,11vw,160px) 24px 70px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#121210,#0d0d0c)}.page-hero__inner{max-width:var(--max);margin:auto}.page-hero h1{max-width:1100px;margin-bottom:20px}.page-hero p{max-width:760px;color:var(--paper-muted)}
.entry-content>p,.entry-content>h2,.entry-content>h3,.entry-content>ul,.entry-content>ol,.entry-content>blockquote{max-width:820px;margin-left:auto;margin-right:auto}.entry-content>.wp-block-group,.entry-content>.wp-block-cover,.entry-content>.wp-block-columns,.entry-content>.wp-block-image.alignwide,.entry-content>.wp-block-image.alignfull{max-width:none}

/* Contact */
.sotvmm-contact-fallback{padding:28px;border:1px solid var(--line);max-width:720px}.sotvmm-contact-fallback p:last-child{margin-bottom:0}.wpforms-container input,.wpforms-container textarea,.wpforms-container select{border-radius:0!important;border:1px solid rgba(241,238,230,.28)!important;background:#151512!important;color:var(--paper)!important;padding:12px!important}.wpforms-container label{color:var(--paper)!important}.wpforms-container button[type=submit]{border-radius:0!important;background:var(--bronze)!important;color:#111!important;border:0!important;padding:13px 20px!important;font-size:11px!important;letter-spacing:.15em!important;text-transform:uppercase!important;font-weight:700!important}

/* Posts */
.posts-grid{max-width:var(--max);margin:auto;padding:70px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.post-card{border-top:1px solid var(--line);padding-top:18px}.post-card__date{font-size:11px;color:var(--bronze-light);letter-spacing:.1em;text-transform:uppercase}.post-card h2{font-size:2rem;margin:10px 0}.post-card h2 a{text-decoration:none}.post-card p{color:var(--paper-muted)}

/* Footer */
.site-footer{border-top:1px solid var(--line);background:#090909}.site-footer__inner{max-width:var(--max);margin:auto;padding:55px 24px;display:grid;grid-template-columns:2fr 1fr;gap:40px}.footer-title{font-family:var(--serif);font-size:1.6rem;margin-bottom:10px}.site-footer p{font-size:13px;color:var(--paper-muted);margin:0 0 8px}.site-footer__links{display:flex;justify-content:flex-end;align-items:flex-start;gap:18px;flex-wrap:wrap}.site-footer__links a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--paper-muted)}.site-footer__bottom{max-width:var(--max);margin:auto;padding:18px 24px 30px;border-top:1px solid var(--line);font-size:11px;color:#77746d}

@media(max-width:980px){
 .menu-toggle{display:block}.primary-nav{position:absolute;left:0;right:0;top:100%;background:#0d0d0c;border-bottom:1px solid var(--line);display:none}.primary-nav.is-open{display:block}.primary-nav ul{display:block;padding:18px 24px}.primary-nav li{border-top:1px solid var(--line)}.primary-nav li:first-child{border-top:0}.primary-nav a{display:block;padding:13px 0}.nav-support>a{border:0!important;padding:13px 0!important}
 .sotvmm-card-grid,.sotvmm-archive-grid,.posts-grid{grid-template-columns:repeat(2,1fr)}
 .archive-single__details{grid-template-columns:1fr}
}
@media(max-width:680px){
 body{font-size:16px}.site-header__inner{padding:13px 18px}.site-title{font-size:12px;white-space:normal}.sotvmm-section{padding:65px 20px}.sotvmm-hero .wp-block-cover__inner-container{width:calc(100% - 40px);padding-top:8vh}.sotvmm-hero h1{font-size:clamp(3.1rem,16vw,5.2rem)}
 .sotvmm-card-grid,.sotvmm-archive-grid,.posts-grid{grid-template-columns:1fr}.sotvmm-timeline:before{left:61px}.sotvmm-timeline__item{grid-template-columns:46px 1fr;gap:30px}.sotvmm-timeline__date{writing-mode:vertical-rl;transform:rotate(180deg)}
 .site-footer__inner{grid-template-columns:1fr}.site-footer__links{justify-content:flex-start}.archive-single{padding:55px 20px}.page-hero{padding-left:20px;padding-right:20px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sotvmm-archive-thumb img{transition:none}}
