/* aldertree.com. Tokens first; nothing below is hard-coded per theme. */
:root{--bg:#ffffff;--ink:#141414;--body:#3D3D3D;--mute:#6B6B6B;--rule:#141414;--hair:#DADADA;--plate:#E6E6E6;--plate-ink:#8A8A8A;--still:#2B2B2B;--still-ink:#9A9A9A;--cover-dark:#1A1A1A;--bar:#141414;--bar-ink:#ffffff;--bar-mute:#9A9A9A;--accent:#8A6D2B;--accent-ink:#ffffff;color-scheme:light}
@media (prefers-color-scheme:dark){
:root:not([data-theme="light"]){--bg:#151311;--ink:#EFEBE4;--body:#C6C1B8;--mute:#978F85;--rule:#EFEBE4;--hair:#332E2A;--plate:#262220;--plate-ink:#8A837A;--still:#0C0B0A;--still-ink:#6B655E;--cover-dark:#070605;--bar:#070605;--bar-ink:#EFEBE4;--bar-mute:#8A837A;--accent:#C9A95C;--accent-ink:#151311;color-scheme:dark}
:root:not([data-theme="light"]) .if-light{display:none}
:root:not([data-theme="light"]) .if-dark{display:inline}
}
:root[data-theme="dark"]{--bg:#151311;--ink:#EFEBE4;--body:#C6C1B8;--mute:#978F85;--rule:#EFEBE4;--hair:#332E2A;--plate:#262220;--plate-ink:#8A837A;--still:#0C0B0A;--still-ink:#6B655E;--cover-dark:#070605;--bar:#070605;--bar-ink:#EFEBE4;--bar-mute:#8A837A;--accent:#C9A95C;--accent-ink:#151311;color-scheme:dark}
:root[data-theme="dark"] .if-light{display:none}
:root[data-theme="dark"] .if-dark{display:inline}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:"Hanken Grotesk",Helvetica,Arial,sans-serif;font-size:15px;line-height:1.5;color:var(--ink);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased;display:flex;flex-direction:column}
main{flex:1}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
img{display:block;max-width:100%}
h1,h2,h3,p{margin:0;font-weight:500}
p{font-weight:400}
.if-dark{display:none}

/* Header and footer */
.site-header{background:var(--bar);color:var(--bar-ink);padding:0 40px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px;min-height:56px}
.logo{color:var(--bar-ink);display:flex;align-items:center}
.logo svg{height:36px;width:auto;display:block}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-size:15px;font-weight:500}
.nav a{color:var(--bar-ink)}
.nav a:hover{color:var(--accent)}
.nav a.active{text-decoration:underline;text-underline-offset:.3em;text-decoration-thickness:2px;text-decoration-color:var(--accent)}
.theme-toggle{font:inherit;font-size:14px;color:var(--bar-ink);background:none;border:1px solid var(--bar-mute);border-radius:999px;padding:6px 12px;min-height:32px;cursor:pointer;margin-left:8px}
.site-footer{background:var(--bar);color:var(--bar-mute);padding:40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;font-size:14px}
.site-footer .brand{color:var(--bar-ink);font-weight:500}
.footer-links{display:flex;flex-wrap:wrap;gap:24px}
.site-footer a{color:var(--bar-mute)}
.site-footer a:hover{color:var(--accent)}

/* Sections: headings sit on a 1px rule */
.section{padding:96px 40px 0}
.section-lg{padding-top:120px}
.section-first{padding-top:48px}
.section-end{padding-bottom:96px}
.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:20px;border-bottom:1px solid var(--rule)}
.section-head h1,.section-head h2{font-size:20px;font-weight:500;line-height:1.3}
.section-head .note{font-size:14px;color:var(--mute)}
.filters{display:flex;flex-wrap:wrap;gap:20px;font-size:14px}
.filters a{color:var(--mute)}
.filters a.active,.filterable .filters a[href="#all"]{color:var(--ink)}
.anchor{display:block;height:0}
#series:target~.cards .card:not([data-kind="series"]),#documentary:target~.cards .card:not([data-kind="documentary"]),#association:target~.cards .card:not([data-assoc]){display:none}
#series:target~.section-head .filters a,#documentary:target~.section-head .filters a,#association:target~.section-head .filters a{color:var(--mute)}
#series:target~.section-head .filters a[href="#series"],#documentary:target~.section-head .filters a[href="#documentary"],#association:target~.section-head .filters a[href="#association"]{color:var(--ink)}

