@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/DMSerifDisplay-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/DMSerifDisplay-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/DMSerifDisplay-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/DMSerifDisplay-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/IBMPlexMono-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/IBMPlexMono-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/IBMPlexMono-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'IBM Plex Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/IBMPlexMono-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Newsreader-italic-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Newsreader-italic-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Newsreader-normal-400-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/Newsreader-normal-400-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/Newsreader-normal-500-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Newsreader';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/fonts/Newsreader-normal-500-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* mrcuculain.com — site styles */
:root{
  --ink:#111111; --paper:#ffffff; --grey:#6b6b6b; --soft:#f2f2f2; --body:#444444;
  --red:#c8202b; --red-on-dark:#e0343f;
  --pad:clamp(20px,4vw,40px);
  --gap:clamp(16px,2vw,24px);
  --section:clamp(56px,8vw,96px);
  --serif:'DM Serif Display',Georgia,'Times New Roman',serif;
  --text:'Newsreader',Georgia,'Times New Roman',serif;
  --mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:clamp(17px,1.2vw,19px);line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
a:hover{color:var(--red)}
a:focus-visible,button:focus-visible{outline:2px solid var(--red);outline-offset:3px}
p{margin:0}
figure{margin:0}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:12px 16px;z-index:10}
.skip:focus{left:8px;top:8px}

.mono{font-family:var(--mono);font-size:13px;letter-spacing:.06em;text-transform:uppercase;line-height:1.4}
.serif{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.muted{color:var(--grey)}
.accent{color:var(--red)}
.wrap{width:100%;max-width:1440px;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad)}
.section{padding-top:var(--section);padding-bottom:var(--section)}
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gap)}

/* header */
.site-header{display:flex;justify-content:space-between;align-items:center;gap:16px 24px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
.brand{display:flex;align-items:center;gap:12px;min-height:44px;margin-right:auto}
.brand img{width:40px;height:40px}
.brand span{font-family:var(--serif);font-size:28px;line-height:1}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px}
.nav a{display:inline-flex;align-items:center;min-height:44px}
.nav a[aria-current="page"]{color:var(--red)}
.langs{display:flex;align-items:center;gap:4px;color:var(--grey)}
.langs a,.langs span{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:44px}
.langs [aria-current="true"]{color:var(--ink)}
@media (max-width:760px){
  .site-header{padding-top:12px;padding-bottom:4px;gap:0 12px}
  .brand img{width:32px;height:32px}
  .brand span{font-size:24px}
  .langs{order:2}
  .nav{order:3;width:100%;justify-content:space-between;gap:0 12px;border-top:1px solid var(--ink)}
}

/* home hero */
.hero{align-items:end;padding-top:clamp(8px,2vw,24px);padding-bottom:var(--section)}
.hero-logo{grid-column:span 7;margin-left:calc(-1 * var(--pad))}
.hero-logo img{width:100%;max-width:760px}
.hero-text{grid-column:span 5;display:flex;flex-direction:column;gap:24px;padding-bottom:24px}
.statement{font-family:var(--serif);font-size:clamp(28px,3.1vw,44px);line-height:1.1}
@media (max-width:900px){
  .hero-logo,.hero-text{grid-column:1 / -1}
  .hero-logo img{max-width:520px}
}

