/* "Typewriter punk" test theme: loaded after each page's own styles. */
@font-face{font-family:"Courier Prime";font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/courier-prime-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Courier Prime";font-weight:400;font-style:italic;font-display:swap;src:url(/fonts/courier-prime-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Courier Prime";font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/courier-prime-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Archivo Wide";font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/fonts/archivo-latin-wdth-normal.woff2) format("woff2")}

:root{--bg:#0b0b0b;--ink:#f1ede4;--muted:#a39d93;--line:#2b2927;--gold:#e5432d;--card:#141312;--paper:#141312;--cream:#0b0b0b;
--font:"Courier Prime","Courier New",monospace;--head:"Archivo Wide",Impact,sans-serif}
body{background:var(--bg);color:var(--ink);font:400 16px/1.75 var(--font);letter-spacing:.01em}
::selection{background:var(--gold);color:#fff}

/* loud headings: heavy, wide, all caps */
h1,h2,.hero .name,.cap h3,.svc h3,.post-title,.next strong,.connect h2,.news h3{font-family:var(--head)!important;font-weight:900!important;font-stretch:125%;text-transform:uppercase;letter-spacing:-.005em!important;line-height:1.04!important}
h1{font-size:clamp(38px,5.6vw,72px)}
h2{color:var(--gold)}
.head h2{color:var(--gold)!important;opacity:1!important}
.cs h2{font-size:clamp(24px,3vw,38px);margin-bottom:30px}
h1 span{color:var(--muted)}
.sub{color:var(--ink);font-family:var(--font);font-style:italic}

/* header + nav */
.logo{font:900 15px var(--head);font-stretch:125%;letter-spacing:.02em;color:var(--ink)}
nav{font:400 13px var(--font);letter-spacing:.12em}
nav .pill{border:0;background:var(--gold);color:#fff;padding:10px 20px}
nav .pill:hover{background:var(--ink);color:var(--bg)}
header,header.solid{background:rgba(11,11,11,.94)!important;border-color:var(--line)!important;color:var(--ink)!important}

/* homepage hero */
.hero{background:var(--bg);color:var(--ink)}
.hero .fallback{background:radial-gradient(ellipse 40% 40% at 30% 40%,rgba(229,67,45,.18),transparent 70%)}
.hero>video.bg{opacity:.35;filter:grayscale(1) contrast(1.2)}
.hero .shade{background:linear-gradient(to bottom,rgba(11,11,11,.4),transparent 35%,var(--bg) 100%)}
.hero .name{font-size:clamp(34px,7vw,104px)!important;letter-spacing:-.01em!important;color:var(--ink)}
.hero .name em{color:var(--gold)}
.hero .scroll{background:linear-gradient(var(--gold),transparent)}
.strip{font:400 13px var(--font);letter-spacing:.2em;color:var(--muted)}
.strip i{color:var(--gold)}

/* flat: no rounded cards or soft shadows */
.proj,.post,.cia div,.author{background:var(--card)!important;border:1px solid var(--line)!important;border-radius:0!important;box-shadow:none!important}
.proj:hover,.post:hover{border-color:var(--gold)!important;box-shadow:none!important}
.shot,.post-img,.mood img,.gallery a,.single a,.still img,.photos img,.videos video,.logos img,.intro .heroimg{border-radius:0!important;box-shadow:none!important}
.intro .heroimg{border:0}
.cap h3{font-size:19px;margin-bottom:10px}
.cap p,.post-sub{color:var(--muted)}
.cap .n,.cap .go,.post-date,.meta .n{color:var(--gold)}
.post-title{font-size:16px!important;line-height:1.2!important}

/* about card */
.author{transform:none}
.author::after{display:none}
.author .ph{background:var(--card);border-color:var(--line)}
.author .ph img{filter:grayscale(.15) contrast(1.05)}
.about p,.intro p.lead,.cs p,.connect p{color:var(--ink)}

/* buttons: flat red blocks */
.cta,.btn,.head a.cta{background:var(--gold)!important;color:#fff!important;border-radius:0;font:700 13px var(--font)!important;letter-spacing:.14em!important}
.cta:hover,.btn:hover,.head a.cta:hover{background:var(--ink)!important;color:var(--bg)!important}
.btn.ghost{background:none!important;color:var(--ink)!important;border:1px solid var(--ink)}

/* links: underlined, like his emails */
.cs p a,.mail,.reveal-mail a{color:var(--ink);border-bottom:0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.cs p a:hover,.mail:hover{color:var(--gold)}
.mail{font-family:var(--font)}

/* bands */
.news,.connect{background:#111}
.svc b{color:var(--gold)}
.copy{color:var(--ink);border-color:var(--line)}

/* the floating screenplay page stays white paper */
.sheet{background:#f6f3ec!important}

/* script block */
.avscript{background:var(--card);border-radius:0;box-shadow:none}
.avscript .row{font-size:15.5px}
.avscript .row.head{font:700 13px var(--font);letter-spacing:.2em;color:var(--gold)}
.avmeta{font:400 12px var(--font);letter-spacing:.12em}
.avscript .who{font-weight:700;letter-spacing:.04em}
.avscript .fx{font-weight:700;font-size:13px}
.avpdf{font:700 13px var(--font);letter-spacing:.14em}

.back,.meta,.next,footer,.social,.note,.avail,.disclaimer{font-family:var(--font)!important}
.disclaimer{color:var(--muted)}

/* readability pass: slightly heavier, brighter typewriter text on black */
:root{--ink:#f6f3ec;--muted:#c2bbaf}
body{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto;font-size:17px}
body{-webkit-text-stroke:.3px currentColor}
h1,h2,.hero .name,.cap h3,.svc h3,.post-title,.next strong,.connect h2,.news h3,.logo,.sheet,.sheet *{-webkit-text-stroke:0}
.about p,.intro p.lead,.cs p,.connect p{font-size:17px;line-height:1.8}
.cap p,.svc p,.post-sub,.avail{font-size:15.5px}
.strip,nav,.cap .meta,.back,.meta,footer,.social{color:var(--muted)}

/* about: heading placed like Portfolio; bio broken into beats */
#about .head{margin-bottom:48px}
.about{grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start}
.author{padding:18px 18px 22px}
.author .ph{margin-left:0;padding:0;border:0}
.author figcaption{margin:18px 0 0;font-family:var(--font)!important}
.bio{max-width:600px}
.bio p{margin-bottom:22px}
.bio .bio-lead{font:700 clamp(19px,1.9vw,23px)/1.6 var(--font);color:var(--ink);padding-left:22px;border-left:3px solid var(--gold);margin-bottom:30px}
.bio .bio-close{color:var(--gold);font-weight:700;font-size:19px;margin:30px 0 0}
.bio-quote{margin:34px 0 0;padding:4px 0 4px 24px;border-left:3px solid var(--gold)}
.bio-quote p{font-size:19px!important;line-height:1.7!important;margin-bottom:14px}
.bio-quote p:last-child{margin-bottom:0;font-weight:700}
@media(max-width:900px){.about{grid-template-columns:1fr;gap:40px}.author{max-width:360px;margin:0}}
@media(max-width:620px){.author figcaption span{white-space:normal;letter-spacing:.06em}}

/* caption: title only, larger and bold */
.author figcaption{margin-top:16px}
.author figcaption span{margin:0;font:700 14px/1.5 var(--font)!important;letter-spacing:.05em!important;color:var(--ink)!important;text-transform:uppercase;white-space:normal}

/* contact: one big email button + plain address */
.contact .cta.big{font-size:16px!important;padding:22px 56px;letter-spacing:.16em!important}
.contact .note{margin-top:20px;font-size:15px}
.plain-mail{color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.plain-mail:hover{color:var(--gold)}

/* short-form ad breakdowns: video + strategy side by side */
.ad{display:grid;grid-template-columns:minmax(0,360px) 1fr;gap:56px;align-items:start}
.ad.right{grid-template-columns:1fr minmax(0,360px)}
.adv video{width:100%;aspect-ratio:9/16;object-fit:cover;background:#000;display:block;border:1px solid var(--line)}
.adt h3{font:900 clamp(18px,1.8vw,22px)/1.2 var(--head);font-stretch:125%;text-transform:uppercase;color:var(--ink);margin-bottom:22px;-webkit-text-stroke:0}
.adt p{max-width:600px}
@media(max-width:820px){.ad,.ad.right{grid-template-columns:1fr;gap:28px}.ad.right .adv{order:-1}.adv{max-width:360px}}
