:root { --ink:#11110f; --paper:#efede7; --accent:#d75b37; --line:rgba(17,17,15,.2); }
* { box-sizing:border-box; }
.visually-hidden { position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important; }
html { max-width:100%; overflow-x:hidden; overflow-x:clip; scroll-behavior:smooth; scroll-padding-top:24px; }
body { position:relative; width:100%; max-width:100%; margin:0; background:var(--paper); color:var(--ink); font-family:"DM Sans",sans-serif; font-size:16px; overflow-x:hidden; overflow-x:clip; }
main,section,footer { max-width:100%; min-width:0; }
a { color:inherit; }
.site-header { position:absolute; z-index:10; top:0; left:0; width:100%; display:flex; align-items:center; justify-content:space-between; padding:28px 4vw; color:white; }
.wordmark { font-size:.84rem; font-weight:600; letter-spacing:.09em; text-decoration:none; }
.wordmark span { opacity:.65; font-weight:400; }
nav { display:flex; gap:32px; }
nav a { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; }
nav a:hover { opacity:.65; }
.menu-toggle { display:none; color:white; background:none; border:0; font:inherit; }
.hero { position:relative; min-height:100svh; color:white; display:flex; align-items:flex-end; overflow:hidden; }
.hero-collage { position:absolute; inset:-3%; display:grid; grid-template-columns:1.2fr .8fr 1fr .9fr; gap:8px; background:#080808; transform:rotate(-2deg) scale(1.08); }
.hero-art { display:block; background-position:center; background-size:cover; filter:saturate(.72) contrast(1.08); }
.hero-art-one { background-image:url("Assets/situations poster.png"); background-position:48% 32%; }
.hero-art-two { background-image:url("Assets/dad-jokes-poster.jpg"); }
.hero-art-three { background-image:url("Assets/straight-up-stand-up-poster.jpg"); }
.hero-art-four { background-image:url("Assets/ridiculousness-poster.jpg"); }
.hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.3),rgba(0,0,0,.05)),linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.18) 38%,rgba(0,0,0,.85)); }
.hero-content { position:relative; z-index:1; width:100%; padding:0 4vw 8vh; }
.eyebrow,.section-number { text-transform:uppercase; letter-spacing:.12em; font-size:.7rem; font-weight:600; }
.hero h1 { max-width:1100px; margin:18px 0 30px; font-family:"Instrument Serif",serif; font-size:clamp(3.8rem,8.5vw,8.5rem); line-height:.85; font-weight:400; letter-spacing:-.035em; }
em { font-weight:400; }
.watch-link { display:inline-flex; gap:18px; align-items:center; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,.65); font-size:.78rem; text-decoration:none; text-transform:uppercase; letter-spacing:.08em; }
.location { position:absolute; right:4vw; bottom:8vh; z-index:1; margin:0; font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; writing-mode:vertical-rl; }
.page-section { padding:120px 4vw; }
.intro,.current-project,.catalog,.social-feed,.about,.contact { scroll-margin-top:20px; }
.intro { display:grid; grid-template-columns:1fr 3fr; border-bottom:1px solid var(--line); }
.section-number { margin:8px 0; }
.statement { max-width:1050px; margin:0; font-family:"Instrument Serif",serif; font-size:clamp(2.3rem,4.3vw,4.8rem); line-height:1.02; }
.current-project { display:grid; grid-template-columns:1.2fr .8fr; min-height:860px; background:var(--ink); color:var(--paper); }
.current-trailer { padding:7vw 3vw 7vw 4vw; display:flex; align-items:center; }
.current-trailer iframe { width:100%; aspect-ratio:16/9; border:0; background:#000; box-shadow:0 30px 80px rgba(0,0,0,.45); }
.current-copy { padding:110px 7vw; display:flex; flex-direction:column; justify-content:center; }
.current-poster-small { width:min(210px,58%); aspect-ratio:2/3; object-fit:contain; margin:24px 0 18px; align-self:flex-start; }
.current-copy h2,.social-heading h2,.about h2,.contact h2 { font:400 clamp(3.4rem,7vw,7.6rem)/.88 "Instrument Serif",serif; letter-spacing:-.03em; margin:0; }
.current-copy h2 { margin:30px 0; color:#e7dfd2; }
.status { color:#e37757; text-transform:uppercase; letter-spacing:.12em; font-size:.68rem; }
.project-logline { max-width:570px; font:400 clamp(1.5rem,2.3vw,2.3rem)/1.25 "Instrument Serif",serif; color:rgba(255,255,255,.78); }
.project-facts { margin:45px 0; border-top:1px solid rgba(255,255,255,.2); }
.project-facts div { display:grid; grid-template-columns:120px 1fr; gap:20px; padding:13px 0; border-bottom:1px solid rgba(255,255,255,.16); }
.project-facts dt { color:rgba(255,255,255,.45); font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; }
.project-facts dd { margin:0; font-size:.76rem; }
.project-cta { align-self:flex-start; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.7); padding-bottom:6px; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; }
.project-links { display:flex; align-items:flex-start; flex-direction:column; gap:18px; }
.catalog { contain:inline-size; overflow:hidden; max-width:100%; }
.catalog-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:70px; }
.catalog-head h2 { margin:50px 0 0; font:400 clamp(3.5rem,6.5vw,7.2rem)/.86 "Instrument Serif",serif; letter-spacing:-.03em; }
.catalog-controls { display:flex; align-items:center; gap:18px; }
.catalog-controls p { min-width:58px; text-align:center; font-size:.68rem; letter-spacing:.1em; }
.catalog-button { width:48px; height:48px; border:1px solid var(--ink); border-radius:50%; background:transparent; color:var(--ink); cursor:pointer; font-size:1.1rem; transition:background .2s,color .2s; }
.catalog-button:hover:not(:disabled) { background:var(--ink); color:var(--paper); }
.catalog-button:disabled { opacity:.25; cursor:default; }
.catalog-track { display:flex; gap:24px; width:100%; max-width:100%; min-width:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-right:0; outline:none; }
.catalog-track.is-recentering { scroll-snap-type:none; scroll-behavior:auto; }
.catalog-track::-webkit-scrollbar { display:none; }
.catalog-card { flex:0 0 min(430px,72vw); scroll-snap-align:start; }
.catalog-poster { aspect-ratio:2/3; display:block; background-size:cover; background-position:center; color:white; text-decoration:none; overflow:hidden; transition:transform .35s,filter .35s; }
.catalog-poster:hover { transform:scale(.985); filter:saturate(1.15); }
.poster-dad-jokes { background-image:url("Assets/dad-jokes-poster.jpg"); }
.poster-ridiculous { background-image:url("Assets/ridiculousness-poster.jpg"); }
.poster-stand-up { background-image:url("Assets/straight-up-stand-up-poster.jpg"); }
.poster-america { background-image:url("Assets/message-for-america-poster.jpg"); }
.catalog-meta { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--ink); margin-top:14px; padding-top:15px; }
.catalog-meta h3 { margin:0 0 7px; font:400 1.8rem/1 "Instrument Serif",serif; }
.catalog-meta p { margin:0; font-size:.65rem; line-height:1.45; text-transform:uppercase; letter-spacing:.07em; }
.social-feed { contain:inline-size; display:block; background:var(--ink); color:var(--paper); overflow:hidden; max-width:100%; }
.social-heading h2 { margin-top:60px; font-size:clamp(3.3rem,5.8vw,6.8rem); }
.social-heading { display:flex; flex-direction:column; align-items:flex-start; }
.press-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:70px; }
.press-controls { display:flex; align-items:center; gap:18px; }
.press-controls p { min-width:58px; text-align:center; font-size:.68rem; letter-spacing:.1em; }
.social-feed .catalog-button { border-color:rgba(255,255,255,.7); color:var(--paper); }
.social-feed .catalog-button:hover:not(:disabled) { background:var(--paper); color:var(--ink); }
.press-track { display:flex; gap:24px; width:100%; max-width:100%; min-width:0; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-right:0; outline:none; }
.press-track.is-recentering { scroll-snap-type:none; scroll-behavior:auto; }
.press-track::-webkit-scrollbar { display:none; }
.press-card { flex:0 0 min(520px,76vw); scroll-snap-align:start; }
.press-image { display:block; aspect-ratio:4/3; background-position:center; background-size:cover; transition:filter .3s; }
.press-image:hover { filter:brightness(.82); }
.press-source { margin:16px 0 12px; font-size:.66rem; text-transform:uppercase; letter-spacing:.1em; }
.press-card h3 { min-height:2.1em; margin:0 0 24px; font:400 clamp(1.9rem,3vw,3rem)/1.02 "Instrument Serif",serif; }
.press-link { font-size:.7rem; text-transform:uppercase; letter-spacing:.09em; text-decoration:none; border-bottom:1px solid; padding-bottom:5px; }
.social-screening { background-image:url("Assets/social-screening.jpg"); }
.social-indiewire { background-image:url("Assets/social-indiewire.jpg"); }
.social-roadshow { background-image:url("Assets/social-roadshow.jpg"); }
.about { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; }
.portrait { min-height:0; aspect-ratio:1/1; background:#090909 url("Assets/Daniel Headshot.png") center/contain no-repeat; }
.about h2 { margin:55px 0; font-size:clamp(3.2rem,5.5vw,6.5rem); }
.about-copy>p:not(.section-number) { max-width:550px; line-height:1.75; color:#494842; }
.about-copy>a { display:inline-block; margin-top:30px; text-decoration:none; border-bottom:1px solid; padding-bottom:5px; font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; }
section.contact { background:#0b0b0a; color:#fff; padding-bottom:70px; }
.contact h2 { margin:70px 0 110px; }
.contact-row { display:flex; justify-content:space-between; align-items:flex-end; border-top:1px solid rgba(255,255,255,.32); padding-top:26px; }
.contact-row>a { font:400 clamp(1.4rem,2.5vw,2.6rem) "Instrument Serif",serif; }
.socials { display:flex; gap:28px; }
.socials a { display:inline-flex; align-items:center; gap:10px; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; text-decoration:none; }
.social-icon { width:34px; height:28px; display:inline-grid; place-items:center; border:1px solid currentColor; border-radius:7px; font-size:.64rem; font-weight:600; letter-spacing:.02em; line-height:1; }
.social-icon-imdb { width:42px; border-radius:4px; background:#f5c518; border-color:#f5c518; color:#111; font-size:.65rem; font-weight:600; letter-spacing:0; }
footer { display:flex; justify-content:space-between; background:var(--ink); color:#aaa99f; padding:30px 4vw; font-size:.66rem; text-transform:uppercase; letter-spacing:.09em; }
footer a { text-decoration:none; }
@media (max-width:760px) {
  .site-header { padding:22px 20px; }
  .menu-toggle { display:block; text-transform:uppercase; font-size:.7rem; letter-spacing:.1em; }
  nav { display:none; position:absolute; top:64px; left:20px; right:20px; padding:24px; background:var(--paper); color:var(--ink); flex-direction:column; gap:20px; }
  nav.open { display:flex; }
  .hero-content { padding:0 20px 12vh; }
  .hero h1 { font-size:clamp(3.8rem,18vw,6rem); }
  .location { display:none; }
  .page-section { padding:80px 20px; }
  .intro,.about { grid-template-columns:1fr; }
  .intro { gap:50px; }
  .hero-collage { grid-template-columns:1fr 1fr; transform:rotate(-2deg) scale(1.12); }
  .hero-art-three,.hero-art-four { display:none; }
  .current-project,.social-feed { grid-template-columns:1fr; }
  .current-trailer { padding:80px 20px 0; }
  .current-copy { padding:80px 20px; }
  .catalog-head { align-items:flex-start; gap:50px; flex-direction:column; }
  .catalog-track { padding-right:0; }
  .catalog-card { flex-basis:82vw; }
  .press-head { align-items:flex-start; gap:50px; flex-direction:column; }
  .press-track { padding-right:0; }
  .press-card { flex-basis:84vw; }
  .portrait { min-height:0; aspect-ratio:1/1; }
  .about-copy { padding-top:10px; }
  .contact h2 { margin:55px 0 80px; }
  .contact-row { align-items:flex-start; flex-direction:column; gap:50px; }
  footer { padding:25px 20px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