/* dark band */
.band{background:var(--ink);color:#fff;padding:clamp(48px,6vw,72px) 0 clamp(56px,7vw,80px)}
.band a:hover{color:var(--red-on-dark)}
.band .accent{color:var(--red-on-dark)}
.band-inner{display:flex;flex-direction:column;gap:clamp(24px,3vw,40px)}
.row-between{display:flex;justify-content:space-between;align-items:baseline;gap:12px 24px;flex-wrap:wrap}
.band h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(64px,9vw,120px);line-height:.9}
.band p{font-size:clamp(18px,1.7vw,24px);line-height:1.45;color:#e8e8e8;max-width:760px}
.button{display:inline-flex;align-items:center;min-height:44px;padding:12px 20px;border:1px solid currentColor}

/* teaser video */
.teaser{position:relative}
.teaser video{width:100%;aspect-ratio:32/9;object-fit:cover;background:#000}
.teaser-toggle{position:absolute;right:12px;bottom:12px;min-width:44px;min-height:44px;padding:0 14px;border:0;background:rgba(17,17,17,.75);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.teaser-toggle:hover{background:#000}
@media (max-width:640px){ .teaser video{aspect-ratio:16/9} }

/* archive list */
.archive-head{margin-bottom:clamp(20px,3vw,32px)}
.archive-head h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(48px,5vw,72px);line-height:1}
.archive{border-bottom:1px solid var(--ink)}
.arow{display:grid;grid-template-columns:56px minmax(0,3fr) minmax(0,1fr) minmax(0,2fr) 200px;gap:var(--gap);align-items:center;padding:20px 0;border-top:1px solid var(--ink)}
.arow .title{font-family:var(--serif);font-size:clamp(28px,2.8vw,40px);line-height:1}
.arow .desc{font-size:17px;color:var(--body)}
.arow img{width:100%;height:112px;object-fit:cover;background:#000}
@media (max-width:900px){
  .arow{grid-template-columns:40px minmax(0,1fr) 120px;row-gap:6px}
  .arow .years,.arow .desc{grid-column:2}
  .arow .thumb{grid-column:3;grid-row:1 / span 3}
  .arow .num{grid-row:1 / span 3;align-self:start;padding-top:6px}
  .arow .desc{font-size:16px}
}
@media (max-width:480px){
  .arow{grid-template-columns:28px minmax(0,1fr) 88px}
  .arow img{height:64px}
  .arow .desc{display:none}
}

/* duo */
.duo-section{background:var(--soft)}
.duo-intro{display:flex;flex-direction:column;gap:16px;max-width:900px;margin-bottom:clamp(32px,4vw,56px)}
.duo-intro p{font-family:var(--serif);font-size:clamp(26px,2.8vw,40px);line-height:1.15}
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,4vw,48px)}
.person{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--ink);padding-top:24px}
.person h3{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(34px,3vw,44px);line-height:1}
@media (max-width:760px){ .duo{grid-template-columns:1fr} }

/* footer */
.site-footer{padding-top:var(--section);padding-bottom:40px;display:flex;flex-direction:column;gap:40px}
.big-mail{font-family:var(--serif);font-size:clamp(30px,6vw,72px);line-height:1.05;overflow-wrap:anywhere}
.foot-meta{display:flex;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:20px;color:var(--grey)}
.foot-meta a{color:var(--grey)}

/* project pages */
.page-head{padding-top:clamp(24px,5vw,56px);padding-bottom:clamp(32px,5vw,48px);align-items:end}
.page-head .title-block{grid-column:span 7;display:flex;flex-direction:column;gap:16px}
.page-head .aside{grid-column:9 / span 4}
.page-title{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(64px,13vw,200px);line-height:.85}
.page-title.long{font-size:clamp(52px,9vw,128px);line-height:.92}
.quote{margin:0;display:flex;flex-direction:column;gap:12px}
.quote p{font-family:var(--serif);font-style:italic;font-size:clamp(20px,1.8vw,26px);line-height:1.25}
@media (max-width:900px){ .page-head .title-block,.page-head .aside{grid-column:1 / -1} }

.lead-grid .lead{grid-column:1 / span 5;font-family:var(--serif);font-size:clamp(28px,2.8vw,40px);line-height:1.15}
.lead-grid .body{grid-column:7 / span 6;display:flex;flex-direction:column;gap:20px}
@media (max-width:900px){ .lead-grid .lead,.lead-grid .body{grid-column:1 / -1} }

.h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(40px,4vw,56px);line-height:1}
.block-head{margin-bottom:24px}