/* Grid */
.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;padding-top:32px}
.c2{grid-column:span 2}.c3{grid-column:span 3}.c4{grid-column:span 4}.c5{grid-column:span 5}.c6{grid-column:span 6}.c7{grid-column:span 7}.c8{grid-column:span 8}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px;padding-top:32px}
.chapters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-top:32px}
.plates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-top:32px}

/* Media: ratios, placeholders */
.media{position:relative;background:var(--plate);overflow:hidden}
.media img{width:100%;height:100%;object-fit:cover}
.r-still{aspect-ratio:21/9;background:var(--still)}
.r-cover{aspect-ratio:2/3}
.r-plate{aspect-ratio:3/2}
.r-chapter{aspect-ratio:16/9}
.r-portrait{aspect-ratio:1/1;width:224px;border-radius:50%}
.cover-dark{background:var(--cover-dark);border:1px solid var(--hair)}
.still-tone{background:var(--still)}
.ph img{opacity:0}
.ph-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-size:13px;color:var(--plate-ink)}
.r-still .ph-label,.still-tone .ph-label{font-size:14px;color:var(--still-ink)}
.r-portrait .ph-label{font-size:12px}
.chapter-standin{display:flex;align-items:center;justify-content:center}
.chapter-standin span{font-family:"Courier New",monospace;font-size:22px;letter-spacing:.3em;color:transparent;-webkit-text-stroke:1.2px var(--stroke,#F4EFD8);padding:6px 12px 6px 20px}

/* Project cards */
.card{display:flex;flex-direction:column;gap:12px}
.card:hover{text-decoration:none;color:var(--ink)}
.card:hover .title{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.card-text{display:flex;flex-direction:column;gap:3px}
.cat{font-size:13px;font-weight:500;color:var(--accent)}
.assoc{font-size:13px;color:var(--mute)}
.card .title{font-size:17px;font-weight:500;line-height:1.25}
.card .detail{font-size:14px;color:var(--mute);line-height:1.4}

/* Home hero */
.hero-still{display:block}
.hero-line{align-items:baseline;padding:20px 40px 0}
.hero .kicker{font-size:14px;color:var(--mute)}
.hero h1{font-size:28px;font-weight:500;line-height:1.2}
.hero h1 .sub{font-weight:400;color:var(--mute)}
.hero .blurb{font-size:15px;line-height:1.5;color:var(--body)}

/* Work list: title line, grey detail line */
.work{display:flex;flex-direction:column;font-size:14px}
.work-item{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-bottom:1px solid var(--hair);color:var(--ink)}
.work-item:last-child{border-bottom:0}
.work-item .d{color:var(--mute)}
.work.row .work-item{flex-direction:row;justify-content:space-between;gap:16px;color:var(--body)}
.work.press{font-size:15px}
.work.press .work-item{gap:4px;padding:16px 0}
.work.press .work-item:first-child{padding-top:0}
.work.press .t{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:22px;line-height:1.2}
a.work-item:hover{text-decoration:none;color:var(--ink)}
a.work-item:hover .t{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}

/* Pair table: label, value */
.pairs{font-size:15px}
.pairs>div{display:flex;flex-direction:column}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--hair)}
.pair .k{color:var(--mute)}
.pairs.staff .k{color:var(--ink);font-weight:500}
.pairs.staff .v{color:var(--mute)}

/* Title page */
.title-page{padding:40px 40px 0;align-items:start}
.cover-col{display:flex;flex-direction:column;gap:12px}
.title-block{display:flex;flex-direction:column;gap:20px}
.title-head{display:flex;flex-direction:column;gap:8px}
.title-head h1{font-size:44px;font-weight:500;line-height:1.1;letter-spacing:-.01em}
.title-head .sub{font-size:17px;color:var(--mute)}
.title-head .sub.ink{color:var(--ink)}
.book{font-style:italic}
.synopsis{font-family:Newsreader,Georgia,serif;font-size:21px;line-height:1.45;max-width:50ch}
.actions{display:flex;flex-wrap:wrap;gap:32px;font-size:15px;font-weight:500}
.facts{padding-top:8px}
.press-grid{align-items:start}
.player{display:flex;flex-direction:column;gap:16px;border:1px solid var(--hair);padding:20px}
.player-head{display:flex;flex-direction:column;gap:3px}
.player-head .source{font-size:13px;color:var(--mute)}
.player-head .title{font-size:17px;font-weight:500;line-height:1.2}
.player iframe{width:100%;max-width:660px;height:175px;border:0;overflow:hidden;border-radius:10px;display:block;background:var(--plate)}
.player-links{display:flex;gap:24px;font-size:14px;font-weight:500}

/* Notes */
.notes{align-items:start}
.note-lead{display:flex;flex-direction:column;gap:16px}
.note-lead h2,.note-lead h3{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:32px;line-height:1.15;max-width:24ch}
.note-lead p{font-family:Newsreader,Georgia,serif;font-size:18px;line-height:1.5;color:var(--body);max-width:60ch}
.byline{font-size:14px;color:var(--mute)}
.note-list{display:flex;flex-direction:column}
.note-list a{display:flex;flex-direction:column;gap:8px;padding:24px 0;border-bottom:1px solid var(--hair)}
.note-list a:first-child{padding-top:0}
.note-list a:last-child{border-bottom:0}
.note-list h2,.note-list h3{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:22px;line-height:1.2}
a.note-lead:hover,.note-list a:hover{text-decoration:none;color:var(--ink)}
a.note-lead:hover h2,a.note-lead:hover h3,.note-list a:hover h2,.note-list a:hover h3{color:var(--accent);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}

/* Note page */
.note-page{padding:48px 40px 96px}
.note-head{grid-column:3/span 8;display:flex;flex-direction:column;gap:20px}
.note-head .kicker{font-size:14px;color:var(--mute)}
.note-head h1{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:44px;line-height:1.12;letter-spacing:-.005em}
.note-head .dek{font-family:Newsreader,Georgia,serif;font-size:22px;line-height:1.4;color:var(--body)}
.note-lead-image{grid-column:2/span 10;margin-top:24px}
.note-page .caption{grid-column:2/span 10;font-size:13px;color:var(--mute)}
.note-body{grid-column:3/span 8;display:flex;flex-direction:column;gap:22px;padding-top:32px;max-width:66ch}
.note-body p,.note-body li{font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.6;color:var(--body)}
.note-body h2,.note-body h3{font-size:19px;font-weight:500;margin-top:12px}
.note-body ul,.note-body ol{margin:0;padding-left:1.2em}
.note-body blockquote{margin:0;padding-left:20px;border-left:1px solid var(--hair)}
.note-body img,.note-body .media{width:100%}
.note-body a{text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
.related{grid-column:3/span 8;display:flex;flex-direction:column;gap:12px;padding-top:48px;margin-top:24px;border-top:1px solid var(--hair)}
.related .label{font-size:14px;color:var(--mute)}
.related a{display:flex;gap:16px;align-items:center}
.related .media{width:56px;flex:none}
.related .ph-label{display:none}
.related-text{display:flex;flex-direction:column;gap:2px}
.related .t{font-size:17px;font-weight:500}
.related .d{font-size:14px;color:var(--mute)}

/* Studio */
.statement{display:flex;flex-direction:column;gap:18px}
.statement p{font-family:Newsreader,Georgia,serif;font-size:22px;line-height:1.45;max-width:52ch}
.more{font-size:15px;font-weight:500;align-self:flex-start}
.people{padding:32px 40px 0}
.person{display:grid;grid-template-columns:224px minmax(0,1fr) 300px;gap:48px;align-items:start;padding:40px 0;border-top:1px solid var(--hair)}
.person:first-child{border-top:0}
.person:last-child{border-bottom:1px solid var(--hair)}
.person-text{display:flex;flex-direction:column;gap:4px}
.person h2{font-size:22px;font-weight:500;line-height:1.2}
.person .role{font-size:15px;color:var(--mute)}
.person .bio{margin-top:14px;font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.55;color:var(--body);max-width:62ch}
.selected{display:flex;flex-direction:column;font-size:14px}
.selected .label{font-size:13px;color:var(--mute);padding-bottom:8px;border-bottom:1px solid var(--rule)}
.contact{font-size:15px}
.contact-block{display:flex;flex-direction:column;gap:6px}
.contact-block .label{color:var(--mute)}
.contact-block .text{color:var(--body)}

/* Long Play */
.lp{align-items:start}
.lp-text{display:flex;flex-direction:column;gap:12px}
.lp-status{font-size:13px;color:var(--mute)}
.lp-text h3{font-size:24px;font-weight:500;line-height:1.2}
.lp-text p{font-size:15px;line-height:1.5;color:var(--body);max-width:52ch}

/* 404 */
.notfound{padding:160px 40px 200px;display:flex;flex-direction:column;align-items:flex-start;gap:20px;max-width:720px}
.notfound .kicker{font-size:14px;color:var(--mute)}
.notfound h1{font-family:Newsreader,Georgia,serif;font-weight:500;font-size:44px;line-height:1.12}
.notfound p{font-family:Newsreader,Georgia,serif;font-size:20px;line-height:1.5;color:var(--body);max-width:50ch}
.notfound .actions{gap:28px;padding-top:8px}

/* Narrower screens. Nothing hides. */
@media (max-width:1024px){
.person{grid-template-columns:224px minmax(0,1fr)}
.selected{grid-column:2}
.title-page .c3{grid-column:span 4}.title-page .c5{grid-column:span 8}.title-page .c4{grid-column:span 12}
.cards,.chapters{grid-template-columns:repeat(3,minmax(0,1fr))}
.hero-line .c2{grid-column:span 12}.hero-line .c6{grid-column:span 7}.hero-line .c4{grid-column:span 5}
.lp .c3{grid-column:span 4}.lp .c5{grid-column:span 8}.lp .c4{grid-column:span 12}
.press-grid .c7,.press-grid .c5{grid-column:span 12}
.note-head,.note-body,.related{grid-column:2/span 10}
.note-lead-image,.note-page .caption{grid-column:1/span 12}
}
@media (max-width:640px){
.site-header{padding:12px 20px;flex-direction:column;align-items:flex-start;gap:12px}
.nav{gap:20px}
.section,.title-page,.people{padding-left:20px;padding-right:20px}
.section{padding-top:64px}.section-lg{padding-top:80px}.section-first{padding-top:40px}.section-end{padding-bottom:64px}
.hero-line{padding:16px 20px 0}
.grid-12>*,.grid-12>.c2,.grid-12>.c3,.grid-12>.c4,.grid-12>.c5,.grid-12>.c6,.grid-12>.c7,.grid-12>.c8{grid-column:1/-1}
.cards,.chapters,.plates{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
.chapter-standin span{font-size:14px;letter-spacing:.2em;padding:4px 8px 4px 12px}
.person{grid-template-columns:1fr;gap:24px;padding:32px 0}
.selected{grid-column:auto}
.title-head h1,.note-head h1,.notfound h1{font-size:32px}
.synopsis{font-size:19px}
.note-lead h2,.note-lead h3{font-size:26px}
.note-page{padding:40px 20px 64px}
.note-body{max-width:none}
.site-footer{padding:32px 20px}
.notfound{padding:96px 20px 120px}
}