.video-link{position:relative;display:block;background:#000}
.video-link img{width:100%;aspect-ratio:16/9;object-fit:cover}
.video-link .play{position:absolute;left:clamp(16px,2.5vw,32px);bottom:clamp(16px,2.5vw,32px);display:flex;align-items:center;gap:16px}
.play-dot{width:clamp(52px,5vw,72px);height:clamp(52px,5vw,72px);border-radius:50%;background:var(--red);display:flex;align-items:center;justify-content:center}
.play-label{background:#fff;color:var(--ink);padding:8px 12px}
.video-frame{position:relative;width:100%;aspect-ratio:16/9;background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

.film{align-items:center;border-top:1px solid var(--ink);padding-top:24px}
.film .media{grid-column:span 7}
.film .info{grid-column:9 / span 4;display:flex;flex-direction:column;gap:12px}
@media (max-width:900px){ .film .media,.film .info{grid-column:1 / -1} }

.caps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--gap);border-top:1px solid var(--ink);padding-top:24px}
.cap{display:flex;flex-direction:column;gap:10px}
.cap img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#fff}
.cap .serif{font-size:clamp(22px,2vw,30px);line-height:1.05}
@media (max-width:900px){ .caps{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (max-width:600px){ .caps{grid-template-columns:repeat(2,minmax(0,1fr))} }

.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.step{padding:20px 24px 0 0;display:flex;flex-direction:column;gap:6px}
.step .serif{font-size:clamp(22px,2vw,28px);line-height:1.1}
.step .d{font-size:17px;color:var(--body)}
@media (max-width:900px){ .steps{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:480px){ .steps{grid-template-columns:1fr} }

.bleed img{width:100%;max-height:88vh;object-fit:cover}
.cap-line{margin-top:12px;margin-bottom:clamp(56px,8vw,96px)}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.two img{width:100%;aspect-ratio:3/2;object-fit:cover}
.three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:end}
@media (max-width:700px){ .two,.three{grid-template-columns:1fr} }
.feature{align-items:center}
.feature .img{grid-column:span 5}
.feature .txt{grid-column:7 / span 6;display:flex;flex-direction:column;gap:20px}
.feature .txt p.serif{font-size:clamp(28px,3vw,44px);line-height:1.12}
@media (max-width:900px){ .feature .img,.feature .txt{grid-column:1 / -1} .feature .img{max-width:520px} }
.end{display:flex;flex-direction:column;align-items:center;gap:28px;text-align:center}
.end img{max-width:560px;width:100%}
.end p{font-family:var(--serif);font-style:italic;font-size:clamp(32px,3.5vw,48px);line-height:1.1}
.next-link{align-items:center;border-top:1px solid var(--ink);padding-top:24px}
.next-link .img{grid-column:span 4}
.next-link .img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.next-link .txt{grid-column:6 / span 7;display:flex;flex-direction:column;gap:12px}
.next-link .txt .serif{font-size:clamp(36px,4vw,56px);line-height:1}
@media (max-width:700px){ .next-link .img,.next-link .txt{grid-column:1 / -1} }

.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.gallery figure.wide{grid-column:1 / -1}
.gallery figure.solo{grid-column:1 / -1;justify-self:center;width:min(100%,560px)}
.gallery img{width:100%;height:100%;object-fit:cover}
@media (max-width:700px){ .gallery{grid-template-columns:1fr} }

.page-foot{display:flex;justify-content:space-between;gap:12px 16px;flex-wrap:wrap;border-top:1px solid var(--ink);padding-top:20px;padding-bottom:40px;color:var(--grey)}
.page-foot a{color:var(--grey)}
.page-foot a.strong{color:var(--ink)}

/* dark page (Eclipsi) */
body.dark{background:var(--ink);color:#fff}
body.dark a:hover{color:var(--red-on-dark)}
body.dark .accent,body.dark .nav a[aria-current="page"]{color:var(--red-on-dark)}
body.dark .muted,body.dark .langs{color:#9a9a9a}
body.dark .langs [aria-current="true"]{color:#fff}
body.dark .brand img{filter:invert(1)}
body.dark .nav{border-color:#fff}
body.dark .page-foot,body.dark .rule{border-color:#444}
body.dark .page-foot a{color:#9a9a9a}
body.dark .page-foot a.strong{color:#fff}
.dark .body-copy{color:#e6e6e6}
.coda{font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.2vw,30px);line-height:1.2;color:#fff}
.credits{border-top:1px solid #fff;padding-top:24px}
.credits > div{grid-column:span 4;display:flex;flex-direction:column;gap:6px}
@media (max-width:760px){ .credits > div{grid-column:1 / -1} }
.rehearsal-pair .a{grid-column:span 7}
.rehearsal-pair .b{grid-column:1 / span 6}
.rehearsal-pair img,.rehearsal-wide img{width:100%;aspect-ratio:16/9;object-fit:cover}
@media (max-width:700px){ .rehearsal-pair .a,.rehearsal-pair .b{grid-column:1 / -1} }
.stills figure{grid-column:span 4;display:flex;flex-direction:column;gap:12px}
.stills .sq{width:100%;aspect-ratio:1/1;object-fit:cover}
@media (max-width:700px){ .stills figure{grid-column:1 / -1} }

.notfound{min-height:60vh;display:flex;flex-direction:column;justify-content:center;gap:24px}

@media (prefers-reduced-motion:reduce){ *{scroll-behavior:auto!important} }
