/* No visible preview buttons on any page; keep keyboard/screen-reader pause. */
@media(max-width:900px){.link-arrow{display:none}}
button.film-loop-toggle:not([data-preview-surface]){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;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;box-shadow:none!important}
.film-loop-preview:has(.film-loop-toggle:not([data-preview-surface]):focus-visible){outline:2px solid var(--pink);outline-offset:4px}
:root{color-scheme:dark;--ink:#200603;--paper:#f4f2ea;--pink:#edafd5;--orange:#ef7650;--muted:#c4b2ab;--line:#ffffff35;--sans:"Inter Tight","Helvetica Neue",Arial,sans-serif;--brand:"Syncopate",Arial,sans-serif;--gutter:clamp(1.25rem,5vw,5rem)}
*{box-sizing:border-box}html{overflow-x:hidden;scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;overflow-x:hidden;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}body:after{content:"";position:fixed;inset:0;z-index:10;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p,figure,blockquote{margin:0}h1,h2,h3{font-weight:600;line-height:1.08;letter-spacing:-.045em}.shell{width:min(100% - 2*var(--gutter),1240px);margin-inline:auto}.section{padding-block:clamp(3.5rem,6vw,6.5rem)}.eyebrow{font-size:.875rem;font-weight:600;letter-spacing:.1em;line-height:1.5;margin-bottom:1.3rem}.skip-link{position:absolute;top:-120px;left:20px;z-index:40;background:var(--paper);color:var(--ink);padding:12px}.skip-link:focus{top:16px}.preview-banner{padding:.25rem 1rem;background:#311713;color:#cdbab3;text-align:center;font-size:.75rem;line-height:1.5}
.site-header{background:var(--pink);color:var(--ink)}.header-content{display:flex;flex-direction:column;align-items:center;gap:1.4rem;padding-block:2.15rem 2.4rem}.wordmark{font-family:var(--brand);font-size:clamp(1.1rem,2.25vw,1.9rem);font-weight:700;letter-spacing:-.045em;line-height:1.3;text-align:center}.site-header nav{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem 1.3rem;font-size:.875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.site-header nav a:hover{text-decoration:underline;text-underline-offset:.3em}
.opening{text-align:center;padding-top:clamp(2.5rem,4.2vw,4.5rem);padding-bottom:3rem}.opening h1{font-size:clamp(2.5rem,5.6vw,5.9rem);text-transform:uppercase;font-weight:500;letter-spacing:-.055em;line-height:1.12}.specialties{width:min(100%,950px);margin:2rem auto 0;padding:1.4rem 2rem;background:var(--orange);color:var(--ink);font-size:.875rem;font-weight:600;line-height:1.65;text-transform:uppercase;letter-spacing:.025em}.specialties p+p{margin-top:.65rem}.hero-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin:1.4rem 0 2rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:1rem;padding:.8rem 1.15rem;background:var(--paper);color:var(--ink);border:1px solid transparent;font-size:.9375rem;line-height:1.5;transition:background .2s}.button:hover{background:var(--pink)}.button-outline{background:transparent;color:var(--paper);border-color:#d5bfb4}.button-outline:hover{background:#ffffff10}.reel{max-width:1080px;margin-inline:auto}.film-picture{display:block;position:relative;width:100%;padding:0;background:var(--ink);border:0;overflow:hidden;text-align:left}.film-picture img{aspect-ratio:16/9;object-fit:contain;transition:filter .3s}.film-picture:hover img{filter:brightness(1.06)}.reel-picture{border:1px solid #ffffff15}.play-circle{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);height:4.5rem;width:4.5rem;display:grid;place-items:center;border:1px solid #ffffffaa;border-radius:50%;background:#20060399;color:var(--paper);font-size:1rem;padding-left:.15rem;backdrop-filter:blur(5px)}.reel figcaption{padding-top:1.2rem}.reel figcaption h2{font-size:1.15rem;letter-spacing:.025em;text-transform:uppercase;font-weight:500;line-height:1.4}.reel figcaption p{font-size:.875rem;color:var(--muted);margin-top:.65rem}.reel figcaption a{text-decoration:underline;text-underline-offset:.2em}.gemini-emblem{width:3.1rem;margin:2.1rem auto 0;filter:invert(1);mix-blend-mode:screen}
.light-section{background:var(--paper);color:var(--ink);color-scheme:light}.compact-heading{font-size:clamp(1.7rem,2.8vw,2.7rem);text-transform:uppercase;text-align:center;margin-bottom:1.8rem}.frame-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3rem}.frame-grid img{aspect-ratio:16/9;object-fit:contain;background:var(--ink)}
.thoth-section{background:var(--orange);color:var(--ink);color-scheme:light}.thoth-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.8rem}.thoth-heading h2{font-size:clamp(4rem,8vw,8.5rem);font-weight:500;text-transform:uppercase}.thoth-heading>div>p{font-size:clamp(1.2rem,2.4vw,2rem);line-height:1.4;margin-top:.65rem}.film-credit{text-align:right;font-size:.9375rem;line-height:1.6;max-width:22rem}.picture-action{position:absolute;right:.8rem;bottom:.8rem;padding:.4rem .65rem;background:#200603de;color:var(--paper);backdrop-filter:blur(5px);font-size:.875rem;line-height:1.5}.thoth-recognition{text-align:center;margin-top:2.5rem}.award-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:58rem;margin:auto}.award-pair p{font-size:clamp(1.65rem,3.8vw,3.7rem);font-weight:600;line-height:1.12;letter-spacing:-.035em}.award-pair p+p{border-left:1px solid #20060355}.recognition-note{max-width:45rem;margin:1.5rem auto 1rem;font-size:1rem}.editorial-link{display:inline-flex;align-items:center;gap:1.4rem;border-bottom:1px solid currentColor;padding-bottom:.3rem;font-size:.9375rem;line-height:1.5}.editorial-link:hover{opacity:.75}
.trilogy-heading{text-align:center;max-width:56rem;margin:0 auto 2.5rem}.trilogy-heading .eyebrow{opacity:.65}.trilogy-heading h2{font-size:clamp(3.7rem,8vw,8rem);font-weight:500;line-height:1;letter-spacing:-.06em}.trilogy-intro{font-size:1.125rem;line-height:1.65;margin-top:1.5rem}.film-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.film h3{font-size:clamp(1.5rem,2.15vw,2.1rem);margin-top:1.3rem;letter-spacing:-.025em}.film>p{margin-top:.55rem}.film .recognition{border-top:1px solid #20060333;padding-top:.85rem;margin-top:1rem;font-size:1rem;font-weight:600}.recognition span{font-size:.875rem;font-weight:400}.trilogy-footer{display:flex;align-items:center;justify-content:space-between;gap:3rem;border-top:1px solid #20060333;padding-top:1.5rem;margin-top:2.5rem}.trilogy-footer p{max-width:48rem;font-size:1rem}.trilogy-footer a{flex-shrink:0}
.credentials-section{text-align:center;border-block:1px solid #ef765066;padding-block:clamp(4rem,7vw,7.5rem)}.credentials-section .eyebrow{color:var(--pink)}.credentials-section h2{font-size:clamp(2.6rem,6.2vw,6.5rem);font-weight:500;line-height:1.06}.credentials-section h2 span{color:var(--pink)}.resolve-label{font-size:1.4rem;margin-top:1.75rem}.certification-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:1.5rem 0;margin:1.5rem 0 1.8rem;border-block:1px solid #ffffff45;gap:1rem}.certification-list li{font-size:clamp(1rem,1.8vw,1.4rem);font-weight:500}.work-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem;align-items:start}.work-layout h2{font-size:clamp(2.6rem,4.7vw,4.5rem)}.work-layout p{font-size:1.125rem}.work-links{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem;margin-top:1.6rem}.work-section .button{background:var(--ink);color:var(--paper)}.work-section .button:hover{background:#4a211d}
.testimonials-section{background:#321b24}.testimonials-section>.shell>.eyebrow{color:var(--pink)}.testimonials-section h2{font-size:clamp(2.6rem,4.7vw,4.5rem);margin-bottom:2.5rem}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem}.testimonial-grid blockquote{font-size:1.25rem;line-height:1.5}.testimonial-grid figcaption{margin-top:1.4rem;font-size:.875rem;color:var(--pink)}.thinking-section .eyebrow{opacity:.65}.thinking-statement{margin:1.25rem 0;font-weight:600}.text-button{border-left:0;border-right:0;border-top:0;border-radius:0;background:none;padding-inline:0;padding-top:0;text-align:left}
.pisces-section{border-top:1px solid var(--line)}.pisces-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:4rem}.pisces-section .eyebrow{color:var(--pink)}.pisces-section h2{font-size:clamp(2.7rem,5vw,5rem)}.project-status{color:var(--muted);margin-top:1.1rem}.project-details>p{font-size:1.125rem}.project-details details{margin-top:1.7rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-details summary{list-style:none;cursor:pointer;padding:1rem 0;display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:1rem}.project-details summary::-webkit-details-marker{display:none}.project-details summary span{font-size:1.5rem;transition:transform .25s}.project-details details[open] summary span{transform:rotate(45deg)}.detail-body{padding-bottom:1.3rem;color:var(--muted)}.project-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.4rem;margin-top:1.7rem}.project-actions .button{background:var(--pink)}
.site-footer{background:var(--pink);color:var(--ink);padding-block:2.5rem}.site-footer>.shell{display:flex;flex-direction:column;align-items:center;gap:1.3rem}.site-footer .wordmark{font-size:1.25rem}.contact-email{font-size:1rem;overflow-wrap:anywhere}.site-footer a:last-child{font-size:.875rem}.video-dialog{width:min(1100px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:1rem;background:var(--ink);color:var(--paper);border:1px solid var(--line);overflow:auto}.video-dialog::backdrop{background:#080607e8;backdrop-filter:blur(9px)}.video-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.video-toolbar h2{font-size:1rem;font-weight:500;line-height:1.5;letter-spacing:0}.close-video{border:0;background:none;display:flex;align-items:center;gap:1rem;font-size:.875rem;padding:.35rem}.close-video span{font-size:1.5rem}.video-container{aspect-ratio:16/9;background:#050404}.video-container iframe{display:block;width:100%;height:100%;border:0}.video-note{margin-top:1rem;color:var(--muted);font-size:.875rem}.video-note a{text-decoration:underline;text-underline-offset:.2em}body.video-open{overflow:hidden}
@media(max-width:850px){.trilogy-footer{flex-direction:column;align-items:flex-start;gap:1.5rem}.work-layout,.pisces-layout{gap:2.5rem}.testimonial-grid{gap:1.5rem}.opening h1{font-size:clamp(2.6rem,6.2vw,4rem)}.film-grid{gap:1rem}}
@media(max-width:620px){.header-content{padding-block:1.8rem;gap:1rem}.wordmark{font-size:1.1rem;letter-spacing:-.05em}.site-header nav{gap:.7rem 1rem;font-size:.875rem;letter-spacing:.025em}.opening h1{font-size:clamp(2.5rem,8.3vw,3.2rem);max-width:15ch;margin-inline:auto}.specialties{padding:1.2rem;font-size:.875rem;margin-top:1.5rem}.hero-actions{gap:.7rem;margin-bottom:1.6rem}.button{font-size:.9375rem;padding:.7rem .9rem;gap:.6rem}.reel figcaption h2{font-size:1rem}.play-circle{height:3rem;width:3rem;font-size:.875rem}.frame-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.thoth-heading{flex-direction:column;align-items:flex-start;gap:1rem}.thoth-heading h2{font-size:4.5rem}.film-credit{text-align:left}.award-pair{gap:.8rem}.award-pair p{font-size:1.7rem}.film-grid{grid-template-columns:1fr;gap:2.5rem}.film h3{font-size:2rem}.trilogy-intro{font-size:1rem}.trilogy-heading{margin-bottom:2rem}.work-layout,.pisces-layout{grid-template-columns:1fr;gap:1.8rem}.work-layout p{font-size:1rem}.testimonial-grid{grid-template-columns:1fr;gap:2.2rem}.testimonial-grid blockquote{font-size:1.25rem}.testimonial-grid figcaption{margin-top:1rem}.credentials-section h2{font-size:clamp(2.5rem,7.8vw,3.5rem)}.certification-list{grid-template-columns:1fr 1fr;padding-block:1.2rem;gap:1.1rem}.site-footer .wordmark{font-size:1rem}.video-dialog{padding:.8rem}.project-details>p{font-size:1rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}@media(prefers-contrast:more){:root{--muted:#e5d2ca;--line:#ffffff77}}

/* 2026-09-27 truth pass: whole-film authority with a calmer collaborative landing. */
.command-section{
  position:relative;
  overflow:hidden;
  text-align:left;
  background:
    radial-gradient(circle at 90% 12%,#edafd519,transparent 31%),
    linear-gradient(135deg,#170609 0%,#25090d 58%,#160608 100%);
}
.command-section:before{
  content:"";
  position:absolute;
  top:-13rem;
  right:-10rem;
  width:34rem;
  aspect-ratio:1;
  border:1px solid #edafd52b;
  border-radius:50%;
  box-shadow:0 0 0 4rem #edafd508,0 0 0 8rem #ef765006;
  pointer-events:none;
}
.command-section>.shell{position:relative;z-index:1;width:min(100% - 2*var(--gutter),86rem)}
.command-opening{
  display:grid;
  grid-template-columns:minmax(20rem,.8fr) minmax(30rem,1.2fr);
  gap:clamp(3rem,6vw,7rem);
  align-items:end;
  padding-bottom:clamp(2rem,3.5vw,3.5rem);
  border-bottom:1px solid #ef765066;
}
.command-section .eyebrow{margin-bottom:1rem;color:var(--orange)}
.command-section h2{
  max-width:8.5ch;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(3.25rem,5.7vw,6.3rem);
  font-weight:400;
  line-height:.9;
  letter-spacing:-.045em;
}
.command-section .command-copy{
  max-width:48rem;
  margin:0;
  color:#ead9d1;
  font-family:"Space Grotesk",var(--sans);
  font-size:clamp(1rem,1.16vw,1.19rem);
  line-height:1.7;
}
.command-section .command-copy p+p{margin-top:1.25rem;color:#cdb7af}
.command-section .resolve-label{margin-top:clamp(2rem,3vw,3rem);text-align:left}
.command-section .certification-list{margin-top:1rem;text-align:center}
.command-section>.shell>.editorial-link{margin-top:.25rem}

@media(max-width:900px){
  .command-opening{grid-template-columns:1fr;gap:1.75rem;align-items:start}
  .command-section h2{max-width:none}
  .command-section .command-copy{max-width:58rem}
}

/* Use the desktop side space while keeping the title, intro and film tops connected. */
@font-face{font-family:"Reenie Beanie";src:url("/assets/reenie-beanie.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Gemini Syne";src:url("/assets/syne-variable.ttf") format("truetype");font-weight:400 800;font-style:normal;font-display:swap}
#films{position:relative;overflow:hidden;isolation:isolate;padding-top:clamp(3rem,4.6vw,5.5rem)}
#films>.shell{position:relative;z-index:1}
.trilogy-zodiac-corner{position:absolute;z-index:0;top:0;right:0;width:clamp(22rem,38vw,42rem);aspect-ratio:1;overflow:hidden;border-radius:50%;transform:translate(52%,-52%);pointer-events:none;opacity:.08;mix-blend-mode:multiply}
.trilogy-zodiac-corner img{position:absolute;top:0;left:-19.83695652%;width:139.67391304%;height:100%;max-width:none;object-fit:contain;filter:grayscale(.45) contrast(1.08);animation:trilogy-zodiac-turn 64s linear infinite}
@keyframes trilogy-zodiac-turn{to{transform:rotate(360deg)}}
#films>.shell{width:min(100% - 2*var(--gutter),1600px)}
#films .trilogy-heading{max-width:none;margin-bottom:clamp(4.15rem,5vw,6.15rem)}
#films-heading{font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(2.8rem,5vw,5.65rem);font-weight:400;letter-spacing:.075em;text-transform:uppercase;line-height:1.04;text-shadow:0 1px 0 #fff9,0 3px 0 #b8796852,0 10px 18px #2006032e}
#films .trilogy-heading>.eyebrow{font-family:"Inter Tight",var(--sans);font-weight:700;letter-spacing:.12em;opacity:1;color:#6b2b25}
#films .trilogy-intro{max-width:61rem;margin-inline:auto;font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.0625rem,1.08vw,1.25rem);font-weight:400;line-height:1.72;letter-spacing:.002em;color:#351512}
#films .trilogy-intro strong{font-weight:700;color:var(--ink)}
#films .trilogy-intro i{font-weight:600;color:var(--ink)}
#films .trilogy-convergence{display:block;margin-top:clamp(1.25rem,1.7vw,1.8rem);font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.9rem,1.02vw,1.1rem);font-weight:400;line-height:1.55;letter-spacing:.055em;color:var(--ink);text-transform:uppercase}
#films .trilogy-intro{margin-top:clamp(2.35rem,2.7vw,3.45rem)}
#films .film>.trilogy-loop-preview{filter:drop-shadow(0 4px 3px #20060340) drop-shadow(0 18px 14px #20060359)}
#films .film .film-picture{-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
#films .film .film-picture:after{content:none}
#films .film .picture-action{z-index:2}
#films .film-grid{--film-gap:clamp(1.75rem,3vw,3.5rem);column-gap:var(--film-gap)}
#films .film h3{margin-top:1.6rem}
#films .film-grid .film{container-type:inline-size}
#films .film-grid .film h3{min-height:3.5rem;display:flex;align-items:center;justify-content:center;gap:.35em;text-align:center}
#films .film-grid .trilogy-moon h3{font-family:"Reenie Beanie","Noteworthy",cursive;font-size:min(3rem,11.5cqw);font-weight:400;line-height:1;letter-spacing:.015em;text-transform:uppercase;white-space:nowrap;transform:skewX(-6deg);transform-origin:center bottom}
#films .film-grid .trilogy-thoth h3{font-family:"Gemini Syne","Syne",var(--sans);font-size:min(3rem,14cqw);font-weight:650;line-height:1;letter-spacing:.015em;text-transform:uppercase}
#films .film-grid .trilogy-pisces h3{font-family:"Barlow Condensed",var(--sans);font-size:min(3rem,14cqw);font-weight:600;line-height:1;letter-spacing:.065em;text-transform:uppercase;white-space:nowrap}
#films .film-grid .film h3 .film-title-text{position:relative;display:inline-block}
#films .film-grid .film h3 .film-zodiac{position:absolute;top:50%;left:calc(100% + .35em);transform:translateY(-50%);font-family:"Apple Symbols","Segoe UI Symbol","Arial Unicode MS",sans-serif;font-size:.65em;font-weight:400;line-height:1;letter-spacing:0;text-transform:none;font-variant-emoji:text}
#films .trilogy-footer p{max-width:70ch;font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.125rem,1.1vw,1.25rem);line-height:1.75;letter-spacing:0;color:var(--ink)}
#films .trilogy-footer{margin-top:clamp(3.5rem,4.5vw,5.75rem);padding-top:2.2rem}
#films .trilogy-footer .editorial-link{font-size:clamp(1rem,1.05vw,1.125rem);font-weight:500}
#studio .editorial-link{font-size:clamp(1rem,1.05vw,1.125rem);font-weight:500}
@media(min-width:621px){#films-heading{white-space:nowrap}}
@media(min-width:621px){#films .trilogy-convergence{white-space:nowrap}}
@media(max-width:620px){#films .film .picture-action{display:none}}

/* Original posters, faithful vector laurels, and the authored essay. */
.film-media-layout{display:grid;grid-template-columns:minmax(0,.3fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center}.film-poster-column{width:100%;max-width:17rem;margin-inline:auto}.film-poster-column img{width:100%;height:auto;object-fit:contain}.film-main-preview{min-width:0}.laurel-grid img[src$=".svg"]{filter:none;opacity:1}
.essay-intro-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr);gap:clamp(2rem,5vw,5rem);align-items:end}.essay-title-accent{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:400;letter-spacing:-.05em;color:var(--pink)}.essay-intro-meta{padding-bottom:.5rem}.essay-opening .essay-intro-meta .page-subtitle{font-size:1.125rem;margin-top:0;max-width:25ch}.essay-intro-meta .essay-byline{color:var(--pink);margin-top:1.5rem}.essay-article .essay-text{font-family:Georgia,"Times New Roman",serif;font-size:1.1875rem;line-height:1.85;max-width:64ch}.essay-article .essay-text:first-child>p:first-child::first-letter{float:left;font-size:4rem;line-height:.95;margin:.1rem .45rem 0 0}.essay-diagrams{max-width:66rem;padding-block:2rem;border-block:1px solid #20060325;gap:2rem;isolation:isolate}.essay-diagrams img{mix-blend-mode:multiply}.essay-diagrams figcaption{font-family:var(--sans);font-size:.875rem;letter-spacing:.08em;text-transform:uppercase;text-align:center;line-height:1.5;margin-top:1.25rem;color:#6d534c}.essay-article .essay-gallery:not(.essay-diagrams){max-width:64rem}.essay-article .essay-conclusion{padding-top:1.5rem}.essay-article .essay-footer{max-width:76rem}
@media(max-width:850px){.essay-intro-layout{grid-template-columns:1fr;gap:2rem}.essay-opening .essay-intro-meta .page-subtitle{max-width:38ch}.essay-intro-meta .essay-byline{margin-top:1rem}}
@media(max-width:680px){.film-media-layout{grid-template-columns:1fr;gap:1.5rem}.film-poster-column{max-width:13rem}.essay-article .essay-text{font-size:1.0625rem;line-height:1.85}.essay-article .essay-text:first-child>p:first-child::first-letter{font-size:3.5rem}.essay-diagrams{gap:2rem;padding-block:1.5rem}.essay-diagrams figure{max-width:24rem;margin-inline:auto;width:100%}}

.essay-diagrams{background:var(--paper)}

/* Lift-Off's single-wreath canvas is narrower: align its foliage, not its canvas. */
.laurel-grid img[src$="THOTH_OfficialSelection_AustinLiftOff_2026.svg"]{object-position:left center;transform:translateY(.8%) scale(1.025);transform-origin:left center}

/* Essay only: readable copy, the original OS wheel, and equally sized diagrams. */
body:has(.essay-opening) .essay-opening .shell,body:has(.essay-opening) .essay-article>.shell{width:min(100% - 2*var(--gutter),1600px)}
.essay-opening .essay-intro-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(3rem,5vw,6rem);align-items:center}
.essay-opening .essay-intro-layout .page-title{font-size:clamp(3rem,4.2vw,5.4rem);line-height:1.1;max-width:22ch}
.essay-opening .essay-title-script{display:inline-block;font-family:"SignPainter","Snell Roundhand","Brush Script MT","Allura",cursive;font-size:1.1em;font-weight:400;font-style:normal;letter-spacing:.005em;line-height:1.1;color:#f889d4;text-shadow:0 0 18px #ff4d9d59,1px 1px 0 #ff255e4d}
.essay-opening .essay-intro-meta{padding:0;margin-top:2rem}
.essay-opening .essay-intro-meta .page-subtitle{font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.3rem,1.4vw,1.625rem);font-weight:500;line-height:1.5;max-width:34ch;color:#ead1dd}
.essay-opening .essay-intro-meta .essay-byline{margin:1.2rem 0 1.4rem;font-size:1rem}
.essay-wheel-column{display:flex;flex-direction:column;align-items:center;gap:1.6rem;min-width:0}
.essay-wheel-frame{position:relative;width:min(100%,32rem);aspect-ratio:1;border-radius:50%;overflow:hidden}
/* Remove only the source's empty white side margins; keep the complete circle. */
.essay-wheel-frame .essay-os-wheel{position:absolute;top:0;left:-19.83695652%;width:139.67391304%;height:100%;max-width:none;object-fit:contain;opacity:.78;filter:invert(1) saturate(1.25) contrast(1.15) brightness(1.12) drop-shadow(0 0 5px #ffac5847);mix-blend-mode:screen;animation:essay-zodiac-turn 84s linear infinite!important}
/* Explicitly requested rotation has a local pause control, not an OS setting change. */
.essay-wheel-frame .essay-os-wheel.is-paused{animation-play-state:paused!important}
.essay-wheel-toggle{background:transparent;border:1px solid #edafd53d;border-radius:2rem;padding:.4rem .85rem;font-size:.75rem;letter-spacing:.04em;color:#d4b7c8}
.essay-wheel-toggle:hover{border-color:#edafd580;background:#edafd509}
@keyframes essay-zodiac-turn{to{transform:rotate(360deg)}}
.essay-article .prose.essay-text{font-size:clamp(1.1875rem,1.15vw,1.3125rem);line-height:1.8;max-width:64ch}
.essay-article .prose.essay-text p+p{margin-top:1.75rem}
.essay-article .essay-gallery.essay-diagrams{max-width:1400px;align-items:start;gap:clamp(1.5rem,3vw,3rem);margin-block:4rem;padding-block:2.5rem}
.essay-diagram-picture{position:relative;aspect-ratio:1;overflow:hidden}
.essay-article .essay-diagram-picture img{width:100%;height:100%;max-height:none;object-fit:contain}
/* The rectangular zodiac source has blank padding, unlike the two square sources. */
.essay-article .essay-zodiac-picture img{position:absolute;top:0;left:-19.92882562%;width:139.85765125%;height:100%;max-width:none}
@media(max-width:850px){.essay-opening .essay-intro-layout{grid-template-columns:1fr;gap:3rem}.essay-wheel-frame{width:min(100%,22rem)}.essay-opening .essay-intro-meta .page-subtitle{max-width:36ch}.essay-article .essay-gallery.essay-diagrams{gap:1.5rem}}
@media(max-width:680px){.essay-opening .essay-intro-layout .page-title{font-size:clamp(2.6rem,8.7vw,3.6rem)}.essay-opening .essay-intro-meta{margin-top:1.5rem}.essay-opening .essay-intro-meta .page-subtitle{font-size:1.25rem}.essay-wheel-frame{width:min(100%,20rem)}.essay-article .prose.essay-text{font-size:1.0625rem;line-height:1.85}.essay-article .prose.essay-text p+p{margin-top:1.5rem}.essay-article .essay-gallery.essay-diagrams{gap:2rem;margin-block:2.5rem;padding-block:2rem}}

/* Public pages share the approved homepage palette and typography. */
/* Homepage opening only: OS-like light and type contrast, with the reel in front. */
.masthead-grain{display:none}
body:has(.opening-refinement) .site-header{position:relative;background:var(--brand-panel,var(--pink))}
body:has(.opening-refinement) .header-content{position:relative;z-index:3}
body:has(.opening-refinement) .masthead-grain{display:block;position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none;opacity:.075;mix-blend-mode:multiply}
/* Ryan explicitly requested this low-contrast texture to move; all other reduced-motion rules remain. */
.masthead-grain:before{content:"";position:absolute;inset:-50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");animation:masthead-grain-shift .55s steps(1,end) infinite!important}
@keyframes masthead-grain-shift{0%,100%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}}
/* The original Gemini type, with a little light and movement at both bookends. */
.site-header,.site-footer{--brand-panel:radial-gradient(ellipse at 50% 12%,#ffe7f01a,transparent 66%),radial-gradient(ellipse at 85% 100%,#f184b426,transparent 60%),#cf82b0;background:var(--brand-panel)}
.site-header .wordmark,.site-footer .wordmark{position:relative;isolation:isolate;background-image:linear-gradient(110deg,var(--ink) 34%,#602542 48%,var(--ink) 62%);background-size:300% 100%;background-position:100% 50%;background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 0 9px #fff3e740);animation:gemini-ink-shimmer 12s linear infinite;transition:filter .3s}
.site-header .wordmark:hover,.site-footer .wordmark:hover{filter:drop-shadow(0 0 12px #fff2eaa0)}
.site-header nav a{transition:text-shadow .2s}
.site-header nav a:hover{text-shadow:0 0 12px #fff3e7a0}
@keyframes gemini-ink-shimmer{0%,100%{background-position:100% 50%}50%{background-position:0 50%}}
.opening-refinement{position:relative;isolation:isolate}
.opening-refinement:before{content:"";position:absolute;z-index:-1;pointer-events:none;top:0;bottom:0;left:50%;width:100vw;background:radial-gradient(ellipse at 22% 28%,#e9569926,transparent 62%),radial-gradient(ellipse at 78% 42%,#ef76501f,transparent 66%),linear-gradient(180deg,#2a0907 0%,#260706 58%,#200603 100%);transform:translateX(-50%)}
.opening-refinement .specialties{position:relative;width:min(100%,1080px);padding:1.45rem 2rem 1.2rem;background:radial-gradient(ellipse at 50% 40%,#edafd50e,transparent 75%);color:var(--paper);text-transform:none;letter-spacing:0;border:0;box-shadow:none}
.opening-refinement .specialties-description{font-family:"Avenir Next",Avenir,var(--sans);font-size:1rem;font-weight:500;line-height:1.6;margin-top:.8rem;color:#e6cec4}
.opening-refinement .specialties-services{font-family:"Avenir Next",Avenir,var(--sans);font-size:.8125rem;font-weight:500;line-height:1.65;padding-top:.7rem;margin-top:.7rem;border-top:1px solid #edafd52b;color:#d4b9af}
.opening-refinement .specialties-services span{color:#f4acd3;font-weight:600}
.opening-refinement .specialties-original{margin-top:0;padding-top:0;border:0;font-size:1rem;font-weight:700;letter-spacing:.07em;color:#fff0dc;text-shadow:0 0 16px #f6a8cb3d,0 1px 0 #0008}
.opening-refinement .hero-actions{margin:1rem 0 1.6rem;gap:.8rem}
.opening-refinement .hero-actions .button{font-family:"Avenir Next",Avenir,var(--sans);font-weight:600;font-size:.875rem;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:background .2s,transform .2s}
.opening-refinement .hero-actions>.button:first-child{background:linear-gradient(110deg,#edafd5,#efb6c0)}
.opening-refinement .hero-actions>.button:first-child:hover{background:var(--paper);transform:translateY(-2px)}
.opening-refinement .hero-actions .button-outline{background:#edafd507;border-color:#edafd56b;color:#f4d8e7}
.opening-refinement .hero-actions .button-outline:hover{background:#edafd51c;transform:translateY(-2px)}
.opening-refinement .reel-picture{border-color:#edafd549;box-shadow:0 0 0 1px #ef76500d,0 0 42px #edafd50d,0 20px 48px #08040565}
.opening-refinement .play-circle{border-color:#f7c3dfbf;background:#29101acf;box-shadow:0 0 0 7px #edafd507,0 0 30px #edafd52d;transition:box-shadow .2s,background .2s}
.opening-refinement .reel-picture:hover .play-circle{background:#3c1726e6;box-shadow:0 0 0 9px #edafd50c,0 0 36px #edafd549}
.opening-refinement .reel figcaption{text-align:center;padding-top:1.7rem}
.opening-refinement .reel figcaption .reel-title-line{display:flex;justify-content:center;align-items:baseline;gap:.65rem;flex-wrap:nowrap;font-family:"Avenir Next",Avenir,var(--sans);font-size:.875rem;font-weight:400;text-transform:none;letter-spacing:0;line-height:1.5;white-space:nowrap}
.opening-refinement .reel-script{font-family:"SignPainter","Snell Roundhand","Brush Script MT","Allura",cursive;font-size:2.2rem;font-weight:400;font-style:normal;letter-spacing:.005em;line-height:1.2;color:#f889d4;text-shadow:0 0 18px #ff4d9d59,1px 1px 0 #ff255e4d}
.opening-refinement .reel-lead-in{font-size:.75em}
.opening-refinement .reel-credit{font-size:.9375rem;color:#e6cec4}
.opening-refinement .gemini-emblem{display:block;height:auto;filter:drop-shadow(0 0 9px #edafd555);mix-blend-mode:normal}
@media(max-width:1100px){.opening-refinement .reel figcaption .reel-title-line{gap:.5rem}.opening-refinement .reel-script{font-size:clamp(1.25rem,2.8vw,2rem)}.opening-refinement .reel-credit{font-size:.75rem}}
@media(max-width:620px){.opening-refinement .specialties{padding:1.1rem 1rem}.opening-refinement .specialties-description{font-size:.875rem}.opening-refinement .specialties-services{font-size:.75rem}.opening-refinement .specialties-original{font-size:.8125rem;line-height:1.8;letter-spacing:.045em}.opening-refinement .reel figcaption .reel-title-line{flex-wrap:wrap;column-gap:.5rem;row-gap:.2rem;white-space:normal}.opening-refinement .reel-script{font-size:1.75rem}}
/* A large, manually browsed image strip with neighboring frames in view. */
.film-carousel{background:var(--ink);padding:0 0 clamp(2rem,4vw,4rem)}
.carousel-viewport{--slide-width:min(78vw,1440px);position:relative;display:flex;gap:clamp(.75rem,1.4vw,1.75rem);width:100%;padding:1rem calc((100% - var(--slide-width))/2) 1.4rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y pinch-zoom}
.carousel-viewport::-webkit-scrollbar{display:none}
.carousel-viewport:focus-visible{outline:1px solid var(--pink);outline-offset:-2px}
.carousel-viewport.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.carousel-slide{flex:0 0 var(--slide-width);min-width:0;aspect-ratio:16/9;scroll-snap-align:center;scroll-snap-stop:always;background:#100706}
.carousel-slide img{width:100%;height:100%;object-fit:contain;border:1px solid #ffffff20;box-shadow:0 8px 22px #00000030;user-select:none}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:1.6rem;margin-top:.6rem}
.carousel-controls button{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid #edafd570;border-radius:50%;background:transparent;color:var(--pink);font-size:1.6rem;line-height:1;transition:background .2s,box-shadow .2s}
.carousel-controls button:hover{background:#edafd512;box-shadow:0 0 18px #edafd526}
.carousel-count{min-width:4.6rem;text-align:center;font-size:.8125rem;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--muted)}
.carousel-controls .carousel-auto{width:auto;min-width:3.4rem;height:2.75rem;padding-inline:.25rem;border:0;border-radius:0;font-size:.75rem;letter-spacing:.04em}
@media(max-width:620px){.carousel-viewport{--slide-width:84vw;gap:.75rem;padding-block:.65rem 1rem}.carousel-controls{gap:1.2rem}.carousel-controls button{width:2.75rem;height:2.75rem}}
.selected-frames{position:relative;isolation:isolate;padding-top:clamp(1.4rem,2vw,2.25rem);padding-bottom:clamp(.6rem,.9vw,.9rem);background:#eee9dd url("/assets/eggshell-construction-paper-v1.jpg") center/cover no-repeat}
.selected-frames:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='s'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23s)'/%3E%3C/svg%3E");animation:thoth-grain-shift .8s steps(1,end) infinite!important}
.selected-frames>.shell{width:min(100% - 2*var(--gutter),1800px)}
.selected-frames .compact-heading{font-family:"DIN Condensed","Barlow Condensed","Avenir Next Condensed",sans-serif;font-weight:600;letter-spacing:.09em;line-height:1.1;font-size:clamp(1.9rem,2.8vw,2.7rem);text-transform:uppercase;text-shadow:0 1px 0 #fff9,1px 2px 0 #b7a88b66,0 4px 8px #20060330}
.selected-frames .frames-actions{justify-content:center;margin-top:clamp(.55rem,.9vw,.9rem)}
.selected-frames .frames-actions .button-outline{border-color:#20060366;color:var(--ink)}
.selected-frames .frame-grid img,.selected-frame-preview{filter:drop-shadow(0 4px 3px #20060338) drop-shadow(0 18px 14px #20060352);transition:filter .25s,transform .25s}
.selected-frame-preview{position:relative;aspect-ratio:16/9;min-width:0;background:var(--ink);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
.selected-frame-preview:after{content:none}
.selected-frame-preview video{display:block;width:100%;height:100%;aspect-ratio:16/9;object-fit:contain}
/* Fill Moon's card by hiding its narrow baked-in border, without changing the 4K clip. */
.selected-frame-preview:has(#selected-top-left){overflow:hidden}
#selected-top-left{position:relative;left:-3.35%;top:-3.35%;width:106.7%;height:106.7%;max-width:none}
.selected-frame-preview .film-loop-toggle{position:absolute;right:.5rem;bottom:.5rem;z-index:1;border:1px solid #f4f2ea55;background:#200603a6;color:var(--paper);padding:.25rem .5rem;font:inherit;font-size:.7rem;line-height:1.2;border-radius:2px}
.selected-frame-preview .film-loop-toggle:hover{background:var(--ink)}
.selected-frame-preview .film-loop-toggle:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
@media(hover:hover) and (pointer:fine){.selected-frames .frame-grid img:hover,.selected-frame-preview:hover{transform:translateY(-3px);filter:drop-shadow(0 5px 4px #20060342) drop-shadow(0 22px 17px #2006035e)}}
/* A restrained return to the earlier THOTH display fonts and side note. */
#thoth{position:relative;isolation:isolate;background:linear-gradient(135deg,#cd6240 0%,#c75833 48%,#b94c2b 100%);box-shadow:inset 0 1px 0 #ffdeb526,inset 0 -18px 40px -32px #591a0d80,0 18px 48px -24px #20060399}
#thoth:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 22%,#ffe0ac0f 44%,#f4a6601f 50%,#ffe0ac0a 56%,transparent 78%);background-size:240% 100%;animation:thoth-light-pass 22s ease-in-out infinite alternate}
@keyframes thoth-light-pass{from{background-position:0% 50%}to{background-position:100% 50%}}
#thoth:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E");animation:thoth-grain-shift .8s steps(1,end) infinite!important}
@keyframes thoth-grain-shift{0%,100%{background-position:0 0}20%{background-position:-17px 11px}40%{background-position:13px -19px}60%{background-position:-11px -7px}80%{background-position:19px 17px}}
#thoth .thoth-heading h2{font-family:"Syne",var(--sans);font-size:clamp(3.6rem,6vw,5.75rem);font-weight:600;letter-spacing:-.045em}
#thoth .thoth-heading>div:first-child>p{font-family:"Space Grotesk",var(--sans);font-size:clamp(1.1rem,2vw,1.6rem);letter-spacing:-.025em}
#thoth .thoth-side-note{border-left:1px solid #20060345;padding-left:1.5rem;max-width:23rem;text-align:right;font-family:"Space Grotesk",var(--sans)}
#thoth .thoth-heading .thoth-side-note>p:first-child{font-size:clamp(1rem,1.2vw,1.25rem);font-weight:600;line-height:1.6;margin:0;letter-spacing:-.02em}
#thoth .thoth-side-note>p:first-child span{color:#ffe2ed;text-shadow:0 0 14px #ffb8dd45}
#thoth .thoth-side-note .film-credit{font-size:.8125rem;line-height:1.5;margin-top:.7rem;opacity:.75}
#thoth .thoth-recognition{margin-top:3.5rem}
#thoth .thoth-recognition>.eyebrow{font-size:clamp(.9375rem,1vw,1rem)}
#thoth .recognition-note{max-width:none;margin-top:2.3rem;font-family:var(--sans);font-size:clamp(1rem,1.1vw,1.25rem);font-weight:600;letter-spacing:.055em;line-height:1.55;text-transform:uppercase}
@media(min-width:1100px){#thoth .recognition-note{white-space:nowrap}}
@media(max-width:620px){#thoth .thoth-side-note{text-align:left;border-left:0;padding-left:0}#thoth .thoth-heading .thoth-side-note>p:first-child{font-size:1rem}}
/* Preserve the complete widescreen Pisces image without adding letterbox bars. */
.film-grid .film-picture:has(img[src="/assets/pisces-hallway.jpg"]){background:transparent}
.film-grid img[src="/assets/pisces-hallway.jpg"]{aspect-ratio:auto;object-fit:contain}
/* Trim only the source's 20px black top strip in the page; the original file stays intact. */
#films img[src="/assets/pisces-hallway.jpg"]{margin-top:-.520833333%}
/* Grow Pisces from its existing top-left corner, into the right-side space only.
   At full desktop size its complete widescreen image matches the other images' height. */
@media(min-width:621px){#films .film{container-type:inline-size}#films .film .film-picture{min-height:56.25cqw}#films .film:last-child .film-picture{width:133.663366%;max-width:calc(100% + max(var(--gutter), (100vw - 1600px)/2) - 1rem)}
/* Center the full visible spread, including Pisces' extra width, without shrinking any image. */
#films .film-grid{--film-overhang:min(calc((100% - 2 * var(--film-gap)) / 3 * .33663366),calc(max(var(--gutter), (100vw - 1600px)/2) - 1rem));transform:translateX(calc(var(--film-overhang) / -2))}}
/* Moving Eclipse cards keep the approved top alignment and wider Pisces frame. */
#films .trilogy-loop-preview{position:relative;width:100%}
#films .film>.trilogy-loop-preview .film-picture{width:100%;max-width:none;min-height:0;aspect-ratio:16/9}
#films .trilogy-loop-preview video{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#films .trilogy-moon video{left:-3.35%;top:-3.35%;right:auto;bottom:auto;width:106.7%;height:106.7%;max-width:none}
#films .trilogy-pisces>.trilogy-loop-preview .film-picture{aspect-ratio:3840/1608;background:transparent}
#films .trilogy-loop-preview .film-loop-toggle{position:absolute;right:.65rem;top:.65rem;z-index:2;padding:.3rem .6rem;border:1px solid #f4f2ea85;background:#200603b8;color:var(--paper);font:inherit;font-size:.75rem;line-height:1.3}
#films .trilogy-loop-preview .film-loop-toggle:focus-visible{outline:2px solid var(--paper);outline-offset:3px}
@media(min-width:621px){#films .trilogy-loop-preview{min-height:56.25cqw}#films .trilogy-pisces>.trilogy-loop-preview{width:133.663366%;max-width:calc(100% + max(var(--gutter), (100vw - 1600px)/2) - 1rem)}}
.profile-layout>figure img,.biography-layout figure img{aspect-ratio:auto!important}

/* A short homepage introduction connects the films to their maker. */
/* Local 16mm artist-statement draft. Keep the native 4:3 film gate intact. */
.artist-practice{background:radial-gradient(ellipse at 16% 46%,#50322138,transparent 65%),#23120f;padding-block:clamp(3rem,4vw,4.5rem)}
.artist-practice>.shell{width:min(100% - 2*var(--gutter),1400px)}
.artist-practice-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,3vw,4rem)}
.artist-practice-reel,.artist-practice-copy{min-width:0}
.artist-practice-preview{position:relative;aspect-ratio:16/11;overflow:hidden;background:#0c0908;border-radius:clamp(.8rem,1.15vw,1.3rem);filter:drop-shadow(0 5px 4px #0008) drop-shadow(0 22px 17px #000a);-webkit-mask:none;mask:none}
.artist-practice-preview::after{content:none}
.artist-practice-surface{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;border-radius:0;overflow:hidden}
.artist-practice-surface:focus-visible{outline:2px solid var(--pink);outline-offset:-4px}
.artist-practice-preview .film-loop{display:block;width:100%;height:100%;aspect-ratio:16/11;object-fit:cover;transform:scale(1.12)}
.artist-practice-reel figcaption{display:flex;justify-content:space-between;gap:1rem;padding-top:1.05rem;font-family:"Space Grotesk",var(--sans);font-size:.8125rem;letter-spacing:.09em;text-transform:uppercase;color:#d4b9af}
.artist-practice-reel figcaption>span:first-child{font-family:"La Belle Aurore","SignPainter","Snell Roundhand","Allura",cursive;font-size:1.0625rem;letter-spacing:0;text-transform:none;color:#f889d4;text-shadow:0 0 12px #ff4d9d24}
.artist-practice-reel figcaption>span:last-child{font-size:.8125rem;letter-spacing:.045em;text-align:right}
@media(max-width:620px){.artist-practice-reel figcaption{align-items:baseline;gap:.65rem}.artist-practice-reel figcaption>span:first-child,.artist-practice-reel figcaption>span:last-child{font-size:.82rem}.artist-practice-reel figcaption>span:last-child{letter-spacing:.02em}}
.artist-practice-copy>.eyebrow{margin-bottom:1rem;font-size:.8125rem;color:#d4b9af}
.artist-practice-copy h2{font-family:"La Belle Aurore","SignPainter","Snell Roundhand","Allura",cursive;font-weight:400;font-size:clamp(2.9rem,3.6vw,4.5rem);letter-spacing:0;line-height:1.2;color:#f889d4;text-shadow:0 0 20px #ff4d9d30,1px 2px 0 #ff255e35;margin-bottom:1.5rem}
.artist-practice-copy>p:not(.eyebrow){font-family:"Inter Tight",var(--sans);font-size:clamp(1.0625rem,1vw,1.1875rem);font-weight:400;letter-spacing:.004em;line-height:1.58;color:#f0e5dd;max-width:52ch}
.artist-practice-copy>p+p:not(.eyebrow){margin-top:1.3rem}
.artist-practice-copy>p.artist-practice-coda{color:#f1c7df}
.artist-practice-copy>.editorial-link{margin-top:1.8rem;font-size:1.0625rem;color:var(--pink)}
@media(max-width:1100px){.artist-practice-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:2.5rem}.artist-practice-copy h2{font-size:3.6rem}.artist-practice-copy>p:not(.eyebrow){font-size:1.0625rem;line-height:1.58}}
@media(max-width:900px){.artist-practice-layout{grid-template-columns:1fr;gap:2.5rem}.artist-practice-copy{max-width:44rem}.artist-practice-copy h2{font-size:clamp(3rem,8vw,4.3rem);margin-bottom:1.5rem}.artist-practice-copy>.editorial-link{font-size:1rem}.artist-practice-reel figcaption{font-size:.75rem}}
.artist-introduction{background:#38242e;padding-block:clamp(3.5rem,5vw,5.5rem)}
.artist-introduction>.shell{width:min(100% - 2*var(--gutter),1240px)}
.artist-introduction-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:clamp(2.5rem,5vw,5rem)}
.artist-introduction-portrait{min-width:0}
.artist-introduction-image{position:relative;overflow:hidden;aspect-ratio:2414/1356;filter:drop-shadow(0 5px 4px #0008) drop-shadow(0 22px 17px #000a);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
.artist-introduction-portrait img{position:absolute;top:0;left:-.207125104%;width:103.56255178%;height:auto;margin-top:-3.10604805%}
.artist-astrology{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1.25rem;color:var(--pink);font-size:.8125rem;line-height:1.4}
.astro-placement{display:flex;align-items:center;justify-content:center;gap:.5rem}
.astro-glyph{font-family:"Apple Symbols","Segoe UI Symbol",sans-serif;font-size:1.5rem;line-height:1;text-shadow:0 1px 5px #edafd530}
.astro-label{display:block;font-size:.625rem;letter-spacing:.08em;text-transform:uppercase}
.artist-introduction-copy{min-width:0}
.artist-introduction-copy>.eyebrow{color:var(--pink);margin-bottom:.75rem}
.artist-introduction-copy h2{font-family:"Gemini Syne",var(--sans);font-size:clamp(2.5rem,3vw,3.25rem);font-weight:650;letter-spacing:-.035em;line-height:1.1;margin-bottom:1.5rem}
.artist-introduction-copy>p:not(.eyebrow){font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.125rem,1vw,1.25rem);line-height:1.75;max-width:58ch}
.artist-introduction-copy>p+p:not(.eyebrow){margin-top:1.2rem}
.artist-introduction-links{display:flex;flex-wrap:wrap;gap:1rem 2rem;margin-top:1.75rem}
.artist-introduction-links .editorial-link{font-size:1.0625rem;color:var(--pink)}
.artist-introduction-copy .bio-essay-link{color:var(--pink);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
@media(max-width:900px){.artist-introduction-layout{grid-template-columns:1fr;gap:2.5rem}.artist-introduction-portrait{width:100%;max-width:32rem}.artist-introduction-copy>p:not(.eyebrow){font-size:1.0625rem}.artist-introduction-links{gap:1.1rem 1.75rem}.artist-introduction-links .editorial-link{font-size:1rem}}

/* One compact post-trilogy box joins the inner practice to the filmmaker. */
.maker-practice-section{background:radial-gradient(ellipse at 16% 46%,#50322138,transparent 65%),#23120f;padding-block:clamp(3rem,5vw,5rem)}
.maker-practice-section>.shell{width:min(100% - 2*var(--gutter),1680px)}
.maker-practice-box{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);padding:0;background:transparent}
.maker-practice-pane,.maker-person-pane{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:clamp(1.4rem,2vw,2.25rem);min-width:0;padding:clamp(1.5rem,2.2vw,2.6rem);background:transparent}
.maker-practice-pane{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);border-right:1px solid var(--orange)}
.maker-person-pane{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.maker-practice-box .artist-practice-preview{aspect-ratio:16/10}
.maker-practice-box .artist-introduction-image{aspect-ratio:4/3;filter:none;-webkit-mask:none;mask:none;box-shadow:0 7px 10px -4px #000c,0 24px 34px -18px #000e}
.maker-practice-box .artist-introduction-portrait img{inset:0;width:100%;height:100%;margin:0;object-fit:cover;object-position:center 38%}
.maker-practice-box .artist-practice-preview .film-loop{aspect-ratio:16/10}
.maker-practice-box .artist-practice-copy,.maker-practice-box .artist-introduction-copy{margin-top:0}
.maker-practice-box .artist-practice-copy h2,.maker-practice-box .artist-introduction-copy h2{font-size:clamp(2.35rem,2.7vw,3.4rem);margin-bottom:1.1rem}
.maker-practice-box .artist-practice-copy>p:not(.eyebrow),.maker-practice-box .artist-introduction-copy>p:not(.eyebrow){font-size:clamp(.96rem,.9vw,1.06rem);line-height:1.62}
.maker-practice-box .artist-practice-copy>.editorial-link{margin-top:1.5rem}
@media(max-width:1100px){.maker-practice-box{grid-template-columns:1fr}.maker-practice-pane{border-right:0;border-bottom:1px solid var(--orange)}.maker-practice-pane,.maker-person-pane{grid-template-columns:minmax(13rem,.72fr) minmax(0,1.28fr)}}
@media(max-width:700px){.maker-practice-pane,.maker-person-pane{grid-template-columns:1fr}.maker-practice-box .artist-practice-copy,.maker-practice-box .artist-introduction-copy{max-width:46rem}}

/* About: wider photographs, real picture edges and a quieter reading rhythm. */
body:has(.about-opening) main>.section>.shell{width:min(100% - 2*var(--gutter),1600px)}
body:has(.about-opening) .profile-layout,body:has(.about-opening) .biography-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(3rem,9.4vw,12rem)}
body:has(.about-opening) .profile-layout>div,body:has(.about-opening) .biography-layout>.prose{max-width:38rem;min-width:0}
body:has(.about-opening) .prose{font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.125rem,1vw,1.25rem);line-height:1.75;letter-spacing:0}
body:has(.about-opening) .prose>p+p{margin-top:1.6rem}
body:has(.about-opening) .profile-intro>p>strong:only-child,body:has(.about-opening) .biography-layout>.prose>p>strong:only-child{font-weight:400}
body:has(.about-opening) .profile-intro>p:last-child{font-size:1rem;line-height:1.7;letter-spacing:.025em;margin-top:2rem;padding-top:1.4rem;border-top:1px solid var(--line)}
body:has(.about-opening) .profile-intro>p:last-child>strong{font-weight:500}
body:has(.about-opening) .profile-link{font-size:.9375rem;margin-top:1.5rem}
/* Show source pixels x=5..2418, y=75..1430; only the baked-in border is hidden. */
body:has(.about-opening) .about-portrait{position:relative;overflow:hidden;aspect-ratio:2414/1356;box-shadow:none;filter:drop-shadow(0 5px 4px #0007) drop-shadow(0 22px 17px #0009);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
body:has(.about-opening) .profile-layout>.about-portrait img{position:absolute;top:0;left:-.207125104%;width:103.56255178%;height:auto;margin-top:-3.10604805%;background:none}
body:has(.about-opening) .biography-layout>figure img{aspect-ratio:auto 2256/1502!important;background:none;box-shadow:none;filter:drop-shadow(0 4px 3px #20060338) drop-shadow(0 18px 14px #20060352);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
body:has(.about-opening) .biography-copy{max-width:68ch}
body:has(.about-opening) .prose h2{font-family:var(--sans);margin-bottom:2rem}
body:has(.about-opening) .pull-line{font-family:var(--sans);margin-top:2.5rem;padding-top:1.5rem;font-size:1.0625rem;line-height:1.6}
body:has(.about-opening) .practice-gallery{gap:clamp(1.25rem,2vw,2rem);margin-top:3.5rem;align-items:start}
body:has(.about-opening) .practice-gallery img{aspect-ratio:auto 750/422;max-height:none;object-fit:contain;background:none;box-shadow:none;filter:drop-shadow(0 4px 3px #20060338) drop-shadow(0 18px 14px #20060352);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
body:has(.about-opening) .about-practice-layout{align-items:start}
body:has(.about-opening) .thoth-section{background:#c75833}
body:has(.about-opening) .about-practice-layout>.biography-copy{margin-inline:0}
body:has(.about-opening) .about-practice-layout>.practice-gallery{grid-template-columns:1fr;width:100%;max-width:40rem;justify-self:end;margin-top:0;gap:1.5rem}
/* The copy sets each desktop panel's height; the complete photos fit beside it. */
@media(min-width:1001px){
body:has(.about-opening) .about-practice-layout>.practice-gallery{container-type:size;min-height:0;align-self:stretch;grid-template-rows:repeat(3,minmax(0,1fr));align-items:center;justify-items:end}
body:has(.about-opening) .about-practice-layout>.practice-gallery img{width:min(100%,calc((100cqh - 3rem) / 3 * 750 / 422));height:auto;max-height:none}
body:has(.about-opening) .about-practice-layout>.practice-gallery img:first-child{align-self:start}
body:has(.about-opening) .about-practice-layout>.practice-gallery img:last-child{align-self:end}
}
@media(max-width:1000px){body:has(.about-opening) .profile-layout,body:has(.about-opening) .biography-layout{grid-template-columns:1fr;gap:3rem}body:has(.about-opening) .profile-layout>div,body:has(.about-opening) .biography-layout>.prose{max-width:42rem}body:has(.about-opening) .profile-layout>figure,body:has(.about-opening) .biography-layout>figure{width:100%;max-width:48rem;justify-self:end}}
@media(max-width:680px){body:has(.about-opening) .profile-layout,body:has(.about-opening) .biography-layout{gap:2.5rem}body:has(.about-opening) .prose{font-size:1.0625rem;line-height:1.75}body:has(.about-opening) .profile-intro>p:last-child{font-size:.9375rem}body:has(.about-opening) .practice-gallery{gap:1.5rem;margin-top:2.5rem}}
/* History Repeating: roughen the cinematic stills while preserving the three circular maps. */
.essay-article .essay-gallery:not(.essay-diagrams) img{filter:drop-shadow(0 4px 3px #20060338) drop-shadow(0 18px 14px #20060352);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
.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;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}.opening .specialties{margin-top:0}.site-header nav a{padding-block:.35rem}.site-header nav a[aria-current=page]{text-decoration:underline;text-underline-offset:.35em}.page-title{font-size:clamp(3.1rem,6.5vw,6.8rem);font-weight:500;line-height:1.02;letter-spacing:-.055em;overflow-wrap:break-word}.page-hero .eyebrow,.about-opening .eyebrow{color:var(--pink)}.page-subtitle{font-size:clamp(1.1rem,2vw,1.45rem);max-width:52rem;margin-top:1.8rem;line-height:1.6;color:var(--muted)}.film-jumps{display:flex;flex-wrap:wrap;gap:.7rem 1.6rem;margin-top:2.5rem;padding-top:1.3rem;border-top:1px solid var(--line)}.film-jumps a{font-size:.9375rem;padding-block:.3rem}.film-jumps a:hover{text-decoration:underline;text-underline-offset:.3em}.section-title{font-size:clamp(2.5rem,4.8vw,4.7rem);font-weight:500;line-height:1.1;margin-bottom:2rem}.prose{font-size:1.0625rem;line-height:1.75;overflow-wrap:break-word}.prose p+p{margin-top:1.2rem}.prose h2,.prose h3{font-size:clamp(2rem,3.4vw,3rem);font-weight:500;line-height:1.15;margin-bottom:1.5rem}.prose h4{font-size:1.25rem;line-height:1.5}.prose strong{font-weight:600}.prose a,.profile-link a{border-bottom:1px solid currentColor}.prose a:hover,.profile-link a:hover{opacity:.75}.prose ul,.prose ol{padding-left:1.4rem}.prose li+li{margin-top:.4rem}.section-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.1rem;margin-top:1.8rem}.dark-button{background:var(--ink);color:var(--paper)}.dark-button:hover{background:#4a211d}.profile-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}.profile-layout>figure img{aspect-ratio:4/3;object-fit:contain;background:#080504}.role-line{font-size:1.1rem;line-height:1.6;margin-top:1.6rem;color:var(--pink)}.profile-intro{margin-top:1.9rem}.profile-intro>p:last-child{font-size:.875rem;letter-spacing:.025em;margin-top:1.8rem}.profile-link{font-size:.875rem;margin-top:1.1rem;max-width:32rem}.biography-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:4rem;align-items:center}.biography-layout figure img{aspect-ratio:4/3;object-fit:contain}.biography-copy{max-width:54rem;margin-inline:auto}.pull-line{margin-top:2rem;padding-top:1.25rem;border-top:1px solid #20060340;font-size:1rem;font-weight:600;letter-spacing:.025em}.practice-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:3rem}.practice-gallery img{aspect-ratio:4/3;object-fit:contain;background:var(--ink)}.feature-heading{display:flex;align-items:end;justify-content:space-between;gap:2.5rem;margin-bottom:2rem}.feature-heading h2{font-size:clamp(3rem,6.2vw,6rem);font-weight:500}.feature-heading>p{font-size:clamp(1.1rem,2.2vw,1.8rem);max-width:24rem}.feature-copy{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem;margin-top:2.3rem}.award-statement{font-size:clamp(1.5rem,2.8vw,2.4rem);font-weight:500;letter-spacing:-.025em;line-height:1.2;margin-bottom:.85rem}.feature-copy>div:first-child>p:not(.award-statement){font-size:.9375rem}.materials-note{font-size:.9375rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding-top:1.2rem;border-top:1px solid var(--line)}.full-film-frame img{aspect-ratio:3840/1636;object-fit:contain;background:#080504}.full-film-frame figcaption{font-size:.8125rem;color:var(--muted);margin-top:.75rem}.editorial-disclosure{border-top:1px solid currentColor}.editorial-disclosure:last-child{border-bottom:1px solid currentColor}.editorial-disclosure summary{display:flex;align-items:center;gap:1.4rem;justify-content:space-between;list-style:none;cursor:pointer;padding:1.3rem 0;font-weight:500;font-size:1.1rem;line-height:1.4}.editorial-disclosure summary::-webkit-details-marker{display:none}.editorial-disclosure summary>span:last-child{font-size:1.5rem;font-weight:400;flex-shrink:0;transition:transform .2s}.editorial-disclosure[open] summary>span:last-child{transform:rotate(45deg)}.disclosure-body{padding-bottom:1.7rem;max-width:56rem}.recognition-disclosure{margin-top:3rem}.recognition-disclosure .disclosure-body{max-width:none}.laurel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.1rem 1.6rem;padding-block:.75rem}.laurel-grid img{width:100%;height:100%;aspect-ratio:3/2;object-fit:contain}.recognition-lead{font-size:1.1rem;margin-bottom:2rem}.recognition-film{font-size:1.8rem;margin-bottom:1.1rem}.collaboration-heading{max-width:56rem;margin-bottom:2rem}.collaboration-heading h2{font-size:clamp(2.6rem,5vw,4.8rem);font-weight:500;line-height:1.08}.collaboration-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}.collaboration-dark{background:#321b24}.collaboration-dark .eyebrow{color:var(--pink)}.collaboration-layout .film-picture{position:sticky;top:2rem}.collaboration-layout .prose p:last-child{font-size:.875rem;font-weight:500;line-height:1.65;margin-top:1.6rem}.project-poster{max-width:32rem;margin-inline:auto}.project-poster img{max-height:38rem;object-fit:contain;width:100%}.testimonial-disclosures{max-width:58rem}.testimonial-disclosures .prose{font-size:1.1rem}.service-introduction{max-width:48rem;margin-top:1.5rem}.hire-paths{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0;padding-block:1.2rem;border-block:1px solid var(--line);font-size:1.1rem;font-weight:500}.service-list{margin-top:2.5rem}.service-disclosure summary{justify-content:flex-start;font-size:clamp(1.2rem,2.5vw,1.9rem);letter-spacing:-.015em}.service-disclosure summary>span:last-child{margin-left:auto}.service-number{font-size:.8125rem;font-weight:400;width:2rem;flex-shrink:0;opacity:.65}.service-disclosure .disclosure-body{margin-left:3.4rem}.availability{max-width:46rem;margin-top:2.5rem}.availability h3{font-size:1rem;letter-spacing:.08em;margin-bottom:.75rem}.intake-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:5rem}.intake-layout>div>p{max-width:26rem;font-size:1.1rem;margin-bottom:1.2rem}.intake-layout .eyebrow{color:var(--pink)}.intake-note{font-size:.9375rem!important;color:var(--muted)}.intake-layout>div .editorial-link{margin-top:.7rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}.span-two{grid-column:1/-1}form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9375rem}form input:not([type=checkbox]),form select,form textarea{width:100%;min-width:0;background:#ffffff06;border:1px solid #dcc7be80;color:var(--paper);border-radius:0;font:inherit;padding:.8rem;font-size:1rem;line-height:1.5}form input:focus-visible,form select:focus-visible,form textarea:focus-visible{outline:2px solid var(--pink);outline-offset:3px}form select{color-scheme:dark}form select option{background:var(--ink)}form textarea{resize:vertical}form textarea::placeholder{color:var(--muted)}form fieldset{padding:0;margin:1.5rem 0;border:0}form legend{font-size:.9375rem;margin-bottom:.8rem}.service-checkboxes{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.1rem}.service-checkboxes label{flex-direction:row;align-items:start;gap:.5rem;font-size:.9375rem;line-height:1.5}.service-checkboxes input{accent-color:var(--pink);margin-top:.3rem;flex-shrink:0}#inquiry-form>button{background:var(--pink);margin-top:1.5rem}.inquiry-review{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}.inquiry-review h3{font-size:1.5rem;margin-bottom:1rem}.inquiry-review[hidden]{display:none}#inquiry-status{font-size:.9375rem;color:var(--pink);margin-top:1rem}.essay-opening .page-title{font-size:clamp(3rem,5.7vw,6rem);line-height:1.07;max-width:22ch}.essay-opening .page-subtitle{max-width:42rem}.essay-byline{font-size:1rem;margin-top:1rem;margin-bottom:2rem}.essay-text{max-width:70ch;margin-inline:auto;font-size:1.125rem;line-height:1.85}.essay-text p+p{margin-top:1.5rem}.essay-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin:3rem auto;align-items:center}.essay-gallery.three-up{grid-template-columns:repeat(3,minmax(0,1fr))}.essay-gallery img{width:100%;max-height:25rem;object-fit:contain}.essay-gallery.single-diagram{display:block;max-width:24rem}.essay-gallery.single-diagram img{max-height:36rem}.essay-conclusion p:has(>strong:only-child){padding-top:1.5rem;border-top:1px solid #20060340}.essay-footer{max-width:70ch;margin:3rem auto 0;display:flex;justify-content:space-between;gap:2rem;padding-top:1.5rem;border-top:1px solid #20060340}
@media(max-width:900px){.profile-layout,.biography-layout{gap:2.5rem}.feature-copy{gap:2.5rem}.collaboration-layout{grid-template-columns:1fr;gap:2rem}.collaboration-layout .film-picture{position:relative;top:auto}.collaboration-layout .prose{max-width:52rem}.intake-layout{gap:2.5rem}.laurel-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Portfolio: frame depth, with Natural Causes aligned to its own heading. */
.credentials-section h2>span{display:inline-flex;align-items:center;gap:.22em}
.credentials-section .blackmagic-mark{width:.25em;height:auto;flex:none;filter:drop-shadow(0 2px 3px #0004)}
.full-testimonials-link{display:inline-block;margin-top:2rem;font-size:1.125rem}
.thinking-section[hidden]{display:none!important}
.collaboration-layout .film-picture{outline:1px solid #20060338;box-shadow:0 3px 5px #20060319,0 16px 26px -8px #20060342,0 30px 48px -20px #20060330}
.collaboration-dark .collaboration-layout .film-picture{outline-color:#edafd536;box-shadow:0 3px 5px #0005,0 16px 28px -8px #0009,0 30px 48px -20px #0008}
#natural-causes .project-poster{margin-inline:0}
#natural-causes .project-poster img{filter:drop-shadow(0 4px 3px #20060338) drop-shadow(0 18px 14px #20060352)}
/* Homepage-only preview presentation; Films keeps its approved frames/cuts. */
.home-loop-preview{position:relative}
.home-loop-preview .film-loop{display:block;width:100%;height:auto;object-fit:contain}
.home-loop-preview .film-loop-controls{position:absolute;top:.8rem;right:.8rem;z-index:2;display:flex}
.home-loop-preview .film-loop-toggle{padding:.35rem .7rem;border:1px solid #f4f2ea85;background:#200603b8;color:var(--paper);font:inherit;font-size:.8rem;line-height:1.3}
.home-loop-preview .film-loop-toggle:hover{background:var(--ink);color:var(--paper)}
.home-loop-preview .film-loop-toggle:focus-visible{outline:2px solid currentColor;outline-offset:4px}
#thoth .home-loop-preview>.film-picture{outline:1px solid #20060338;box-shadow:0 3px 5px #20060319,0 16px 26px -8px #20060342,0 30px 48px -20px #20060330}
.opening-refinement .home-loop-preview{filter:drop-shadow(0 5px 4px #0009) drop-shadow(0 22px 18px #000b)}
.opening-refinement .reel-picture{outline:0;box-shadow:none;-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
.home-trailer-label{position:static;margin:0 0 .65rem;text-align:center;pointer-events:none;color:var(--ink);font-size:.75rem;font-weight:700;letter-spacing:.14em;line-height:1.3;text-transform:uppercase;text-shadow:none}
/* Actual credentials, revealed on request without crowding the section. */
.certification-disclosure{margin:2rem auto 0;text-align:left;border-block:1px solid #ffffff45}
.certification-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;list-style:none;cursor:pointer;padding:1.2rem 0;font-size:1.125rem;font-weight:500}
.certification-disclosure>summary::-webkit-details-marker{display:none}
.certification-disclosure>summary span{font-size:1.5rem;line-height:1;transition:transform .2s}
.certification-disclosure[open]>summary span{transform:rotate(45deg)}
.certificate-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.25rem 2rem;padding:.8rem 0 2.25rem}
.certificate-card{min-width:0}
.certificate-card img{background:white;outline:1px solid #ffffff80;box-shadow:0 3px 6px #0004,0 14px 28px -7px #0008;transition:box-shadow .2s}
.certificate-card>a:hover img{box-shadow:0 4px 8px #0005,0 18px 32px -7px #0009}
.certificate-card figcaption{margin-top:1.1rem}
.certificate-card h3{font-size:1.25rem;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.certificate-card p{margin-top:.35rem;font-size:.9375rem;line-height:1.5;color:var(--muted)}
.certificate-card .editorial-link{margin-top:.8rem;font-size:.9375rem!important}
@media(max-width:620px){.certificate-gallery{grid-template-columns:1fr;gap:2rem}.certification-disclosure>summary{font-size:1rem}.certificate-card h3{font-size:1.125rem}}
@media(max-width:680px){.page-title{font-size:clamp(2.7rem,9vw,3.7rem)}.page-hero .page-subtitle{font-size:1.1rem;margin-top:1.3rem}.film-jumps{gap:.5rem 1.3rem;margin-top:1.8rem}.profile-layout,.biography-layout,.feature-copy,.intake-layout{grid-template-columns:1fr;gap:2rem}.profile-layout figure{grid-row:2}.role-line{font-size:1rem}.profile-intro{margin-top:1.4rem}.profile-link{font-size:.8125rem}.prose{font-size:1rem;line-height:1.75}.practice-gallery{grid-template-columns:1fr;gap:1rem;margin-top:2rem}.practice-gallery img{max-height:24rem}.feature-heading{flex-direction:column;align-items:start;gap:.9rem;margin-bottom:1.5rem}.feature-heading h2{font-size:clamp(2.8rem,9vw,3.9rem)}.feature-heading>p{font-size:1.1rem}.feature-copy{margin-top:1.6rem}.laurel-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.recognition-disclosure{margin-top:2rem}.hire-paths{grid-template-columns:1fr 1fr;font-size:1rem}.service-disclosure summary{gap:.9rem;padding-block:1.2rem}.service-number{width:1.2rem}.service-disclosure .disclosure-body{margin-left:0}.form-grid{grid-template-columns:1fr}.span-two{grid-column:auto}.service-checkboxes{grid-template-columns:1fr}.intake-layout>div>p{max-width:none}.essay-opening .page-title{font-size:clamp(2.6rem,8.7vw,3.6rem)}.essay-opening .page-title br{display:none}.essay-text{font-size:1.0625rem;line-height:1.85}.essay-gallery,.essay-gallery.three-up{grid-template-columns:1fr;gap:1.4rem;margin-block:2.2rem}.essay-gallery img{max-height:24rem}.essay-gallery.single-diagram{max-width:22rem}.essay-footer{gap:1rem}.collaboration-heading h2{font-size:clamp(2.3rem,8vw,3.6rem)}}

/* The Eclipse films announce their dramatic argument before the image. */
#films .trilogy-tagline{min-height:0;margin:0 0 1rem;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.75rem,.82vw,.95rem);font-weight:400;line-height:1.45;letter-spacing:.065em;color:#491e1a;text-align:center;text-transform:uppercase;white-space:nowrap}
.pisces-tagline{margin:-.5rem 0 1.5rem;padding-block:1rem;border-block:1px solid var(--line);font-family:"Inter Tight",var(--sans);font-size:clamp(1rem,1.5vw,1.35rem);font-weight:750;line-height:1.4;letter-spacing:.055em;text-transform:uppercase;color:var(--pink)}
@media(max-width:620px){#films .trilogy-heading{margin-bottom:2.65rem}#films .trilogy-intro{margin-top:2.15rem}#films .trilogy-tagline{margin-bottom:.85rem;font-size:clamp(.7rem,3vw,.84rem);letter-spacing:.02em}.pisces-tagline{font-size:.9375rem}}

/* Keep the longer Pisces argument complete: one line on desktop, two on compact screens. */
@media(min-width:621px){#films .trilogy-pisces .trilogy-tagline,#films .trilogy-pisces h3{width:133.663366%;max-width:calc(100% + max(var(--gutter), (100vw - 1600px)/2) - 1rem)}#films .trilogy-pisces .trilogy-tagline{position:relative;left:0;transform:none;font-size:clamp(.75rem,.82vw,.95rem);letter-spacing:.065em;text-align:center;white-space:nowrap}}
@media(max-width:620px){#films .trilogy-pisces .trilogy-tagline{white-space:normal;text-wrap:balance;letter-spacing:.015em}}

/* Ryan wants this slow decorative wheel to keep turning on desktop. */
@media(min-width:1024px) and (prefers-reduced-motion:reduce){#films .trilogy-zodiac-corner img{animation:trilogy-zodiac-turn 64s linear infinite!important}}

/* Let the moving image carry the play control: a clean triangle, no floating circle. */
.play-circle,.opening-refinement .play-circle{height:auto;width:auto;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;color:var(--paper);font-size:clamp(1.55rem,2.4vw,2.25rem);padding:0;text-shadow:0 2px 12px #000,0 0 3px #000;transition:transform .2s,opacity .2s}
.film-picture:hover .play-circle,.opening-refinement .reel-picture:hover .play-circle{background:transparent;box-shadow:none;transform:translate(-50%,-50%) scale(1.12)}

/* Local editorial pass: the reel dominates the opening and its typography lives inside it. */
.opening-refinement.shell{width:min(calc(100% - clamp(1rem,2.4vw,2.5rem)),1600px)}
.opening-refinement{padding-top:clamp(1.15rem,1.75vw,1.8rem);padding-bottom:clamp(1.25rem,1.9vw,2rem)}
.opening-refinement .reel{position:relative;width:min(100%,1080px);max-width:1080px}
.opening-refinement .home-loop-preview:after{content:"";position:absolute;z-index:1;right:0;bottom:0;left:0;height:52%;pointer-events:none;background:linear-gradient(to top,#100706c7 0%,#10070670 26%,#10070624 60%,transparent 100%)}
.opening-refinement .home-reel-kicker{position:absolute;z-index:2;top:clamp(.8rem,1.6vw,1.35rem);right:4%;left:4%;pointer-events:none;font-family:"Inter Tight",var(--sans);font-size:clamp(.82rem,.88vw,1rem);font-weight:700;line-height:1.45;letter-spacing:.065em;color:#fff1e8;text-align:center;text-transform:uppercase;text-shadow:0 2px 12px #000,0 1px 3px #000}
.opening-refinement .home-reel-kicker span{color:#ffafd7}
.opening-refinement .reel figcaption{position:absolute;z-index:2;right:3.5%;bottom:2.8%;left:3.5%;padding:0 1rem;pointer-events:none}
.opening-refinement .reel figcaption .reel-title-line{flex-wrap:wrap;white-space:normal;color:#fff3e9;text-shadow:0 2px 8px #000c}
.opening-refinement .reel-script{font-size:2.2rem}
.opening-refinement .reel-credit{font-size:.9375rem;color:#fff0e7}
.opening-refinement .gemini-emblem{width:2.55rem;margin:0 auto clamp(1.35rem,1.8vw,1.8rem)}
.opening-refinement .frames-actions{margin:clamp(1.35rem,1.8vw,1.8rem) 0 clamp(.55rem,.8vw,.8rem)}
@media(max-width:680px){.opening-refinement .home-reel-kicker{top:.75rem;right:5%;left:5%;font-size:.68rem;line-height:1.4;letter-spacing:.03em}.opening-refinement .reel figcaption{right:2%;bottom:3%;left:2%;padding:0 .25rem}.opening-refinement .reel figcaption .reel-title-line{display:block;white-space:nowrap}.opening-refinement .reel-script{display:block;font-size:clamp(.78rem,3.7vw,1rem);letter-spacing:-.02em;white-space:nowrap}.opening-refinement .reel-credit{display:none}.opening-refinement .reel .play-circle{display:none}}

/* The outer element casts the shadow; the inner element cuts the irregular film edge. */
.artist-practice-shadow{filter:drop-shadow(0 5px 4px #0009) drop-shadow(0 22px 17px #000c)}
.artist-practice-preview{filter:none}
.selected-frame-shadow{min-width:0;filter:drop-shadow(0 3px 2px #2006032e) drop-shadow(0 12px 11px #20060340);transition:filter .25s,transform .25s}
.selected-frame-preview{filter:none}
.selected-frames-heading{width:min(100%,1500px);margin:0 auto clamp(.85rem,1.15vw,1.2rem);text-align:center}
.selected-frames-kicker{grid-area:kicker;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:.78rem;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;color:#76554a}
.selected-frames .compact-heading{flex:none;font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(1.8rem,2.4vw,2.75rem);font-weight:520;letter-spacing:-.035em;line-height:1;text-transform:none;text-shadow:0 1px 0 #fff8,0 5px 12px #20060318}
.selected-frames-deck{max-width:none;padding:0;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.8rem,.92vw,1rem);font-weight:400;line-height:1.4;letter-spacing:.075em;text-align:center;text-transform:uppercase;color:#3f2924}
.selected-frame-shadow::after{content:attr(data-caption);display:block;margin-top:.65rem;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.62rem,.68vw,.74rem);line-height:1.4;letter-spacing:.055em;text-transform:uppercase;color:#6b4d43}
@media(min-width:621px){.selected-frames .frame-grid{width:min(100%,1500px);margin-inline:auto;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(.9rem,1.25vw,1.3rem);align-items:start;padding-bottom:.15rem}.selected-frames .selected-frame-shadow:nth-child(1){grid-column:2/span 5}.selected-frames .selected-frame-shadow:nth-child(2){grid-column:7/span 5;margin-top:clamp(.6rem,1.1vw,1.15rem)}.selected-frames .selected-frame-shadow:nth-child(n+3){grid-column:span 3}.selected-frames .selected-frame-shadow:nth-child(3){margin-top:.4rem}.selected-frames .selected-frame-shadow:nth-child(5){margin-top:.85rem}.selected-frames .selected-frame-shadow:nth-child(6){margin-top:.25rem}}
@media(max-width:620px){.selected-frames-heading{margin-bottom:1rem}.selected-frames-deck{margin-inline:auto;max-width:34ch;font-size:.75rem;text-align:center}.selected-frame-shadow::after{font-size:.58rem;letter-spacing:.025em}}
@media(hover:hover) and (pointer:fine){.selected-frame-shadow:hover{transform:translateY(-3px);filter:drop-shadow(0 4px 3px #20060338) drop-shadow(0 16px 14px #20060350)}.selected-frame-preview:hover{transform:none;filter:none}}

/* 2026-09-25: film-first opening and six equal moving project statements. */
.opening-refinement .home-reel-kicker{color:#fff3e9;font-size:clamp(.82rem,.95vw,1.05rem);letter-spacing:.105em}
.opening-refinement .home-reel-kicker span{color:inherit}
.opening-refinement .reel figcaption{bottom:3.4%}
.opening-refinement .reel figcaption .reel-title-line{display:block;margin:0;text-align:left;text-transform:none}
.opening-refinement .home-opening-title{display:block;max-width:20ch;font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(1.7rem,3.2vw,3.25rem);font-weight:620;line-height:.98;letter-spacing:-.055em;color:#fff3e9}
.opening-refinement .home-opening-roles{margin-top:.75rem;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.68rem,.86vw,.92rem);font-weight:600;line-height:1.4;letter-spacing:.09em;color:#ffafd7;text-align:left;text-transform:uppercase}
.opening-refinement .reel-picture{cursor:default}
.opening-refinement .reel-picture:hover video{filter:none}

.selected-frames{padding-top:clamp(2.5rem,4vw,4.75rem);padding-bottom:clamp(3.25rem,5vw,5.75rem)}
.selected-frames-heading{display:grid;grid-template-columns:minmax(0,.8fr) minmax(24rem,1.2fr);gap:clamp(2rem,6vw,7rem);align-items:end;margin-bottom:clamp(2.2rem,3.6vw,4.25rem);text-align:left}
.selected-frames-heading h2{font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(2.55rem,4.7vw,5.1rem);font-weight:580;line-height:.98;letter-spacing:-.06em;color:var(--ink)}
.selected-frames-deck{max-width:46rem;margin:0;font-size:clamp(.78rem,.9vw,.95rem);line-height:1.55;letter-spacing:.065em;text-align:left}
.selected-frames .frame-grid{width:min(100%,1500px);margin-inline:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2.25rem,3.2vw,4.25rem) clamp(1rem,1.65vw,1.75rem);align-items:start;padding:0}
.selected-frames .selected-frame-shadow{margin-top:0!important}
.selected-frames .selected-frame-shadow:nth-child(1){grid-column:1/span 7!important}
.selected-frames .selected-frame-shadow:nth-child(2){grid-column:8/span 5!important;margin-top:clamp(2.5rem,5vw,5.5rem)!important}
.selected-frames .selected-frame-shadow:nth-child(3){grid-column:1/span 5!important;margin-top:clamp(.5rem,1.5vw,1.5rem)!important}
.selected-frames .selected-frame-shadow:nth-child(4){grid-column:6/span 7!important;margin-top:clamp(2rem,4vw,4.5rem)!important}
.selected-frames .selected-frame-shadow:nth-child(5){grid-column:3/span 8!important;margin-top:clamp(.5rem,1.5vw,1.75rem)!important}
.selected-frame-shadow::after{display:none}
.selected-frame-preview video{position:static!important;display:block;width:100%!important;height:100%!important;max-width:none;object-fit:cover}
.selected-frame-preview:has(#selected-top-left){overflow:hidden}
#selected-top-left{position:relative!important;left:-3.35%!important;top:-3.35%!important;width:106.7%!important;height:106.7%!important;max-width:none}
.selected-frame-vimeo{position:relative;overflow:hidden;background:var(--ink)}
.selected-frame-vimeo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.selected-frame-caption{padding:.85rem .15rem 0;text-align:left}
.selected-frame-caption h3{font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(1.05rem,1.35vw,1.38rem);font-weight:650;line-height:1.08;letter-spacing:-.035em;color:var(--ink)}
.selected-frame-caption h3 a{text-decoration:none}
.selected-frame-caption h3 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.selected-frame-caption p{margin-top:.38rem;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.65rem,.71vw,.76rem);font-weight:600;line-height:1.55;letter-spacing:.055em;text-transform:uppercase;color:#6b4d43}
.trilogy-footer.trilogy-footer-link{justify-content:flex-end}

@media(max-width:900px){.selected-frames-heading{grid-template-columns:1fr;gap:1rem}.selected-frames-deck{max-width:54rem}.selected-frames .frame-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.selected-frames .selected-frame-shadow:nth-child(n){grid-column:auto!important;margin-top:0!important}.selected-frames .selected-frame-shadow:nth-child(1){grid-column:1/-1!important}}
@media(max-width:620px){.opening-refinement .reel figcaption{right:5%;bottom:5%;left:5%}.opening-refinement .reel figcaption .reel-title-line{white-space:normal}.opening-refinement .home-opening-title{font-size:clamp(1.35rem,7vw,2rem)}.opening-refinement .home-opening-roles{font-size:.6rem;letter-spacing:.045em}.selected-frames .frame-grid{grid-template-columns:1fr;gap:2.25rem}.selected-frames .selected-frame-shadow:nth-child(n){grid-column:1!important}.selected-frames-heading h2{font-size:clamp(2.4rem,12vw,3.65rem)}.selected-frames-deck{max-width:37ch}.selected-frame-caption h3{font-size:1.25rem}.selected-frame-caption p{font-size:.68rem}.trilogy-footer.trilogy-footer-link{align-items:flex-start}}
.testimonials-section mark{background:transparent;color:#ffd6ea;font-weight:700;text-decoration:underline;text-decoration-color:#ef87b8a0;text-decoration-thickness:1px;text-underline-offset:.18em}

/* Ryan in the frame: authored portraiture on Home, practice and lived context on About. */
.artist-introduction-diptych>img{position:absolute;inset:0!important;width:100%!important;height:100%!important;margin:0!important;object-fit:cover;background:none}
.artist-introduction-diptych .artist-diptych-portrait{z-index:1;clip-path:polygon(0 0,64% 0,53% 100%,0 100%);object-position:center 42%}
.artist-introduction-diptych .artist-diptych-camera{z-index:2;clip-path:polygon(59% 0,100% 0,100% 100%,48% 100%);object-position:50% 27%;filter:saturate(.88) contrast(1.04)}
.artist-introduction-diptych::after{content:"";position:absolute;z-index:3;inset:0;pointer-events:none;background:linear-gradient(100deg,transparent 47%,#edafd51f 52%,transparent 57%)}

body:has(.about-opening) .about-opening .profile-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(2.25rem,5vw,5.5rem)}
body:has(.about-opening) .about-signal-triptych{isolation:isolate;background:#0a0508;aspect-ratio:1.58/1}
body:has(.about-opening) .about-signal-triptych .about-signal-panel{position:absolute;top:0;bottom:0;overflow:hidden}
body:has(.about-opening) .profile-layout>.about-signal-triptych .about-signal-panel img{position:absolute;inset:0;width:100%;height:100%;margin:0;object-fit:cover;background:none}
.about-signal-panel-one{z-index:1;left:0;width:42%;clip-path:polygon(0 0,100% 0,78% 100%,0 100%)}
.about-signal-panel-two{z-index:2;left:34%;width:47%;clip-path:polygon(16% 0,100% 0,82% 100%,0 100%)}
.about-signal-panel-three{z-index:3;left:61%;width:39%;clip-path:polygon(21% 0,100% 0,100% 100%,7% 100%)}
.about-signal-panel-one img{object-position:52% 20%}
.about-signal-panel-two img{object-position:50% 42%}
.about-signal-panel-three img{object-position:56% 42%}

body:has(.about-opening) .practice-camera-frame{width:min(100%,35rem);justify-self:end;align-self:center;margin:0}
body:has(.about-opening) .practice-camera-frame img{display:block;width:100%;aspect-ratio:3/4!important;object-fit:cover;object-position:center;background:none;filter:drop-shadow(0 5px 4px #2006034a) drop-shadow(0 22px 17px #20060360);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
.practice-camera-frame figcaption{margin-top:.8rem;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:.72rem;letter-spacing:.08em;text-align:right;text-transform:uppercase;color:#3d1d19}
.journey-life-collage,.practice-life-collage{width:min(100%,44rem);height:clamp(32rem,43vw,43rem);justify-self:end;align-self:center;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(12,minmax(0,1fr));gap:clamp(.55rem,.85vw,.9rem)}
.journey-photo,.practice-life-photo{position:relative;overflow:hidden;min-width:0;margin:0;background:#16090c;filter:drop-shadow(0 5px 4px #20060345) drop-shadow(0 20px 15px #20060352);-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat}
.journey-photo img,.practice-life-photo img{width:100%;height:100%;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;background:none!important;box-shadow:none!important;filter:none!important;-webkit-mask:none!important;mask:none!important}
.journey-photo-market{grid-column:1/8;grid-row:1/8}.journey-photo-market img{object-position:63% center}
.journey-photo-amsterdam{grid-column:8/13;grid-row:1/9}.journey-photo-amsterdam img{object-position:center 43%;transform:scale(1.16)}
.journey-photo-motorcycle{grid-column:1/7;grid-row:8/13}.journey-photo-motorcycle img{object-position:center 54%}
.journey-photo-ian{grid-column:7/13;grid-row:9/13}.journey-photo-ian img{object-position:center 47%}
.practice-life-window{grid-column:1/7;grid-row:1/7}.practice-life-window img{object-position:center 27%}
.practice-life-djing{grid-column:1/7;grid-row:7/13}.practice-life-djing img{object-position:center 51%}
.practice-life-harmony{grid-column:7/13;grid-row:1/7}.practice-life-harmony img{object-position:center 46%}
.practice-life-sxsw{grid-column:7/13;grid-row:7/13}.practice-life-sxsw img{object-position:center 63%}

.sxsw-contact-sheet{width:min(100%,42rem);justify-self:end;align-self:center;margin:0;filter:drop-shadow(0 5px 4px #20060338) drop-shadow(0 20px 15px #20060343)}
.sxsw-sam,.sxsw-killer,.sxsw-jorma{position:relative;overflow:hidden;background:#180c10}
.sxsw-sam{aspect-ratio:16/9;background-image:url("/assets/ryan-sam-raimi-sxsw.jpg");background-repeat:no-repeat;background-size:cover;background-position:center 39%}
.sxsw-split{position:absolute;top:0;bottom:0;background-repeat:no-repeat}
.sxsw-sam-ryan{left:0;width:58%;clip-path:polygon(0 0,100% 0,84% 100%,0 100%);background-image:url("/assets/ryan-sam-raimi-sxsw.jpg");background-size:235% auto;background-position:11% 55%}
.sxsw-sam-raimi{right:0;width:59%;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);background-image:url("/assets/ryan-sam-raimi-sxsw.jpg");background-size:235% auto;background-position:100% 55%}
.sxsw-lower{display:grid;grid-template-columns:1.05fr 1fr;gap:.7rem;margin-top:.7rem}
.sxsw-killer,.sxsw-jorma{aspect-ratio:1/1}
.sxsw-killer{background-image:url("/assets/ryan-killer-mike-sxsw-restored.png");background-repeat:no-repeat;background-size:cover;background-position:center top}
.sxsw-jorma{background-image:url("/assets/ryan-jorma-taccone-sxsw-restored.png");background-repeat:no-repeat;background-size:cover;background-position:center center}
.sxsw-jorma-ryan{left:0;width:59%;clip-path:polygon(0 0,100% 0,84% 100%,0 100%);background-image:url("/assets/ryan-jorma-taccone-sxsw-restored.png");background-size:225% auto;background-position:4% 50%}
.sxsw-jorma-taccone{right:0;width:59%;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);background-image:url("/assets/ryan-jorma-taccone-sxsw-restored.png");background-size:225% auto;background-position:100% 50%}
.sxsw-photo-label{position:absolute;z-index:4;right:.65rem;bottom:.55rem;padding:.3rem .45rem;background:#16090cbd;color:#fff5ec;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:.62rem;line-height:1.25;letter-spacing:.075em;text-transform:uppercase}
.sxsw-contact-sheet figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-top:.9rem;font-family:"Avenir Next",Avenir,var(--sans);font-size:.82rem;line-height:1.45;color:#60433b}
.sxsw-contact-sheet figcaption strong{font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;letter-spacing:.09em;color:#2d1714}
.sxsw-contact-sheet figcaption span{text-align:right}
@media(max-width:1000px){body:has(.about-opening) .practice-camera-frame,.sxsw-contact-sheet{width:min(100%,44rem);justify-self:end}}
@media(max-width:680px){.artist-introduction-diptych .artist-diptych-portrait{clip-path:polygon(0 0,67% 0,56% 100%,0 100%)}.artist-introduction-diptych .artist-diptych-camera{clip-path:polygon(62% 0,100% 0,100% 100%,51% 100%)}body:has(.about-opening) .profile-intro>p:first-child{font-size:.98rem;line-height:1.62;text-wrap:pretty}body:has(.about-opening) .about-signal-triptych{aspect-ratio:1.18/1}.about-signal-panel-one{left:0;width:42%}.about-signal-panel-two{left:31%;width:52%}.about-signal-panel-three{left:64%;width:36%;clip-path:polygon(21% 0,100% 0,100% 100%,7% 100%)}.about-signal-panel-three img{object-position:56% 42%}.journey-life-collage,.practice-life-collage{width:100%;height:42rem;justify-self:stretch}.sxsw-lower{gap:.45rem;margin-top:.45rem}.sxsw-photo-label{right:.35rem;bottom:.35rem;font-size:.5rem}.sxsw-contact-sheet figcaption{display:block;font-size:.75rem}.sxsw-contact-sheet figcaption span{display:block;margin-top:.25rem;text-align:left}}
@media(max-width:480px){.journey-life-collage{height:36rem}.practice-life-collage{height:40rem}.journey-photo-market{grid-column:1/8;grid-row:1/7}.journey-photo-amsterdam{grid-column:8/13;grid-row:1/8}.journey-photo-motorcycle{grid-column:1/8;grid-row:7/13}.journey-photo-ian{grid-column:8/13;grid-row:8/13}}

/* Phone correction: the late desktop About rule must not trap copy in half a column. */
@media(max-width:680px){body:has(.about-opening) .about-opening .profile-layout{grid-template-columns:1fr;gap:2.5rem}body:has(.about-opening) .about-opening .profile-layout>div{max-width:none;width:100%}.opening-refinement .reel .play-circle,.collaboration .play-circle{display:block;width:0;height:0;border-top:.58rem solid transparent;border-right:0;border-bottom:.58rem solid transparent;border-left:.9rem solid #fff;border-radius:0;background:transparent;font-size:0;text-shadow:none;filter:drop-shadow(0 2px 5px #000)}}

/* A little more air around the trilogy's central idea; titles no longer need captions. */
#films .trilogy-heading{margin-bottom:clamp(3.2rem,4.2vw,4.9rem)}
#films .trilogy-intro{max-width:61rem;line-height:1.72}
#films .trilogy-convergence{margin-top:clamp(1.5rem,2vw,2rem)}
#films .film-grid .film h3{min-height:0;margin-top:1.35rem}

/* Secondary pages: less UI on moving images, cleaner film lettering. */
.collaboration .picture-action,.collaboration .play-circle{display:none}

/* One mobile video language everywhere: a CSS triangle, never a text glyph. */
@media(max-width:760px){.play-circle{display:block!important;width:0!important;height:0!important;padding:0!important;border-top:.58rem solid transparent!important;border-right:0!important;border-bottom:.58rem solid transparent!important;border-left:.9rem solid #fff!important;border-radius:0!important;background:transparent!important;font-size:0!important;line-height:0!important;text-shadow:none!important;filter:drop-shadow(0 2px 5px #000)}.picture-action{display:none!important}}

/* One video language at every width: simple white CSS triangles, never glyphs. */
.play-circle{display:block!important;width:0!important;height:0!important;padding:0!important;border-top:.7rem solid transparent!important;border-right:0!important;border-bottom:.7rem solid transparent!important;border-left:1.05rem solid #fff!important;border-radius:0!important;background:transparent!important;font-size:0!important;line-height:0!important;text-shadow:none!important;filter:drop-shadow(0 2px 6px #000)}
.picture-action{display:none!important}
.recognition-film+.laurel-grid{max-width:1080px;margin-inline:auto;gap:.9rem 1.2rem}
#film-thoth .feature-heading h2{font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(3.3rem,6vw,6.2rem);font-weight:700;letter-spacing:-.045em;line-height:1}
#film-thoth .feature-heading{align-items:baseline;gap:1.3rem}
#film-libra .feature-heading h2{font-family:"Allura","La Belle Aurore","SignPainter",cursive;font-size:clamp(4.75rem,7.8vw,8.5rem);font-weight:400;letter-spacing:.005em;line-height:.9;color:#cb276f;text-shadow:0 8px 20px #8a21421f}
#film-libra .feature-heading h2::after{content:"";display:block;width:min(17rem,58%);height:1px;margin-top:.45rem;background:linear-gradient(90deg,#cb276f 0%,#cb276f66 60%,transparent 100%)}
#film-libra .feature-heading{align-items:baseline;margin-bottom:2.35rem}
#film-libra .feature-heading>p{padding-bottom:.3rem;color:#8a214d;font-family:"Space Grotesk",var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
#film-libra .feature-copy{margin-top:2.8rem}
#film-libra .libra-practice-line{font-weight:700;letter-spacing:.015em}
#film-libra .libra-access-line{display:block;width:max-content;max-width:100%;margin:-.45rem 0 2.2rem;padding:.62rem 0;border-block:1px solid #cb276f66;color:#a8205a;font-size:.72rem;font-weight:900;line-height:1.45;letter-spacing:.11em;text-transform:uppercase}
#film-libra .film-media-label{display:inline-block;margin-bottom:.65rem;padding:.22rem 0 .38rem;border-bottom:1px solid #cb276f80;color:#9e2858;font-size:.68rem;font-weight:900;line-height:1.4;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:680px){#film-thoth .feature-heading,#film-libra .feature-heading{align-items:flex-start}#film-libra .feature-heading{gap:.35rem;margin-bottom:1.5rem}#film-libra .feature-copy{margin-top:1.8rem}}

/* Films page body copy shares the Eclipse Trilogy's quieter editorial voice. */
#film-moon .prose,
#film-thoth .prose,
#film-libra .prose,
#film-pisces .prose{
  font-family:"Avenir Next",Avenir,var(--sans);
  font-size:clamp(1.0625rem,1.08vw,1.25rem);
  font-weight:400;
  line-height:1.72;
  letter-spacing:.002em
}
#film-moon .prose p+p,
#film-thoth .prose p+p,
#film-libra .prose p+p,
#film-pisces .prose p+p{margin-top:1.45rem}

/* Festival voices: external validation without turning the film pages into review aggregators. */
.jury-quote{padding-left:1.25rem;border-left:2px solid currentColor}
.jury-quote p{font-size:clamp(1.12rem,1.55vw,1.55rem);font-weight:550;line-height:1.48;letter-spacing:-.018em}
.jury-quote cite{display:block;margin-top:.8rem;font-size:.72rem;font-style:normal;font-weight:700;letter-spacing:.095em;line-height:1.5;text-transform:uppercase;opacity:.68}
.jury-quote-home{max-width:50rem;margin:2rem auto 1.2rem;padding:1.35rem 1rem;border-left:0;border-block:1px solid #2006033d;text-align:center}
.jury-quote-home p{font-size:clamp(1.35rem,2.3vw,2.15rem)}
.jury-proof{margin-top:clamp(3rem,5vw,5rem);padding-top:1.35rem;border-top:1px solid #20060335}
.jury-proof-label,.jury-proof-source{font-size:.72rem;font-weight:750;letter-spacing:.11em;line-height:1.5;text-transform:uppercase}
.jury-proof-label{margin-bottom:1.35rem;color:#8d4238}
.jury-proof-source{margin-top:1.3rem;color:#6b4a42}
.jury-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.jury-quote-grid .jury-quote{min-height:100%;padding:1.25rem 1.25rem 1.35rem;background:#20060308;border-left-color:#c34f79}
.jury-quote-grid .jury-quote p{font-size:clamp(1rem,1.15vw,1.2rem);line-height:1.58}
.jury-quote-feature{max-width:54rem;margin-top:2.5rem;color:#200603}
.jury-quote-feature p{font-size:clamp(1.3rem,2vw,1.9rem)}
.home-jury-section{background:#090708;color:#14070c}
.home-jury-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);padding:0;border:1px solid #f3a0c5;background:#f3a0c5;box-shadow:0 30px 80px #0007;overflow:hidden}
.home-jury-visual{position:relative;min-width:0;background:#000}
.home-jury-media{height:100%;min-height:clamp(28rem,38vw,38rem);background:#000}
.home-jury-media video{width:100%;height:100%;object-fit:cover;object-position:center}
.home-jury-visual figcaption{position:absolute;right:0;bottom:0;left:0;padding:.85rem 1rem;background:#090708e8;color:#f5c0d8;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.home-jury-proof{display:flex;flex-direction:column;justify-content:center;margin:0;padding:clamp(2rem,3.7vw,4rem);background:#f3a0c5}
.home-jury-proof-heading{margin-bottom:clamp(1.5rem,2.2vw,2.2rem)}
.home-jury-proof-heading .eyebrow{margin:0 0 .85rem;color:#72183d}
.home-jury-proof-heading h2{max-width:none;font-size:clamp(2.75rem,3.8vw,4.4rem);font-weight:600;line-height:.92;letter-spacing:-.06em;color:#090708}
.home-jury-author-credit{margin-top:.75rem;font-size:.82rem;font-weight:900;letter-spacing:.11em;line-height:1.4;text-transform:uppercase;color:#090708}
.home-jury-award{display:inline-block;margin-top:.8rem;padding:.55rem .7rem;background:#090708;color:#fff2e8;font-size:.72rem;font-weight:800;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}
.home-jury-proof-grid{display:grid;grid-template-columns:1fr}
.home-jury-proof-grid blockquote{padding:.9rem 0;border-top:2px solid #090708;background:transparent}
.home-jury-proof-grid blockquote:last-child{border-bottom:2px solid #090708}
.home-jury-proof-grid blockquote p{font-size:clamp(1rem,1.15vw,1.25rem);font-weight:650;line-height:1.42;letter-spacing:-.025em}
.home-jury-more{align-self:flex-start;margin-top:1rem;padding:.72rem .88rem;background:#090708;color:#fff2e8;font-size:.75rem;font-weight:850;letter-spacing:.085em;text-transform:uppercase;text-decoration:none;transition:transform .2s ease,background .2s ease}
.home-jury-more:hover,.home-jury-more:focus-visible{background:#641b3a;transform:translateY(-2px)}
#moon-jury-comments{scroll-margin-top:6rem}
.thoth-creator-credit{display:inline-block;margin-top:.9rem;padding:.52rem .72rem;background:#160807;color:#fff3e7;font-size:.82rem!important;font-weight:850;letter-spacing:.09em;line-height:1.4;text-transform:uppercase}
@media(max-width:900px){.jury-quote-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1100px){.home-jury-proof-heading h2{white-space:nowrap}}
@media(max-width:700px){.home-jury-layout{grid-template-columns:1fr}.home-jury-media{min-height:0;aspect-ratio:16/10}.home-jury-proof{padding:clamp(2rem,8vw,4rem)}.home-jury-proof-heading h2{font-size:clamp(3.2rem,14vw,6rem)}}
@media(max-width:620px){.jury-quote-grid{grid-template-columns:1fr}.jury-quote-grid .jury-quote{padding:1.05rem 1rem}.jury-quote-home{margin-top:1.6rem}.jury-quote-feature{margin-top:2rem}.home-jury-proof-grid blockquote{padding:1rem}}

/* Replay nominations: keep the official wreath art while giving the three disciplines full-scale type. */

/* Portfolio: proof first, production detail second. */
.portfolio-hero .page-subtitle{max-width:45rem}
.portfolio-capability-line{max-width:62rem;margin-top:1.7rem;padding:.85rem 1rem;background:var(--pink);color:var(--ink);font-size:clamp(.75rem,1vw,.9rem);font-weight:850;line-height:1.55;letter-spacing:.075em;text-transform:uppercase}
.collaboration-layout .prose>p:first-child{font-size:clamp(1.2rem,1.7vw,1.5rem);line-height:1.42;letter-spacing:-.018em}
.collaboration-layout .prose .project-note{font-size:.9rem;line-height:1.6;color:var(--muted)}
.collaboration-layout .prose .project-role{margin-top:2rem;padding-top:1.15rem;border-top:1px solid currentColor;font-size:.88rem;font-weight:500;line-height:1.75;letter-spacing:.015em}
.project-role span{display:block;margin-bottom:.35rem;color:var(--pink);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.light-section .project-role span{color:#9f345e}
.project-testimonial-link{display:inline-block;margin-top:1.25rem;padding:.65rem .75rem;background:var(--pink);color:var(--ink);font-size:.72rem;font-weight:850;line-height:1.45;letter-spacing:.055em;text-transform:uppercase;text-decoration:none;transition:transform .2s,background .2s}
.project-testimonial-link:hover,.project-testimonial-link:focus-visible{background:var(--orange);transform:translateY(-2px)}
.testimonial-proof-grid blockquote{scroll-margin-top:2rem}
.testimonial-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:0 0 3rem}
.testimonial-proof-grid blockquote{display:flex;min-height:14rem;flex-direction:column;justify-content:space-between;padding:1.35rem;border:1px solid #f3a0c580;background:#f3a0c50a}
.testimonial-proof-grid blockquote p{font-size:clamp(1.15rem,1.45vw,1.5rem);font-weight:600;line-height:1.42;letter-spacing:-.025em}
.testimonial-proof-grid cite{margin-top:1.6rem;color:var(--pink);font-size:.76rem;font-style:normal;font-weight:700;line-height:1.45;letter-spacing:.07em;text-transform:uppercase}
.testimonial-disclosures{margin-top:.5rem}
@media(max-width:850px){.testimonial-proof-grid{grid-template-columns:1fr}.testimonial-proof-grid blockquote{min-height:0}.collaboration-layout .prose>p:first-child{font-size:1.2rem}}

/* Portfolio pieces announce themselves in motion; the full player remains one click away. */
.portfolio-motion-frame{position:sticky;top:2rem;isolation:isolate;width:100%;aspect-ratio:16/9;overflow:hidden;background:var(--ink);outline:1px solid #20060338;box-shadow:0 3px 5px #20060319,0 16px 26px -8px #20060342,0 30px 48px -20px #20060330}
.collaboration-dark .portfolio-motion-frame{outline-color:#edafd536;box-shadow:0 3px 5px #0005,0 16px 28px -8px #0009,0 30px 48px -20px #0008}
.portfolio-motion-frame .motion-poster,.portfolio-motion-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.portfolio-motion-frame .motion-poster{z-index:0;object-fit:cover;transform:scale(1.025);animation:portfolio-poster-drift 14s ease-in-out infinite alternate}
.portfolio-motion-frame iframe{z-index:1;pointer-events:none;transform:scale(1.015)}
#antipriest .portfolio-motion-frame iframe{transform:scale(1.09)}
.portfolio-motion-frame .motion-play{position:absolute;z-index:2;inset:0;top:0;height:100%;background:linear-gradient(to top,#1206068f 0%,transparent 34%);outline:0;box-shadow:none;cursor:pointer}
.portfolio-motion-frame .motion-play:hover{background:linear-gradient(to top,#120606b5 0%,transparent 42%)}
.motion-play-label{position:absolute;right:1rem;bottom:.9rem;padding:.5rem .65rem;background:#180806e8;color:#fff3e8;font-size:.7rem;font-weight:800;line-height:1.3;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s,background .2s}
.motion-play:hover .motion-play-label{background:#a73b66;transform:translateY(-2px)}
@media(max-width:900px){.portfolio-motion-frame{position:relative;top:auto}}
@media(max-width:620px){.motion-play-label{right:.7rem;bottom:.65rem;font-size:.62rem}}
@keyframes portfolio-poster-drift{0%{transform:scale(1.025) translate3d(-.45%,0,0)}100%{transform:scale(1.075) translate3d(.45%,-.35%,0)}}
/* These are deliberately moving portfolio previews, even when the OS reduces decorative motion. */
@media(prefers-reduced-motion:reduce){.portfolio-motion-frame .motion-poster{animation:portfolio-poster-drift 18s ease-in-out infinite alternate!important}}

/* Films: authorship and proof are visible before interpretation is required. */
.films-page-hero .page-subtitle{max-width:58rem;font-size:clamp(1.12rem,1.8vw,1.42rem)}
.films-authorship-bar{display:inline-block;margin-top:1.75rem;padding:.72rem .9rem;background:var(--pink);color:var(--ink);font-size:clamp(.72rem,1vw,.86rem);font-weight:900;line-height:1.45;letter-spacing:.1em;text-transform:uppercase}
.film-author-credit{display:inline-block;margin:-.75rem 0 2rem;padding:.52rem .72rem;background:var(--pink);color:var(--ink);font-size:.72rem;font-weight:900;line-height:1.4;letter-spacing:.095em;text-transform:uppercase}
.light-section .film-author-credit{background:var(--ink);color:var(--paper)}
.film-project-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:1.2rem 0 3rem;border-block:1px solid #edafd56b}
.film-project-facts span{padding:.9rem .8rem;border-right:1px solid #edafd56b;color:var(--pink);font-size:.72rem;font-weight:800;line-height:1.45;letter-spacing:.075em;text-align:center;text-transform:uppercase}
.film-project-facts span:last-child{border-right:0}
#film-pisces .feature-copy{margin-top:0}
#film-pisces .full-film-frame figcaption{font-size:clamp(.95rem,1.2vw,1.1rem)}

/* History Repeating: expose the architecture without touching Ryan's writing. */
.essay-article .essay-layer{position:relative;padding-left:clamp(3.5rem,6vw,5.75rem)}
.essay-article .essay-layer:before{content:attr(data-layer);position:absolute;left:0;top:.4rem;width:2.75rem;padding-top:.45rem;border-top:2px solid #8e315d;color:#8e315d;font-family:"Inter Tight",var(--sans);font-size:.72rem;font-weight:800;line-height:1;letter-spacing:.16em}
.essay-opening .essay-lineage{max-width:38rem;margin:0 0 1.45rem;padding-top:1rem;border-top:1px solid #edafd53d;color:#d8bdca;font-family:"Inter Tight",var(--sans);font-size:.82rem;line-height:1.55;letter-spacing:.035em}
.essay-opening .essay-lineage em{color:#f4dce8}
.essay-article .essay-cinema-pair,.essay-article .essay-concept-pair{max-width:78rem!important;gap:clamp(1rem,2vw,1.8rem);margin-block:clamp(3.5rem,6vw,5.5rem);padding:clamp(1rem,2.2vw,2rem);background:radial-gradient(ellipse at 50% 0,#8b2f5130,transparent 60%),#230807;box-shadow:0 24px 50px #34110d30}
.essay-article .essay-cinema-pair figure,.essay-article .essay-concept-pair figure{display:flex;flex-direction:column;min-width:0}
.essay-article .essay-cinema-pair img{width:100%;height:auto;max-height:none!important;aspect-ratio:16/9;object-fit:cover;background:#080504}
.essay-article .essay-symbol-pair img{aspect-ratio:4/3}
.essay-article .essay-spice-pair{position:relative;overflow:hidden;background:radial-gradient(circle at 14% 0,#f26ab22e,transparent 34%),radial-gradient(circle at 88% 100%,#ed714c30,transparent 38%),linear-gradient(135deg,#310708,#160506 58%,#391027)}
.essay-article .essay-spice-pair:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,#edafd5,#ec5fa7 48%,#ef7650);z-index:1}
.essay-article .essay-spice-pair img{aspect-ratio:4/3}
.essay-article .essay-spice-pair figure:first-child img{object-fit:contain;background:#f5eee6}
.essay-article .essay-spice-pair figcaption{color:#efb6d2}
.essay-article .essay-spice-pair figcaption cite{color:#fff1f8}
.essay-article .essay-sharits-sequence{position:relative;max-width:82rem!important;grid-template-columns:1.08fr 1.08fr .84fr;gap:clamp(.7rem,1.5vw,1.2rem);margin-block:clamp(3.5rem,6vw,5.5rem);padding:clamp(1rem,2vw,1.7rem);background:radial-gradient(circle at 100% 0,#c62e712b,transparent 34%),linear-gradient(145deg,#160505,#2b080b);box-shadow:0 24px 50px #34110d35}
.essay-article .essay-sharits-sequence:before{content:"CAUSE / EFFECT / CONDITION / CURE";grid-column:1/-1;padding-bottom:.9rem;border-bottom:1px solid #ef97bf55;color:#efb6d2;font-family:"Inter Tight",var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.16em}
.essay-article .essay-sharits-sequence figure{display:flex;flex-direction:column;min-width:0;background:#090303}
.essay-article .essay-sharits-sequence img{width:100%;height:auto;max-height:none!important;aspect-ratio:4/3;object-fit:cover;background:#090303}
.essay-article .essay-sharits-sequence figure:last-child img{object-fit:contain;background:#f6f1ec}
.essay-article .essay-sharits-sequence figcaption{display:flex;flex-direction:column;gap:.35rem;min-height:5.2rem;padding:1rem;color:#e8cbd8;font-family:"Inter Tight",var(--sans);font-size:.68rem;line-height:1.35;letter-spacing:.12em}
.essay-article .essay-sharits-sequence figcaption span{color:#ef7650;font-weight:850}
.essay-article .essay-sharits-sequence figcaption cite{color:#fff3f7;font-style:normal;font-size:.76rem;font-weight:750}
.essay-article .essay-aggro-pair{position:relative;overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr));background:radial-gradient(circle at 12% 0,#ffec2c28,transparent 34%),radial-gradient(circle at 88% 100%,#00dce52c,transparent 38%),linear-gradient(135deg,#29100c,#18061d 52%,#031d2b);box-shadow:0 24px 50px #081c2930}
.essay-article .essay-aggro-pair:before{content:"INFRARED AS PSYCHIC GEOGRAPHY";grid-column:1/-1;padding-bottom:.9rem;border-bottom:1px solid #74e8e855;color:#f5cadc;font-family:"Inter Tight",var(--sans);font-size:.72rem;font-weight:850;letter-spacing:.16em}
.essay-article .essay-aggro-pair img{aspect-ratio:5/4;filter:saturate(1.08) contrast(1.04)}
.essay-article .essay-aggro-pair figure{position:relative;background:#080305}
.essay-article .essay-aggro-pair figure:first-of-type{box-shadow:inset 0 3px #f2db38}
.essay-article .essay-aggro-pair figure:last-of-type{box-shadow:inset 0 3px #22d4df}
.essay-article .essay-aggro-pair figcaption{display:grid;grid-template-columns:auto 1fr;gap:.45rem .8rem;align-items:baseline;color:#d8cbd9}
.essay-article .essay-aggro-pair figcaption span{grid-column:1/-1;color:#ef7650;font-size:.68rem;font-weight:850;letter-spacing:.14em}
.essay-article .essay-aggro-pair figcaption cite{color:#fff4f8}
.essay-article .essay-concept-pair img{width:100%;height:auto;max-height:none!important;aspect-ratio:1;object-fit:contain;background:#f5eee6}
.essay-article .essay-cinema-pair figcaption,.essay-article .essay-concept-pair figcaption{margin-top:1rem;color:#e4cbd4;font-family:"Inter Tight",var(--sans);font-size:.78rem;line-height:1.45;letter-spacing:.08em;text-transform:uppercase}
.essay-article .essay-cinema-pair figcaption cite,.essay-article .essay-concept-pair figcaption cite{color:#f7edf1;font-style:normal;font-weight:700}
.essay-article .essay-threshold{position:relative;margin:clamp(3.2rem,6vw,5.5rem) clamp(-3.25rem,-4vw,-1rem) 0!important;padding:clamp(1.65rem,3vw,2.65rem);background:radial-gradient(ellipse at 85% 15%,#c94c7b22,transparent 55%),#2b0a09;color:#f7eee8;font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.35rem,2vw,1.95rem);font-weight:500;line-height:1.5;letter-spacing:-.018em;box-shadow:0 18px 36px #3b140f2b}
.essay-article .essay-threshold:before{content:"";position:absolute;top:0;left:0;width:42%;height:4px;background:linear-gradient(90deg,#edafd5,#ef7650)}
.essay-article .essay-question{margin:clamp(2.2rem,4vw,3.5rem) 0!important;padding-left:clamp(1.25rem,3vw,2.3rem);border-left:2px solid #a33d6d;color:#7d2851;font-size:clamp(1.35rem,2vw,1.8rem);font-style:italic;line-height:1.55}
.essay-article .essay-last-word{margin-top:clamp(3.5rem,6vw,5.5rem)!important;padding-block:clamp(2rem,4vw,3.25rem);border-block:1px solid #7d285166;font-size:clamp(1.22rem,1.7vw,1.55rem);line-height:1.65}
.essay-article .essay-last-word strong{display:block;margin-top:1.5rem;color:#7d2851;font-family:"Avenir Next",Avenir,var(--sans);font-size:clamp(1.8rem,3.5vw,3.25rem);font-weight:600;line-height:1.16;letter-spacing:-.035em}
.essay-article .essay-bibliography{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 2.5rem;margin-top:clamp(3rem,5vw,4.5rem);padding:clamp(1.5rem,3vw,2.4rem);border:1px solid #20060329;background:#eadfd44a;font-family:"Avenir Next",Avenir,var(--sans);font-size:.84rem;line-height:1.55}
.essay-article .essay-bibliography p{margin:0}
.essay-article .essay-bibliography p:first-child{grid-column:1/-1;padding-bottom:.9rem;border-bottom:1px solid #20060329;color:#7d2851;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:680px){.essay-article .essay-layer{padding-left:3.2rem}.essay-article .essay-cinema-pair,.essay-article .essay-concept-pair{padding:1rem}.essay-article .essay-sharits-sequence,.essay-article .essay-aggro-pair{grid-template-columns:1fr}.essay-article .essay-sharits-sequence:before,.essay-article .essay-aggro-pair:before{grid-column:auto}.essay-article .essay-sharits-sequence figcaption{min-height:0}.essay-article .essay-threshold{margin-inline:-.75rem!important;padding:1.5rem}.essay-article .essay-bibliography{grid-template-columns:1fr}.essay-article .essay-last-word strong{font-size:clamp(1.7rem,8vw,2.5rem)}}
.thoth-interruption-line{display:block;margin-top:.85rem}
.film-feature>.shell{position:relative}
.film-feature>.shell::before{display:block;margin-bottom:1.05rem;font-size:.68rem;font-weight:900;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;opacity:.58}
#film-moon>.shell::before{content:"01 / COMPLETED FILM"}
#film-thoth>.shell::before{content:"02 / COMPLETED FILM"}
#film-libra>.shell::before{content:"03 / COMPLETED FILM"}
#film-pisces>.shell::before{content:"04 / FEATURE IN DEVELOPMENT"}
@media(max-width:760px){.film-author-credit{margin-top:-.35rem}.film-project-facts{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:2rem}.film-project-facts span:nth-child(2){border-right:0}.film-project-facts span:nth-child(-n+2){border-bottom:1px solid #edafd56b}}
@media(max-width:480px){.films-authorship-bar{display:block;text-align:center}.film-project-facts{grid-template-columns:1fr}.film-project-facts span{border-right:0!important;border-bottom:1px solid #edafd56b}.film-project-facts span:last-child{border-bottom:0}}

/* Homepage film wall: Ryan's finished moving-image edits, without a portfolio panel. */
.home-film-wall{position:relative;overflow:hidden;padding:clamp(3rem,5vw,6rem) 0 clamp(4rem,7vw,8rem);background:#160403;color:var(--paper)}
.home-film-wall:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 8%,#d6547c1f,transparent 34%),radial-gradient(circle at 88% 92%,#ef76501c,transparent 36%)}
.home-film-wall-grid{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2.5rem,4.4vw,5.5rem) clamp(1.2rem,2vw,2.4rem);align-items:start}
.home-film-wall-item{min-width:0}
.home-film-wall-moon{grid-column:1/span 7}
.home-film-wall-adsum{grid-column:8/span 5;margin-top:clamp(4rem,8vw,9rem)}
.home-film-wall-joan{grid-column:1/span 5}
.home-film-wall-libra{grid-column:6/span 7;margin-top:clamp(3rem,6vw,7rem)}
.home-film-wall-thoth{grid-column:3/span 8}
.home-film-wall-preview{position:relative;aspect-ratio:16/9;overflow:hidden;background:#050101;box-shadow:0 26px 55px #0008}
.home-film-wall-preview video{display:block;width:100%;height:100%;object-fit:cover}
.home-film-wall-preview .film-loop-toggle{position:absolute;right:.75rem;bottom:.75rem;z-index:2;border:1px solid #edafd577;background:#160403d9;color:#fff4ed;padding:.38rem .62rem;border-radius:0;font:700 .65rem/1.2 "Inter Tight",var(--sans);letter-spacing:.08em;text-transform:uppercase}
.home-film-wall-caption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem 1rem;align-items:baseline;padding-top:.85rem;border-top:2px solid transparent}
.home-film-wall-moon .home-film-wall-caption,.home-film-wall-joan .home-film-wall-caption,.home-film-wall-thoth .home-film-wall-caption{border-color:var(--pink)}
.home-film-wall-adsum .home-film-wall-caption,.home-film-wall-libra .home-film-wall-caption{border-color:#ef7650}
.home-film-wall-caption h2{font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(1.15rem,1.65vw,1.85rem);font-weight:650;line-height:1.05;letter-spacing:-.04em}
.home-film-wall-caption h2 a{text-decoration:none}
.home-film-wall-caption h2 a:hover{text-decoration:underline;text-underline-offset:.2em}
.home-film-wall-caption p{max-width:38rem;color:#d7bdc6;font-family:"Julius Sans One","Avenir Next",Avenir,sans-serif;font-size:clamp(.59rem,.67vw,.72rem);font-weight:600;line-height:1.5;letter-spacing:.055em;text-align:right;text-transform:uppercase}
@media(max-width:900px){.home-film-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 1.25rem}.home-film-wall-item{grid-column:auto!important;margin-top:0!important}.home-film-wall-moon{grid-column:1/-1!important}.home-film-wall-caption{grid-template-columns:1fr}.home-film-wall-caption p{text-align:left}}
@media(max-width:620px){.home-film-wall{padding-block:2.25rem 4rem}.home-film-wall-grid{grid-template-columns:1fr;gap:2.6rem}.home-film-wall-item{grid-column:1!important}.home-film-wall-caption h2{font-size:1.3rem}.home-film-wall-caption p{font-size:.61rem}}

/* One compact composition: all five moving images land before the next chapter. */
.home-film-wall{padding:clamp(1.4rem,2.4vw,2.6rem) 0;background:#160403}
.home-film-wall-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,clamp(9rem,13vw,13.5rem));gap:clamp(.55rem,.9vw,.9rem)}
.home-film-wall-item{position:relative;grid-column:auto;margin:0!important;overflow:hidden;background:#050101;box-shadow:none}
.home-film-wall-moon{grid-column:1/span 5;grid-row:1/span 2}
.home-film-wall-adsum{grid-column:6/span 3;grid-row:1}
.home-film-wall-joan{grid-column:9/span 4;grid-row:1}
.home-film-wall-libra{grid-column:6/span 4;grid-row:2}
.home-film-wall-thoth{grid-column:10/span 3;grid-row:2}
.home-film-wall-preview{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;box-shadow:none}
.home-film-wall-preview video{width:100%;height:100%;object-fit:cover}
.home-film-wall-preview .film-loop-toggle{top:.55rem;right:.55rem;bottom:auto;padding:.28rem .46rem;border-color:#fff5;background:#120303b8;font-size:.55rem}
.home-film-wall-caption{position:absolute;z-index:2;right:0;bottom:0;left:0;display:block;padding:clamp(2.25rem,4vw,4rem) .8rem .7rem;border:0!important;background:linear-gradient(to top,#090101e8 0%,#0901019c 48%,transparent 100%);pointer-events:none}
.home-film-wall-caption h2{color:#fff7f1;font-size:clamp(.92rem,1.3vw,1.42rem);line-height:1.02;text-shadow:0 1px 8px #000}
.home-film-wall-caption h2 a{pointer-events:auto}
.home-film-wall-caption p{max-width:none;margin-top:.28rem;color:var(--pink);font-size:clamp(.5rem,.55vw,.62rem);line-height:1.35;letter-spacing:.035em;text-align:left;white-space:normal}
.home-film-wall-adsum .home-film-wall-caption p,.home-film-wall-libra .home-film-wall-caption p{color:#f09270}
.home-film-wall-joan .home-film-wall-caption h2{max-width:24ch;font-size:clamp(.82rem,1.12vw,1.18rem)}
@media(max-width:900px){.home-film-wall-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.home-film-wall-item{grid-column:auto!important;grid-row:auto!important;min-height:clamp(10rem,28vw,15rem)}.home-film-wall-moon{grid-column:1/-1!important;min-height:clamp(15rem,45vw,23rem)}}
@media(max-width:620px){.home-film-wall{padding-block:1rem}.home-film-wall-grid{grid-template-columns:1fr;gap:.75rem}.home-film-wall-item,.home-film-wall-moon{grid-column:1!important;min-height:56vw}.home-film-wall-caption h2{font-size:1.08rem}.home-film-wall-joan .home-film-wall-caption h2{font-size:1rem}}

/* Desktop filmstrip: small, immediate, and read as one gesture. */
@media(min-width:901px){
  .home-film-wall{padding:clamp(.75rem,1.1vw,1.15rem) 0}
  .home-film-wall>.shell{width:min(100% - 2*var(--gutter),1900px)}
  .home-film-wall-grid{display:grid;grid-template-columns:1.18fr 1fr 1.12fr 1fr 1.18fr;grid-template-rows:clamp(8rem,10.5vw,12rem);gap:clamp(.35rem,.55vw,.7rem);align-items:stretch}
  .home-film-wall-item,.home-film-wall-moon,.home-film-wall-adsum,.home-film-wall-joan,.home-film-wall-libra,.home-film-wall-thoth{grid-column:auto;grid-row:1;height:100%;margin:0!important;min-height:0}
  .home-film-wall-caption{padding:2.5rem .55rem .48rem}
  .home-film-wall-caption h2,.home-film-wall-joan .home-film-wall-caption h2{max-width:none;font-size:clamp(.68rem,.78vw,.92rem);line-height:1.05}
  .home-film-wall-caption p{margin-top:.2rem;font-size:clamp(.4rem,.42vw,.5rem);line-height:1.25}
  .home-film-wall-preview .film-loop-toggle{top:.35rem;right:.35rem;font-size:.45rem}
  .home-film-wall-preview,.home-film-wall-preview video{transform:translateZ(0);backface-visibility:hidden}
}

.home-film-wall{background:#fff}
.home-film-wall:before{display:none}
.home-film-wall-item{-webkit-mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;mask:url("/assets/film-edge-mask.svg") center/100% 100% no-repeat;filter:drop-shadow(0 3px 2px #2006032e) drop-shadow(0 11px 9px #20060352)}
.home-film-wall-item:nth-child(1),.home-film-wall-item:nth-child(4){transform:rotate(-.22deg)}
.home-film-wall-item:nth-child(2),.home-film-wall-item:nth-child(5){transform:rotate(.18deg)}
.home-film-wall-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.8rem;margin-top:clamp(1.05rem,1.5vw,1.45rem)}
.home-film-wall-actions .button{font-family:"Avenir Next",Avenir,var(--sans);font-size:.875rem;font-weight:650;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:background .2s,transform .2s}
.home-film-wall-actions>.button:first-child{background:var(--ink);color:var(--paper)}
.home-film-wall-actions>.button:first-child:hover{background:#4a211d;transform:translateY(-2px)}
.home-film-wall-actions .button-outline{border-color:#20060366;color:var(--ink)}
.home-film-wall-actions .button-outline:hover{background:#edafd544;transform:translateY(-2px)}
@media(max-width:620px){.home-film-wall-actions{margin-top:1rem}.home-film-wall-actions .button{font-size:.82rem}}
.home-film-wall-moon .home-film-wall-preview video{transform:translateZ(0) scale(1.045)}
.home-film-wall-vimeo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.home-film-wall-vimeo>iframe{position:absolute;z-index:1;top:50%;left:50%;width:auto;height:100%;min-width:100%;aspect-ratio:16/9;border:0;pointer-events:none;transform:translate(-50%,-50%) scale(1.015)}

/* Desktop moving-image gallery: compact hierarchy without thumbnail-strip compression. */
@media(min-width:901px){
  .home-film-wall{padding:clamp(1.65rem,2.4vw,2.7rem) 0 clamp(1.4rem,2.1vw,2.3rem)}
  .home-film-wall>.shell{width:min(calc(100% - clamp(3rem,7vw,8rem)),1320px)}
  .home-film-wall-grid{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(2,auto);gap:clamp(.8rem,1.15vw,1.25rem)}
  .home-film-wall-item,.home-film-wall-moon,.home-film-wall-adsum,.home-film-wall-joan,.home-film-wall-libra,.home-film-wall-thoth{height:auto;min-height:0;margin:0!important;aspect-ratio:16/9}
  .home-film-wall-moon{grid-column:1/span 4;grid-row:1}
  .home-film-wall-libra{grid-column:5/span 4;grid-row:1}
  .home-film-wall-thoth{grid-column:9/span 4;grid-row:1}
  .home-film-wall-adsum{grid-column:3/span 4;grid-row:2}
  .home-film-wall-joan{grid-column:7/span 4;grid-row:2}
  .home-film-wall-caption{padding:.55rem .72rem .5rem;background:linear-gradient(to top,#090101e0 0%,#0901018c 62%,transparent 100%)}
  .home-film-wall-caption h2,.home-film-wall-joan .home-film-wall-caption h2{font-size:clamp(.88rem,1.08vw,1.14rem);line-height:1.04}
  .home-film-wall-caption p{font-size:clamp(.46rem,.52vw,.57rem);line-height:1.3}
  .home-film-wall-actions{margin-top:clamp(1.15rem,1.6vw,1.5rem)}
}

/* Let the hero image stand alone, then use the title as the transition into the work. */
.opening-refinement .home-loop-preview:after{display:none}
.opening-refinement .reel figcaption{position:static;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1rem 2rem;padding:clamp(1.1rem,1.5vw,1.45rem) .35rem 0;text-align:left;pointer-events:auto}
.opening-refinement .reel figcaption .reel-title-line{display:block;white-space:normal;text-align:left;text-shadow:none}
.opening-refinement .home-opening-title{max-width:none;font-size:clamp(1.55rem,2.45vw,2.5rem);line-height:1.02}
.opening-refinement .home-opening-roles{margin:0 0 .18rem;text-align:right}
.opening-refinement .home-loop-preview{filter:drop-shadow(0 6px 5px #0801019c) drop-shadow(0 26px 20px #080101a8)}
.home-film-wall{background:radial-gradient(ellipse at 50% 42%,#fffaf6a8 0%,#eadedc70 52%,transparent 76%),linear-gradient(180deg,#c9b3b1 0%,#e9dcd9 11%,#e9dcd9 87%,#bfa5a2 100%);box-shadow:inset 0 14px 28px #20060330,inset 0 -20px 34px #20060342}
.home-film-wall-item{filter:drop-shadow(0 4px 3px #20060366) drop-shadow(0 16px 13px #20060370)}
@media(max-width:620px){.opening-refinement .reel figcaption{grid-template-columns:1fr;gap:.45rem;padding:1rem .25rem 0}.opening-refinement .home-opening-roles{text-align:left}}

/* The opening now cuts directly from authorship to proof. */
.opening-refinement{padding-bottom:clamp(2.4rem,4vw,4rem)}
.opening-refinement .home-opening-actions{width:min(100%,1080px);justify-content:flex-start;margin:clamp(1rem,1.4vw,1.35rem) auto 0;padding-inline:.35rem}
.opening-refinement .home-opening-actions .button{font-family:"Avenir Next",Avenir,var(--sans);font-size:.875rem;font-weight:650;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px));transition:background .2s,transform .2s}
.opening-refinement .home-opening-actions>.button:first-child{background:linear-gradient(135deg,var(--pink),#ef7650);color:var(--ink)}
.opening-refinement .home-opening-actions>.button:first-child:hover,.opening-refinement .home-opening-actions .button-outline:hover{transform:translateY(-2px)}
.opening-refinement .home-opening-actions .button-outline{border-color:#edafd58c;color:var(--paper)}
.opening-refinement .home-opening-actions .button-outline:hover{background:#edafd51f}
@media(max-width:620px){.opening-refinement{padding-bottom:2.5rem}.opening-refinement .home-opening-actions{gap:.65rem;margin-top:1.05rem;padding-inline:.25rem}.opening-refinement .home-opening-actions .button{font-size:.82rem}}

/* The trilogy is a thesis, not a caption. */
#films .trilogy-heading{display:grid;grid-template-columns:minmax(18rem,.9fr) minmax(30rem,1.15fr);gap:clamp(2.5rem,5vw,6rem);align-items:center;max-width:78rem;margin:0 auto clamp(4rem,5vw,6rem);text-align:left}
#films-heading{max-width:7.4ch;margin:0;font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(4.2rem,6.8vw,7.35rem);font-weight:700;line-height:.82;letter-spacing:-.075em;text-transform:uppercase;text-shadow:0 2px 0 #fff8,0 12px 25px #20060324;white-space:normal}
#films-heading::before{content:"I  /  II  /  III";display:block;margin:0 0 clamp(.75rem,1vw,1.05rem) .35rem;color:#ef7650;font-family:"Inter Tight",var(--sans);font-size:clamp(.68rem,.72vw,.8rem);font-weight:800;line-height:1;letter-spacing:.22em}
#films-heading span{display:block}
#films-heading span:last-child{color:#7d2851}
#films .trilogy-intro{max-width:none;margin:0;padding:clamp(1.15rem,1.6vw,1.55rem) 0 clamp(1.15rem,1.6vw,1.55rem) clamp(1.35rem,2vw,2rem);border-left:4px solid #ef7650;color:#2b110f;font-family:"Inter Tight",var(--sans);font-size:clamp(1.18rem,1.35vw,1.45rem);font-weight:500;line-height:1.5;letter-spacing:-.012em}
#films .trilogy-intro i{color:#7d2851;font-family:"Gemini Syne","Syne",var(--sans);font-size:1.02em;font-style:normal;font-weight:700;letter-spacing:-.025em}
#films .trilogy-convergence{display:block;margin-top:clamp(1.2rem,1.7vw,1.65rem);padding-top:clamp(.9rem,1.2vw,1.15rem);border-top:1px solid #7d285166;color:var(--ink);font-family:"Inter Tight",var(--sans);font-size:clamp(.8rem,.88vw,.95rem);font-weight:800;line-height:1.45;letter-spacing:.075em;text-transform:uppercase;white-space:normal}
@media(max-width:800px){#films .trilogy-heading{grid-template-columns:1fr;gap:2rem;margin-bottom:3.4rem}#films-heading{max-width:none;font-size:clamp(3.45rem,13.5vw,5.75rem);line-height:.86}#films .trilogy-intro{font-size:clamp(1.05rem,3.8vw,1.25rem)}}

/* Cinematic title-card treatment for the trilogy. */
#films .trilogy-heading{display:block;max-width:76rem;margin:0 auto clamp(4.25rem,5.5vw,6.5rem);text-align:center}
#films-heading{max-width:none;margin:0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(4.35rem,7.5vw,8.1rem);font-weight:400;line-height:.86;letter-spacing:-.035em;text-transform:uppercase;text-shadow:0 1px 0 #fff,0 10px 24px #20060324;white-space:normal}
#films-heading::before{content:"I   ·   II   ·   III";display:block;margin:0 0 clamp(1rem,1.4vw,1.35rem);color:#ef7650;font-family:"Inter Tight",var(--sans);font-size:clamp(.65rem,.7vw,.78rem);font-weight:700;line-height:1;letter-spacing:.28em}
#films-heading span{display:block;white-space:nowrap}
#films-heading span:last-child{color:#7d2851;font-style:normal;letter-spacing:.015em}
#films .trilogy-intro{max-width:66rem;margin:clamp(2.3rem,3vw,3.25rem) auto 0;padding:clamp(1.6rem,2.2vw,2.2rem) clamp(.75rem,2vw,2rem) 0;border-top:1px solid #7d28515e;border-left:0;color:#351512;font-family:"Space Grotesk",var(--sans);font-size:clamp(1.14rem,1.28vw,1.36rem);font-weight:400;line-height:1.64;letter-spacing:-.012em;text-align:left}

/* One centered authorship stack beneath the opening image. */
.opening-refinement .reel figcaption{display:flex;flex-direction:column;align-items:center;gap:clamp(.42rem,.7vw,.7rem);padding-top:clamp(1.8rem,2.5vw,2.6rem);text-align:center}
.opening-refinement .home-opening-roles{margin:0;color:#edafd5;font-size:clamp(.62rem,.72vw,.78rem);font-weight:750;letter-spacing:.095em;text-align:center}
.opening-refinement .reel figcaption .reel-title-line{text-align:center}
.opening-refinement .home-opening-title{font-size:clamp(1.55rem,2.25vw,2.3rem);line-height:1.05;white-space:nowrap}
.opening-refinement .home-opening-actions{justify-content:center;text-align:center}
@media(max-width:620px){.opening-refinement .reel figcaption{align-items:center;gap:.5rem;padding:1.45rem .25rem 0;text-align:center}.opening-refinement .home-opening-roles{text-align:center}.opening-refinement .home-opening-title{font-size:clamp(1.35rem,7vw,2rem);white-space:normal;text-align:center}.opening-refinement .home-opening-actions{justify-content:center}}
#films .trilogy-summary{display:block;max-width:61rem;margin-inline:auto}
#films .trilogy-intro i{color:#7d2851;font-family:"DM Serif Display",Georgia,serif;font-size:1.06em;font-style:normal;font-weight:400;letter-spacing:0}
#films .trilogy-convergence{display:grid;justify-items:center;max-width:54rem;margin:clamp(1.55rem,2vw,2rem) auto 0;padding:clamp(1.15rem,1.45vw,1.45rem) clamp(.75rem,2vw,2rem) 0;border-top:3px solid #ef7650;color:var(--ink);font-family:"Inter Tight",var(--sans);font-size:clamp(.76rem,.82vw,.9rem);font-weight:800;line-height:1.45;letter-spacing:.11em;text-align:center;text-transform:uppercase;white-space:normal}
#films .trilogy-convergence strong{display:block;margin:.25rem 0 .1rem;color:#7d2851;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(2rem,3vw,3.4rem);font-style:normal;font-weight:400;line-height:1.05;letter-spacing:-.01em}
@media(max-width:620px){#films .trilogy-heading{margin-bottom:3.25rem}#films-heading{font-size:clamp(2.9rem,12vw,4.2rem);line-height:.9;letter-spacing:-.025em}#films-heading::before{margin-bottom:.85rem;font-size:.62rem}#films .trilogy-intro{margin-top:2rem;padding:1.4rem .2rem 0;font-size:1.05rem;line-height:1.58;text-align:left}#films .trilogy-convergence{padding-inline:.2rem;text-align:center}#films .trilogy-convergence strong{font-size:clamp(1.85rem,8vw,2.6rem)}}

/* A studio lockup: keep the pink Gemini charm, give the masthead more authority. */
.site-header{box-shadow:inset 0 -3px 0 #ef7650}
.site-header .header-content{gap:1.15rem;padding-block:1.8rem 1.55rem}
.site-header .wordmark{display:flex;flex-direction:column;align-items:center;gap:.32rem;font-size:clamp(1.3rem,2.3vw,2.05rem);letter-spacing:-.025em}
.site-header .wordmark-subline{display:block;background:none;color:#5a213c;-webkit-text-fill-color:#5a213c;font-family:"Avenir Next",Avenir,var(--sans);font-size:.62rem;font-weight:700;line-height:1.2;letter-spacing:.18em;text-transform:uppercase;filter:none}
.site-header nav{width:min(100%,48rem);gap:.7rem clamp(1.1rem,2.8vw,2.35rem);padding-top:1rem;border-top:1px solid #20060330;font-size:.78rem;letter-spacing:.09em}
@media(max-width:620px){.site-header .header-content{gap:.9rem;padding-block:1.45rem 1.25rem}.site-header .wordmark{font-size:1.15rem;letter-spacing:-.025em}.site-header .wordmark-subline{font-size:.52rem;letter-spacing:.13em}.site-header nav{gap:.55rem 1rem;padding-top:.85rem;font-size:.7rem;letter-spacing:.045em}}

/* Authorship and production-method draft: range reads as a finished-film advantage. */
.home-opening-utility{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:clamp(1.25rem,2.5vw,3rem);width:min(100%,1080px);margin:clamp(1.3rem,1.8vw,1.75rem) auto 0;padding:1rem 0;border-top:1px solid #edafd566;border-bottom:1px solid #ef765066}
.home-pisces-status{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:.15rem 1rem;margin:0;padding:0;color:#f7e8e0;text-align:left}
.home-pisces-status span{grid-row:1/3;color:var(--orange);font-family:"Barlow Condensed",var(--sans);font-size:.78rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg)}
.home-pisces-status strong{color:var(--pink);font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(1.15rem,1.65vw,1.55rem);font-weight:700;line-height:1.05;letter-spacing:-.035em;text-transform:uppercase}
.home-pisces-status small{font-size:.68rem;font-weight:700;line-height:1.45;letter-spacing:.075em;text-transform:uppercase}
.home-opening-utility .home-opening-actions{width:auto;justify-content:flex-end;margin:0;padding:0;white-space:nowrap}
.method-section{position:relative;overflow:hidden;background:#120303;color:#fff4ed}
.method-section:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 8% 8%,#edafd527,transparent 31%),radial-gradient(circle at 91% 82%,#ef765025,transparent 34%)}
.method-section>.shell{position:relative;z-index:1}
.method-opening{display:grid;grid-template-columns:minmax(33rem,.95fr) minmax(30rem,1.05fr);gap:clamp(4rem,6vw,7rem);align-items:center}
.method-opening .eyebrow{color:var(--orange)}
.method-opening h2{max-width:7.6ch;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3.6rem,5.8vw,6rem);font-weight:400;line-height:.86;letter-spacing:-.035em;text-transform:uppercase}
.method-opening h2 span{color:var(--pink)}
.method-thesis{max-width:32rem;margin-top:2rem;padding-top:1.05rem;border-top:1px solid #ef765066;font-family:"Barlow Condensed",var(--sans);font-size:clamp(.95rem,1.15vw,1.18rem);font-weight:600;line-height:1.45;letter-spacing:.075em;text-transform:uppercase}
.method-thesis span{display:block}.method-thesis-ambition{color:var(--pink)}.method-thesis-fluency{color:#f7e8e0}.method-thesis-expansion{color:var(--orange)}
.method-intro{max-width:45rem;padding-left:clamp(1.4rem,2.5vw,2.4rem);border-left:3px solid var(--orange);font-size:clamp(1.06rem,1.35vw,1.32rem);line-height:1.65}
.method-intro p+p{margin-top:1.15rem}
.method-economy{display:block;margin-top:.85rem;color:var(--orange);font-family:"Barlow Condensed",var(--sans);font-size:.92em;letter-spacing:.08em;text-transform:uppercase}
.method-collaboration{color:#d9c2bb;font-size:.92em}
.method-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(3rem,5vw,5rem);border:1px solid #edafd54d}
.method-proof-grid article{position:relative;min-height:13rem;padding:clamp(1.4rem,2vw,2rem);background:linear-gradient(145deg,#2d0b0a,#180403)}
.method-proof-grid article+article{border-left:1px solid #edafd54d}
.method-number{color:var(--orange);font-family:"Barlow Condensed",var(--sans);font-size:.8rem;letter-spacing:.18em}
.method-proof-grid h3{margin:.85rem 0 1.3rem;color:var(--pink);font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(1.35rem,2vw,2rem);line-height:1.05}
.method-proof-grid article>p:last-child{font-size:clamp(.9rem,1.05vw,1.08rem);line-height:1.6;text-transform:uppercase;letter-spacing:.055em}
.method-authorship{margin-top:clamp(2.5rem,4vw,4rem);padding:clamp(1.6rem,2.8vw,2.7rem);background:linear-gradient(105deg,var(--pink),#f3c3dc 58%,#ef7650);color:var(--ink)}
.method-kicker{font-family:"Barlow Condensed",var(--sans);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:600;line-height:1;letter-spacing:.035em;text-transform:uppercase}
.method-roles{max-width:74rem;margin-top:1rem;font-size:clamp(.72rem,.85vw,.9rem);font-weight:750;line-height:1.7;letter-spacing:.085em;text-transform:uppercase}
.method-recognition{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.7rem;padding-top:1.5rem;border-top:1px solid #20060355}
.method-recognition div{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:start}
.method-recognition span{padding:.25rem .45rem;background:var(--ink);color:var(--paper);font-size:.65rem;font-weight:750;letter-spacing:.1em}
.method-recognition strong{font-size:clamp(.9rem,1vw,1.06rem);line-height:1.5}
.method-scale{max-width:70rem;margin-top:1.65rem;font-family:"Space Grotesk",var(--sans);font-size:clamp(1rem,1.2vw,1.2rem);line-height:1.6}
.command-section .command-copy{max-width:53rem;margin:1.7rem auto 0;color:#d8c1b7;font-family:"Space Grotesk",var(--sans);font-size:clamp(1rem,1.15vw,1.18rem);line-height:1.7}
.command-section .resolve-label{color:var(--orange);font-size:clamp(1.05rem,1.4vw,1.35rem);font-weight:650}
.command-testimonials{margin-top:clamp(3rem,5vw,5rem);padding-top:1.5rem;border-top:1px solid #edafd566}
.command-testimonials>.eyebrow{margin-bottom:1.2rem;color:var(--pink)}
.command-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid #edafd544}
.command-testimonial-grid figure{display:flex;min-height:12.5rem;flex-direction:column;justify-content:space-between;padding:1.5rem 1.5rem 1.5rem 0}
.command-testimonial-grid figure+figure{padding-left:1.5rem;border-left:1px solid #edafd544}
.command-testimonial-grid blockquote{font-family:"Space Grotesk",var(--sans);font-size:clamp(1rem,1.22vw,1.24rem);font-weight:500;line-height:1.5;letter-spacing:-.02em}
.command-testimonial-grid mark{background:transparent;color:var(--pink);font-weight:700}
.command-testimonial-grid figcaption{margin-top:1.3rem;color:var(--orange);font-size:.72rem;font-weight:700;line-height:1.4;letter-spacing:.085em;text-transform:uppercase}
.command-testimonials-link{display:inline-block;margin-top:1.25rem}
.site-design-credit{font-size:.68rem;font-weight:650;letter-spacing:.09em;text-transform:uppercase;opacity:.72}
.films-authorship-detail{display:block;margin-top:.45rem;font-size:.72em;font-weight:600;line-height:1.55;letter-spacing:.065em}
.portfolio-method-note{max-width:55rem;margin-top:1.1rem;color:#dcc7bf;font-size:1rem;line-height:1.65}
@media(max-width:1100px){.method-opening{grid-template-columns:1fr;gap:2rem;align-items:start}.method-opening h2{max-width:none}.method-intro{max-width:none}.method-recognition{grid-template-columns:1fr}}
@media(max-width:850px){.command-testimonial-grid{grid-template-columns:1fr}.command-testimonial-grid figure{min-height:0;padding:1.35rem 0}.command-testimonial-grid figure+figure{padding-left:0;border-top:1px solid #edafd544;border-left:0}}
@media(max-width:760px){.home-opening-utility{grid-template-columns:1fr;gap:.9rem}.home-opening-utility .home-opening-actions{justify-content:flex-start}.home-pisces-status{grid-template-columns:auto minmax(0,1fr)}}
@media(max-width:620px){.home-opening-utility{margin-top:1.25rem;padding:1rem .2rem;gap:1rem}.home-pisces-status{display:block}.home-pisces-status span{display:block;margin-bottom:.3rem;font-size:.62rem;writing-mode:horizontal-tb;transform:none}.home-pisces-status strong{display:block;font-size:1.05rem}.home-pisces-status small{display:block;margin-top:.3rem;font-size:.61rem;letter-spacing:.055em}.method-opening h2{font-size:clamp(3rem,15vw,4.5rem)}.method-intro{padding-left:1rem;font-size:1rem}.method-proof-grid{grid-template-columns:1fr}.method-proof-grid article{min-height:0}.method-proof-grid article+article{border-top:1px solid #edafd54d;border-left:0}.method-recognition div{grid-template-columns:1fr}.method-recognition span{justify-self:start}.method-authorship{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}.site-design-credit{text-align:center}}

/* Home middle-pass: less repetition in the method, more deliberate trilogy architecture. */
.method-opening{align-items:start}
.method-thesis{max-width:35rem;margin-top:clamp(1.4rem,2vw,2rem);padding-top:clamp(.85rem,1.1vw,1.05rem);font-size:clamp(1rem,1.2vw,1.22rem);line-height:1.48}
.method-thesis span+span{margin-top:.18rem}
.method-thesis-fluency{color:var(--orange)}
.method-intro{padding-top:.25rem}
.method-intro>p:first-child{font-size:1.04em}
.method-collaboration{margin-top:clamp(1.25rem,1.7vw,1.65rem)!important;padding-top:clamp(1.05rem,1.4vw,1.35rem);border-top:1px solid #edafd54d;color:#ead7cf;font-size:.94em}
.method-authorship{position:relative;overflow:hidden;padding:clamp(1.7rem,2.8vw,2.8rem);background:linear-gradient(112deg,#edafd5 0%,#f5cfde 56%,#ef7650 145%);box-shadow:0 18px 42px #0006}
.method-authorship:after{content:"";position:absolute;top:-6.8rem;right:-4.6rem;width:17rem;aspect-ratio:1;border:1px solid #7d28513b;border-radius:50%;box-shadow:0 0 0 2.4rem #7d28510a,0 0 0 5rem #7d285108;pointer-events:none}
.method-authorship-head{position:relative;z-index:1;display:grid;grid-template-columns:auto 1fr;align-items:end;gap:clamp(.65rem,1.6vw,1.6rem)}
.method-kicker,.method-collab-kicker{font-family:"Barlow Condensed",var(--sans);font-size:clamp(1.85rem,3vw,3.2rem);font-weight:650;line-height:.96;letter-spacing:.035em;text-transform:uppercase}
.method-collab-kicker{padding-left:clamp(.65rem,1.5vw,1.4rem);border-left:3px solid var(--orange);color:#7d2851}
.method-roles{position:relative;z-index:1;margin-top:clamp(1rem,1.4vw,1.35rem);padding-top:clamp(.85rem,1.15vw,1.1rem);border-top:1px solid #20060344}
.method-scale{position:relative;z-index:1;max-width:58rem;margin-top:clamp(.8rem,1.2vw,1.15rem);font-size:clamp(.95rem,1.08vw,1.1rem);line-height:1.5}

#films{background:radial-gradient(circle at 83% 8%,#ef76501c,transparent 25%),linear-gradient(180deg,#fffaf5 0%,#f7ebe7 48%,#fffaf5 100%)}
#films .trilogy-heading{position:relative;isolation:isolate;display:block;min-height:clamp(31rem,42vw,39rem);max-width:86rem;margin:0 auto clamp(3.5rem,5vw,5.4rem);padding:clamp(2.4rem,4.2vw,4.6rem);overflow:hidden;background:radial-gradient(circle at 50% 35%,#7d28514f 0 14%,transparent 34%),linear-gradient(118deg,#080101 0%,#210505 54%,#3b0c0a 100%);border-top:2px solid #edafd5;border-bottom:5px solid #ef7650;box-shadow:0 26px 55px #20060345;text-align:left}
#films .trilogy-heading:before{content:"";position:absolute;z-index:-1;top:34%;left:50%;width:clamp(22rem,38vw,38rem);aspect-ratio:1;border:1px solid #edafd550;border-radius:50%;box-shadow:0 0 0 clamp(2rem,3.5vw,3.5rem) #0d0202,0 0 0 calc(clamp(2rem,3.5vw,3.5rem) + 1px) #ef765052,0 0 110px #edafd52b;transform:translate(-50%,-50%);pointer-events:none}
#films .trilogy-heading:after{content:"";position:absolute;inset:16px;border:1px solid #edafd529;pointer-events:none}
#films-heading{position:relative;z-index:1;max-width:none;margin:clamp(1rem,2.2vw,2.2rem) auto 0;color:#fff5ee;font-size:clamp(5.2rem,8.5vw,9rem);line-height:.72;text-align:center;text-shadow:0 8px 30px #000a}
#films-heading span:last-child{color:#edafd5}
#films-heading::before{margin:0 0 clamp(1.1rem,1.5vw,1.5rem);color:#ef7650}
#films .trilogy-intro{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(22rem,.82fr);gap:clamp(2rem,4vw,4.5rem);align-items:end;max-width:none;margin:clamp(3rem,5vw,5rem) 0 0;padding:clamp(1.3rem,1.8vw,1.8rem) 0 0;border-top:2px solid #ef7650;color:#f6e8e0}
#films .trilogy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.8rem,1.5vw,1.5rem);max-width:none;margin:0}
#films .trilogy-summary>span{display:block;padding-right:clamp(.5rem,1vw,1rem);border-right:1px solid #edafd538}
#films .trilogy-summary>span:last-child{border-right:0}
#films .trilogy-intro i{display:block;color:#edafd5;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(1rem,1.2vw,1.25rem);font-style:normal;line-height:1.1}
#films .trilogy-summary b{display:block;margin-top:.55rem;color:#f6e8e0;font-family:"Inter Tight",var(--sans);font-size:clamp(.7rem,.75vw,.82rem);font-weight:750;line-height:1.4;letter-spacing:.06em;text-transform:uppercase}
#films .trilogy-convergence{display:block;max-width:none;margin:0;padding:0 0 0 clamp(1.4rem,2.2vw,2.2rem);border-top:0;border-left:2px solid #ef7650;text-align:left}
#films .trilogy-convergence span{color:#f6e8e0}
#films .trilogy-convergence strong{color:#edafd5;font-size:clamp(2.55rem,3.5vw,4rem);line-height:.9;text-shadow:0 5px 22px #0008}
#films .film-grid{column-gap:clamp(1.35rem,2.4vw,2.6rem);transform:none}
#films .film-grid .film{position:relative;padding-top:1.15rem;border-top:2px solid #7d2851}
#films .film-grid .film:nth-child(2){border-top-color:#ef7650}
#films .trilogy-number{margin-bottom:.65rem;color:#7d2851;font-family:"Barlow Condensed",var(--sans);font-size:.78rem;font-weight:700;line-height:1;letter-spacing:.2em}
#films .trilogy-tagline{min-height:2.8em;margin-bottom:1rem}
@media(min-width:621px){#films .trilogy-pisces .trilogy-tagline,#films .trilogy-pisces h3,#films .trilogy-pisces>.trilogy-loop-preview,#films .film:last-child .film-picture{width:100%;max-width:none}}
@media(max-width:800px){#films .trilogy-heading{min-height:0;padding:clamp(2.8rem,9vw,4.5rem) clamp(1.65rem,5vw,2.5rem)}#films .trilogy-heading:before{top:19%;width:24rem;opacity:.6}#films-heading{font-size:clamp(4rem,16vw,6rem);line-height:.75}#films .trilogy-intro{grid-template-columns:1fr;gap:1.75rem;margin-top:3.4rem;padding:1.4rem 0 0}#films .trilogy-summary{grid-template-columns:1fr;gap:.9rem}#films .trilogy-summary>span{padding:0 0 .9rem;border-right:0;border-bottom:1px solid #edafd538}#films .trilogy-summary>span:last-child{padding-bottom:0;border-bottom:0}#films .trilogy-convergence{padding:1.4rem 0 0;border-top:2px solid #ef7650;border-left:0;text-align:center}}
@media(max-width:620px){.method-authorship-head{grid-template-columns:1fr;gap:.55rem}.method-collab-kicker{padding:.55rem 0 0;border-top:2px solid var(--orange);border-left:0}.method-authorship:after{right:-8rem}#films .trilogy-heading{margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter)}#films .trilogy-heading:before{inset:9px}#films .film-grid .film{padding-top:1rem}#films .trilogy-tagline{min-height:0}}

/* Eclipse title card: warehouse-rave force colliding with the astrology palette. */
#films .trilogy-heading{min-height:clamp(34rem,45vw,42rem);padding:clamp(2.7rem,4.5vw,4.8rem);background:radial-gradient(circle at 91% 11%,#fff7f0 0 1px,transparent 2px),radial-gradient(circle at 84% 20%,#edafd5 0 1.5px,transparent 2.5px),radial-gradient(circle at 61% 8%,#ef7650 0 1px,transparent 2px),radial-gradient(circle at 54% 27%,#fff7f0 0 1px,transparent 2px),linear-gradient(116deg,transparent 0 48%,#ef76501e 48% 49%,transparent 49% 100%),repeating-linear-gradient(90deg,transparent 0 3.7rem,#edafd508 3.7rem calc(3.7rem + 1px)),radial-gradient(circle at 74% 34%,#edafd547 0 12%,transparent 31%),linear-gradient(118deg,#050101 0%,#1b0305 52%,#420c14 100%);border-top:5px solid #edafd5;border-bottom:7px solid #ef7650;box-shadow:10px 12px 0 #7d285126,0 32px 65px #20060348}
#films .trilogy-heading:before{content:"";position:absolute;z-index:-1;inset:auto;top:34%;left:74%;width:clamp(22rem,38vw,39rem);aspect-ratio:1;border:2px solid #edafd585;border-radius:50%;box-shadow:0 0 0 clamp(2rem,3.6vw,3.6rem) #080102,0 0 0 calc(clamp(2rem,3.6vw,3.6rem) + 2px) #ef76507a,0 0 120px #edafd547;transform:translate(-50%,-50%);opacity:1}
#films .trilogy-heading:after{content:"♓︎";position:absolute;z-index:0;top:34%;left:74%;inset:auto;color:#edafd52b;font-family:"Apple Symbols","Segoe UI Symbol",sans-serif;font-size:clamp(13rem,25vw,25rem);font-weight:400;line-height:1;text-shadow:0 0 45px #edafd526;transform:translate(-50%,-50%) rotate(-8deg);pointer-events:none}
#films-heading{max-width:8.5ch;margin:clamp(.65rem,1.5vw,1.4rem) 0 0;font-family:"Barlow Condensed",var(--sans);font-size:clamp(6.4rem,10.5vw,10.8rem);font-style:italic;font-weight:800;line-height:.62;letter-spacing:-.025em;text-align:left;transform:skewX(-4deg);text-shadow:5px 5px 0 #7d2851,9px 9px 0 #120303,12px 12px 0 #ef7650}
#films-heading::before{content:"A RYAN CHANG FILM CYCLE  /  I  II  III";margin:0 0 clamp(1.15rem,1.7vw,1.65rem) .35rem;color:#ef7650;font-family:"Inter Tight",var(--sans);font-size:clamp(.64rem,.72vw,.78rem);font-style:normal;font-weight:850;line-height:1;letter-spacing:.2em;text-shadow:none;transform:skewX(4deg)}
#films-heading::after{content:"♏︎  ✦  ♑︎  ✦  ♓︎";display:block;margin:clamp(1.5rem,2vw,2rem) 0 0 .45rem;color:#edafd5;font-family:"Apple Symbols","Segoe UI Symbol",sans-serif;font-size:clamp(1.05rem,1.55vw,1.5rem);font-style:normal;font-weight:400;line-height:1;letter-spacing:.42em;text-shadow:none;transform:skewX(4deg)}
#films-heading span{display:block;width:max-content;white-space:nowrap}
#films-heading span:first-child{color:#fff7f0}
#films-heading span:last-child{margin-left:clamp(1.2rem,3vw,3rem);background:linear-gradient(180deg,#ffe3f2 0%,#edafd5 54%,#cf6aa2 100%);color:transparent;font-size:1.14em;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1px #f9d4e9}
#films .trilogy-intro{grid-template-columns:minmax(0,1.18fr) minmax(22rem,.82fr);gap:clamp(2rem,4vw,4.6rem);margin-top:clamp(2.8rem,4.5vw,4.6rem);padding-top:clamp(1.35rem,1.8vw,1.8rem);border-top:4px solid #ef7650}
#films .trilogy-summary>span{padding:.85rem clamp(.75rem,1.1vw,1.1rem);border:1px solid #edafd52e;background:#0501018f}
#films .trilogy-summary>span:last-child{border-right:1px solid #edafd52e}
#films .trilogy-intro i{color:#edafd5;font-family:"Barlow Condensed",var(--sans);font-size:clamp(1.25rem,1.55vw,1.55rem);font-weight:750;letter-spacing:.02em;text-transform:uppercase}
#films .trilogy-summary b{margin-top:.42rem;font-size:clamp(.67rem,.72vw,.78rem);line-height:1.42}
#films .trilogy-convergence{position:relative;padding:clamp(1.05rem,1.45vw,1.4rem) clamp(1.15rem,1.7vw,1.7rem);border:0;background:linear-gradient(110deg,#edafd5 0%,#f5c6dd 62%,#ef7650 160%);color:#160303;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));transform:rotate(-1deg);box-shadow:10px 10px 0 #ef7650}
#films .trilogy-convergence span{color:#200603}
#films .trilogy-convergence strong{margin:.18rem 0;color:#200603;font-family:"Barlow Condensed",var(--sans);font-size:clamp(3rem,4.3vw,4.8rem);font-style:italic;font-weight:800;line-height:.78;letter-spacing:-.02em;text-shadow:none;text-transform:uppercase}
#films .film-grid .film{border-top-width:4px}
#films .trilogy-number{display:inline-block;margin-bottom:.8rem;padding:.28rem .48rem;background:#7d2851;color:#fff7f0;font-size:.7rem}
#films .film-grid .film:nth-child(2) .trilogy-number{background:#ef7650;color:#200603}
@media(max-width:800px){#films .trilogy-heading{min-height:0;padding-top:clamp(3.3rem,11vw,5rem)}#films .trilogy-heading:before{inset:auto;top:17%;left:72%;width:23rem}#films .trilogy-heading:after{inset:auto;top:17%;left:72%;font-size:15rem}#films-heading{font-size:clamp(4.4rem,18vw,6.4rem);line-height:.64;text-shadow:3px 3px 0 #7d2851,6px 6px 0 #120303,8px 8px 0 #ef7650}#films-heading::before{max-width:22rem;line-height:1.45}#films-heading span:last-child{margin-left:.5rem}#films .trilogy-intro{grid-template-columns:1fr;gap:1.8rem;margin-top:3.1rem}#films .trilogy-summary{grid-template-columns:1fr;gap:.65rem}#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{padding:.8rem;border:1px solid #edafd52e}#films .trilogy-convergence{padding:1.35rem 1.1rem;text-align:center}}
@media(max-width:620px){#films .trilogy-heading{padding-inline:var(--gutter)}#films .trilogy-heading:before{inset:auto;top:14%;left:76%;width:20rem}#films .trilogy-heading:after{inset:auto;top:14%;left:76%;font-size:13rem}#films-heading::after{letter-spacing:.3em}#films .trilogy-convergence strong{font-size:clamp(2.9rem,14.5vw,4rem)}}

/* Final calibration: neon title-sequence energy, not a maximal rave flyer. */
#films .trilogy-heading{min-height:clamp(34rem,43vw,40rem);background:radial-gradient(circle at 72% 34%,#edafd52f 0 12%,transparent 30%),radial-gradient(circle at 90% 12%,#fff8f0 0 1px,transparent 2px),radial-gradient(circle at 83% 20%,#edafd5 0 1px,transparent 2px),radial-gradient(circle at 59% 10%,#ef7650 0 1px,transparent 2px),linear-gradient(120deg,#030101 0%,#120203 56%,#270507 100%);border-top:2px solid #edafd5;border-bottom:3px solid #ef7650;box-shadow:0 30px 65px #20060342}
#films .trilogy-heading:before{top:33%;left:72%;width:clamp(21rem,35vw,35rem);border:1px solid #edafd570;box-shadow:0 0 0 clamp(1.5rem,2.8vw,2.8rem) #060101,0 0 0 calc(clamp(1.5rem,2.8vw,2.8rem) + 1px) #ef765058,0 0 80px #edafd536}
#films .trilogy-heading:after{top:33%;left:72%;color:#edafd520;font-size:clamp(12rem,22vw,22rem);text-shadow:0 0 38px #edafd51f;transform:translate(-50%,-50%) rotate(-5deg)}
#films-heading{max-width:none;margin:clamp(1.1rem,2vw,2rem) auto 0;font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(5.1rem,8.2vw,8.5rem);font-style:normal;font-weight:700;line-height:.7;letter-spacing:-.055em;text-align:center;transform:none;text-shadow:0 0 18px #edafd52e}
#films-heading::before{margin-bottom:clamp(1.1rem,1.5vw,1.45rem);font-size:clamp(.62rem,.68vw,.74rem);letter-spacing:.23em;transform:none}
#films-heading::after{margin:clamp(1.25rem,1.8vw,1.75rem) auto 0;font-size:clamp(.95rem,1.25vw,1.2rem);letter-spacing:.52em;transform:none}
#films-heading span{width:auto}
#films-heading span:first-child{color:#fff7f0;text-shadow:0 0 12px #fff7f02c}
#films-heading span:last-child{margin-left:0;background:none;color:#edafd5;font-family:"Barlow Condensed",var(--sans);font-size:1.13em;font-style:italic;font-weight:750;letter-spacing:.035em;-webkit-text-stroke:0;text-shadow:0 0 10px #edafd55c,0 0 28px #edafd53d}
#films .trilogy-intro{grid-template-columns:minmax(0,1.2fr) minmax(21rem,.8fr);gap:clamp(2rem,4vw,4.25rem);margin-top:clamp(2.4rem,3.7vw,3.7rem);padding-top:clamp(1.25rem,1.7vw,1.65rem);border-top:2px solid #ef7650}
#films .trilogy-summary{gap:clamp(.9rem,1.5vw,1.5rem)}
#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{padding:.35rem clamp(.65rem,1vw,1rem) .4rem;border:0;border-left:1px solid #edafd56b;background:transparent}
#films .trilogy-intro i{font-size:clamp(1.15rem,1.4vw,1.4rem);line-height:1.05;text-shadow:0 0 14px #edafd536}
#films .trilogy-summary>span:nth-child(1) i{font-family:"Reenie Beanie","Noteworthy",cursive;font-size:clamp(1.45rem,1.8vw,1.8rem);font-weight:400;letter-spacing:.025em}
#films .trilogy-summary>span:nth-child(2) i{font-family:"Gemini Syne","Syne",var(--sans);font-weight:700;letter-spacing:.03em}
#films .trilogy-summary>span:nth-child(3) i{font-family:"Barlow Condensed",var(--sans);font-size:clamp(1.3rem,1.65vw,1.65rem);font-weight:650;letter-spacing:.08em}
#films .trilogy-summary b{color:#e8d8d2;font-size:clamp(.66rem,.71vw,.77rem);font-weight:650}
#films .trilogy-convergence{padding:0 0 0 clamp(1.3rem,2vw,2rem);border-left:3px solid #edafd5;background:transparent;color:#fff7f0;clip-path:none;transform:none;box-shadow:none}
#films .trilogy-convergence span{color:#ef7650}
#films .trilogy-convergence strong{margin:.24rem 0 .14rem;background:linear-gradient(90deg,#fff7f0 0%,#edafd5 64%,#ef7650 135%);color:transparent;font-family:"Barlow Condensed",var(--sans);font-size:clamp(3.1rem,4.35vw,4.7rem);font-style:italic;font-weight:750;line-height:.78;letter-spacing:.01em;-webkit-background-clip:text;background-clip:text;text-shadow:0 0 24px #edafd52e}
@media(max-width:800px){#films .trilogy-heading:before{inset:auto;top:15%;left:72%;width:22rem}#films .trilogy-heading:after{inset:auto;top:15%;left:72%;font-size:14rem}#films-heading{font-size:clamp(3.15rem,12.5vw,4.9rem);line-height:.72;letter-spacing:-.07em}#films-heading::before{max-width:none;line-height:1.35;letter-spacing:.16em}#films .trilogy-intro{grid-template-columns:1fr;gap:1.8rem;margin-top:2.8rem}#films .trilogy-summary{grid-template-columns:1fr;gap:.8rem}#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{padding:.15rem 0 .8rem .9rem;border:0;border-left:1px solid #edafd56b}#films .trilogy-convergence{padding:1.2rem 0 0;border-top:2px solid #edafd5;border-left:0;text-align:center}}
@media(max-width:620px){#films .trilogy-heading:before{inset:auto;top:13%;left:74%;width:19rem}#films .trilogy-heading:after{inset:auto;top:13%;left:74%;font-size:12rem}#films-heading::after{letter-spacing:.34em}#films .trilogy-convergence strong{font-size:clamp(3rem,14vw,4rem)}}

/* Eclipse alternate: the title sequence takes over the page instead of sitting in a card. */
#films{padding-top:0;overflow:hidden}
#films .trilogy-heading{width:100vw;max-width:none;min-height:clamp(39rem,52vw,49rem);margin:0 calc(50% - 50vw) clamp(4.5rem,6vw,7rem);padding:clamp(5rem,7vw,7.5rem) max(var(--gutter),calc((100vw - 86rem)/2));background:radial-gradient(circle at 74% 34%,#edafd52e 0 12%,transparent 31%),radial-gradient(circle at 92% 15%,#fff7f0 0 1px,transparent 2px),radial-gradient(circle at 82% 9%,#edafd5 0 1px,transparent 2px),linear-gradient(112deg,transparent 0 58%,#ef765014 58% 58.5%,transparent 58.5%),repeating-linear-gradient(180deg,transparent 0 3.9rem,#edafd507 3.9rem calc(3.9rem + 1px)),linear-gradient(120deg,#020101 0%,#130203 58%,#31070b 100%);border:0;border-block:2px solid #ef7650;box-shadow:none}
#films .trilogy-heading:before{top:34%;left:74%;width:clamp(26rem,42vw,43rem);border-color:#edafd565;box-shadow:0 0 0 clamp(2rem,3.5vw,3.5rem) #050101,0 0 0 calc(clamp(2rem,3.5vw,3.5rem) + 1px) #ef76504a,0 0 110px #edafd52d}
#films .trilogy-heading:after{top:34%;left:74%;font-size:clamp(15rem,28vw,28rem);color:#edafd51c;text-shadow:0 0 55px #edafd51c}
#films-heading{width:min(100%,86rem);max-width:none;margin:0 auto;font-size:clamp(6.2rem,10vw,10.5rem);line-height:.64;letter-spacing:-.06em;text-align:left}
#films-heading::before{margin-left:.2rem;text-align:left}
#films-heading::after{margin:clamp(1.4rem,2vw,1.9rem) 0 0 .4rem;text-align:left}
#films-heading span:first-child{width:max-content;font-family:"Gemini Syne","Syne",var(--sans);font-size:.67em;font-style:normal;font-weight:700;letter-spacing:-.055em}
#films-heading span:last-child{width:max-content;margin-left:clamp(1rem,5vw,5rem);font-size:1.08em;letter-spacing:.055em}
#films .trilogy-intro{width:min(100%,86rem);margin:clamp(3.3rem,5vw,5rem) auto 0;padding-top:clamp(1.4rem,2vw,1.9rem);grid-template-columns:minmax(0,1.2fr) minmax(23rem,.8fr);border-top:3px solid #ef7650}
#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{padding:.2rem clamp(.75rem,1.15vw,1.15rem) .35rem;border-left:2px solid #edafd56b}
#films .trilogy-convergence{padding-left:clamp(1.5rem,2.4vw,2.4rem);border-left:3px solid #edafd5}
#films .trilogy-convergence strong{font-size:clamp(3.4rem,4.8vw,5.2rem)}
@media(max-width:800px){#films .trilogy-heading{min-height:0;padding-block:clamp(3.8rem,12vw,5.5rem)}#films .trilogy-heading:before{inset:auto;top:15%;left:78%;width:23rem}#films .trilogy-heading:after{inset:auto;top:15%;left:78%;font-size:15rem}#films-heading{font-size:clamp(3.3rem,13vw,5rem);line-height:.68}#films-heading span:first-child{font-size:.72em}#films-heading span:last-child{margin-left:.5rem}#films .trilogy-intro{grid-template-columns:1fr;gap:2rem;margin-top:3rem}#films .trilogy-convergence{padding:1.35rem 0 0;border-top:2px solid #edafd5;border-left:0;text-align:center}}
@media(max-width:620px){#films .trilogy-heading{padding-inline:var(--gutter)}#films .trilogy-heading:before{inset:auto;top:13%;left:80%;width:20rem}#films .trilogy-heading:after{inset:auto;top:13%;left:80%;font-size:13rem}#films-heading{font-size:clamp(3.05rem,12vw,4rem)}#films-heading::before{font-size:.58rem;letter-spacing:.13em}#films-heading::after{letter-spacing:.3em}#films .trilogy-convergence strong{font-size:clamp(3rem,13.8vw,4rem)}}

/* Eclipse reset: full-bleed cinema, stripped to title, image and progression. */
#films .trilogy-heading{min-height:clamp(38rem,48vw,46rem);padding-block:clamp(5.5rem,8vw,8rem);background:radial-gradient(circle at 50% 32%,#6f24402b 0 17%,transparent 35%),linear-gradient(180deg,#090102 0%,#160304 68%,#210506 100%);border:0;box-shadow:none}
#films .trilogy-heading:before{content:"";inset:auto;top:31%;left:50%;width:clamp(21rem,35vw,35rem);border:1px solid #edafd540;background:#060101b8;box-shadow:0 0 0 1px #ef765025,0 0 70px #edafd51f;transform:translate(-50%,-50%);opacity:1}
#films .trilogy-heading:after{content:"";display:none}
#films-heading{width:min(100%,76rem);margin:0 auto;color:#fff7f0;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(6rem,9.2vw,9.5rem);font-style:normal;font-weight:400;line-height:.82;letter-spacing:-.035em;text-align:center;transform:none;text-shadow:0 8px 28px #000b}
#films-heading::before{content:"A RYAN CHANG FILM CYCLE  ·  I  II  III";margin:0 0 clamp(1.5rem,2vw,2rem);color:#ef7650;font-family:"Inter Tight",var(--sans);font-size:clamp(.62rem,.7vw,.76rem);font-style:normal;font-weight:750;line-height:1;letter-spacing:.24em;text-align:center;text-shadow:none;transform:none}
#films-heading::after{content:"♏︎   ·   ♑︎   ·   ♓︎";margin:clamp(1.7rem,2.3vw,2.25rem) auto 0;color:#edafd5;font-family:"Apple Symbols","Segoe UI Symbol",sans-serif;font-size:clamp(.9rem,1.15vw,1.1rem);font-style:normal;font-weight:400;line-height:1;letter-spacing:.42em;text-align:center;text-shadow:none;transform:none}
#films-heading span{display:block;width:auto;white-space:nowrap}
#films-heading span:first-child{color:#fff7f0;font-family:"Inter Tight",var(--sans);font-size:.36em;font-style:normal;font-weight:650;line-height:1.1;letter-spacing:.22em;text-shadow:none}
#films-heading span:last-child{margin:.18em 0 0;background:none;color:#edafd5;font-family:"DM Serif Display",Georgia,serif;font-size:1em;font-style:normal;font-weight:400;line-height:.78;letter-spacing:.025em;-webkit-text-stroke:0;text-shadow:0 7px 26px #000b}
#films .trilogy-intro{display:block;width:min(100%,76rem);margin:clamp(4rem,6vw,6rem) auto 0;padding-top:clamp(1.5rem,2vw,2rem);border-top:1px solid #ef7650}
#films .trilogy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.5vw,2.5rem)}
#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{padding:0;text-align:center;border:0;background:transparent}
#films .trilogy-intro i,#films .trilogy-summary>span:nth-child(1) i,#films .trilogy-summary>span:nth-child(2) i,#films .trilogy-summary>span:nth-child(3) i{color:#edafd5;font-family:"Inter Tight",var(--sans);font-size:clamp(.88rem,1vw,1.02rem);font-style:normal;font-weight:700;line-height:1.2;letter-spacing:.08em;text-shadow:none;text-transform:uppercase}
#films .trilogy-summary b{max-width:18rem;margin:.55rem auto 0;color:#d9c8c2;font-size:clamp(.65rem,.7vw,.75rem);font-weight:550;line-height:1.45;letter-spacing:.055em}
#films .trilogy-convergence{display:block;margin:clamp(2rem,3vw,3rem) auto 0;padding:clamp(1.4rem,1.8vw,1.8rem) 0 0;border-top:1px solid #edafd550;border-left:0;background:transparent;color:#fff7f0;clip-path:none;text-align:center;transform:none;box-shadow:none}
#films .trilogy-convergence span{color:#ef7650;font-size:clamp(.68rem,.75vw,.8rem);letter-spacing:.13em}
#films .trilogy-convergence strong{margin:.45rem 0 .25rem;background:none;color:#fff7f0;font-family:"Inter Tight",var(--sans);font-size:clamp(2.2rem,3.1vw,3.4rem);font-style:normal;font-weight:650;line-height:.95;letter-spacing:.015em;text-shadow:none;text-transform:uppercase}
@media(max-width:800px){#films .trilogy-heading{min-height:0;padding-block:clamp(4rem,12vw,5.75rem)}#films .trilogy-heading:before{inset:auto;top:25%;left:50%;width:21rem}#films-heading{font-size:clamp(4.6rem,17vw,6.4rem);line-height:.82}#films-heading span:first-child{font-size:.3em;letter-spacing:.16em}#films-heading::before{max-width:none;line-height:1.4;letter-spacing:.14em}#films-heading::after{letter-spacing:.3em}#films .trilogy-intro{margin-top:3.6rem}#films .trilogy-summary{grid-template-columns:1fr;gap:1.25rem}#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{padding-bottom:1.15rem;border-bottom:1px solid #edafd529}#films .trilogy-summary>span:last-child{padding-bottom:0;border-bottom:0}#films .trilogy-convergence{padding-top:1.5rem}}
@media(max-width:620px){#films .trilogy-heading{padding-inline:var(--gutter)}#films .trilogy-heading:before{inset:auto;top:21%;left:50%;width:18rem}#films-heading{font-size:clamp(4rem,15.5vw,5rem)}#films-heading span{white-space:normal}#films-heading span:first-child{font-size:.29em}#films-heading::before{font-size:.56rem}#films-heading::after{letter-spacing:.24em}#films .trilogy-convergence strong{font-size:clamp(2.15rem,10vw,3rem)}}

/* Ryan's title sequence: discipline as container, cinema/myth/glamour inside it. */
#films .trilogy-heading{min-height:0;padding-block:clamp(4.5rem,6.5vw,6.5rem);background:#040101;border:0}
#films .trilogy-heading:before,#films .trilogy-heading:after{content:"";display:none}
#films-heading{display:grid;grid-template-columns:.58fr 1.32fr 1fr;width:min(100%,86rem);margin:0 auto;background:#edafd566;border:1px solid #edafd566;color:#fff7f0;font-size:1rem;line-height:1;letter-spacing:0;text-align:center;text-shadow:none}
#films-heading::before{content:"A RYAN CHANG FILM CYCLE  ·  I  II  III";display:block;grid-column:1/-1;margin:0;padding:.9rem 1rem;background:#090102;color:#ef7650;font-family:"Inter Tight",var(--sans);font-size:clamp(.62rem,.7vw,.76rem);font-style:normal;font-weight:750;line-height:1;letter-spacing:.24em;text-align:left;text-shadow:none}
#films-heading::after{content:"♏︎   ✦   ♑︎   ✦   ♓︎";display:block;grid-column:1/-1;margin:0;padding:1rem;background:#090102;color:#edafd5;font-family:"Apple Symbols","Segoe UI Symbol",sans-serif;font-size:clamp(.9rem,1.15vw,1.1rem);font-style:normal;font-weight:400;line-height:1;letter-spacing:.42em;text-align:center;text-shadow:none}
#films-heading span,#films-heading span:first-child,#films-heading span:last-child{display:flex;width:auto;min-height:clamp(10rem,15vw,15rem);margin:0;align-items:center;justify-content:center;white-space:nowrap;-webkit-text-stroke:0;text-shadow:none}
#films-heading span.trilogy-title-the{background:radial-gradient(ellipse at 50% 50%,#fff7f0 0 5%,#edafd5 23%,#ef765078 44%,transparent 69%),#060101;color:#100202;font-family:"Barlow Condensed",var(--sans);font-size:clamp(4.8rem,7vw,7.2rem);font-style:normal;font-weight:800;letter-spacing:.015em;-webkit-text-stroke:1px #fff7f0;text-shadow:0 0 2px #fff7f0;text-transform:uppercase}
#films-heading span.trilogy-title-eclipse{background:radial-gradient(circle at 76% 24%,#edafd52e 0 12%,transparent 31%),linear-gradient(120deg,#090102,#1c0406);color:#fff7f0;font-family:"Gemini Syne","Syne",var(--sans);font-size:clamp(3.4rem,5.7vw,6rem);font-style:normal;font-weight:700;letter-spacing:-.06em;text-shadow:-2px 0 #edafd5,2px 0 #ef7650;text-transform:uppercase}
#films-heading span.trilogy-title-trilogy{background:linear-gradient(145deg,#160304,#360919);color:#edafd5;font-family:"DM Serif Display",Georgia,serif;font-size:clamp(3.8rem,6.2vw,6.4rem);font-style:italic;font-weight:400;letter-spacing:-.02em;text-shadow:0 0 16px #edafd552;text-transform:uppercase}
#films .trilogy-intro{display:block;width:min(100%,86rem);margin:0 auto;padding:0;border:1px solid #edafd566;border-top:0;background:#090102}
#films .trilogy-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#edafd566}
#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{min-height:8.5rem;padding:clamp(1.2rem,1.8vw,1.8rem);background:#090102;text-align:left;border:0}
#films .trilogy-intro i,#films .trilogy-summary>span:nth-child(1) i,#films .trilogy-summary>span:nth-child(2) i,#films .trilogy-summary>span:nth-child(3) i{font-size:clamp(1rem,1.25vw,1.25rem);line-height:1.05}
#films .trilogy-summary>span:nth-child(1) i{font-family:"Reenie Beanie","Noteworthy",cursive;font-size:clamp(1.5rem,2vw,2rem);font-weight:400;letter-spacing:.025em}
#films .trilogy-summary>span:nth-child(2) i{font-family:"Gemini Syne","Syne",var(--sans);font-weight:700;letter-spacing:.03em}
#films .trilogy-summary>span:nth-child(3) i{font-family:"Barlow Condensed",var(--sans);font-size:clamp(1.35rem,1.75vw,1.75rem);font-weight:650;letter-spacing:.08em}
#films .trilogy-summary b{max-width:20rem;margin:.65rem 0 0;color:#dfcec8;font-size:clamp(.68rem,.76vw,.82rem);font-weight:600}
#films .trilogy-convergence{margin:0;padding:clamp(1.6rem,2.5vw,2.5rem);border:0;border-top:1px solid #edafd566;background:radial-gradient(circle at 88% 50%,#edafd530 0 10%,transparent 28%),linear-gradient(110deg,#120203,#2c0710);text-align:center}
#films .trilogy-convergence span{color:#ef7650}
#films .trilogy-convergence strong{margin:.35rem 0;color:#fff7f0;font-family:"Barlow Condensed",var(--sans);font-size:clamp(3rem,4.7vw,5rem);font-style:italic;font-weight:750;line-height:.8;letter-spacing:.02em;text-shadow:2px 0 #edafd5,-2px 0 #ef7650}
@media(max-width:800px){#films .trilogy-heading{padding-block:clamp(3.5rem,10vw,5rem)}#films-heading{grid-template-columns:1fr}#films-heading::before,#films-heading::after{grid-column:1}#films-heading span,#films-heading span:first-child,#films-heading span:last-child{min-height:7rem}#films .trilogy-summary{grid-template-columns:1fr}#films .trilogy-summary>span,#films .trilogy-summary>span:last-child{min-height:0;padding:1.2rem;border-bottom:1px solid #edafd544}#films .trilogy-summary>span:last-child{border-bottom:0}}
@media(max-width:620px){#films .trilogy-heading{padding-inline:var(--gutter)}#films-heading::before{font-size:.56rem;letter-spacing:.12em}#films-heading::after{letter-spacing:.25em}#films-heading span.trilogy-title-the{font-size:4.5rem}#films-heading span.trilogy-title-eclipse{font-size:3.35rem}#films-heading span.trilogy-title-trilogy{font-size:3.65rem}#films .trilogy-convergence strong{font-size:clamp(3rem,14vw,4rem)}}

/* Color pass: each title arrives from a different charged visual world. */
#films .trilogy-heading{background:linear-gradient(180deg,#020104 0%,#060108 100%)}
#films-heading{background:#f7e8e055;border-color:#f7e8e066}
#films-heading::before{background:#050106;color:#ff8d66}
#films-heading::after{background:linear-gradient(90deg,#07020d,#170421 48%,#10030d);color:#ff75c8}
#films-heading span.trilogy-title-the{background:radial-gradient(ellipse at 50% 50%,#fffdf2 0 7%,#ffe9d6 15%,#ffb18f 29%,#ff5f8e6e 45%,transparent 68%),#030104;color:#090104;-webkit-text-stroke:1px #fff8ee;text-shadow:0 0 2px #fff8ee,0 0 15px #ffb18f}
#films-heading span.trilogy-title-eclipse{background:radial-gradient(ellipse at 50% 50%,#ffedf9 0 5%,#df8fff 19%,#8538e7 38%,#3d0a704d 57%,transparent 72%),linear-gradient(120deg,#07010d,#140425);color:#090104;-webkit-text-stroke:1px #fff2fb;text-shadow:2px 0 #34d9ff,-2px 0 #ff4db1,0 0 12px #e394ff}
#films-heading span.trilogy-title-trilogy{background:radial-gradient(circle at 22% 72%,#14d7ff66 0 9%,transparent 28%),radial-gradient(circle at 78% 24%,#ff3ca86e 0 12%,transparent 30%),radial-gradient(circle at 54% 65%,#b8ff3f4a 0 9%,transparent 27%),linear-gradient(145deg,#040108,#12021a);color:#060108;-webkit-text-stroke:2px #ff63bf;text-shadow:3px 0 #20dfff,-3px 0 #ff784f,0 0 18px #ff4db1}
#films .trilogy-intro{background:#040105;border-color:#f7e8e066}
#films .trilogy-summary{background:#f7e8e055}
#films .trilogy-summary>span:nth-child(1){background:radial-gradient(circle at 18% 22%,#82b7ff3d 0 12%,transparent 35%),linear-gradient(135deg,#050915,#11051c)}
#films .trilogy-summary>span:nth-child(2){background:radial-gradient(circle at 80% 18%,#b3ff3c32 0 10%,transparent 32%),radial-gradient(circle at 20% 80%,#8538e743 0 12%,transparent 36%),linear-gradient(135deg,#07010e,#1c0731)}
#films .trilogy-summary>span:nth-child(3){background:radial-gradient(circle at 78% 20%,#ff4db153 0 13%,transparent 35%),radial-gradient(circle at 20% 80%,#ef765038 0 12%,transparent 34%),linear-gradient(135deg,#110208,#320615)}
#films .trilogy-summary>span:nth-child(1) i{color:#a9d1ff}
#films .trilogy-summary>span:nth-child(2) i{color:#d397ff}
#films .trilogy-summary>span:nth-child(3) i{color:#ff7bc5}
#films .trilogy-convergence{background:radial-gradient(circle at 14% 66%,#20dfff3b 0 11%,transparent 29%),radial-gradient(circle at 54% 32%,#a9ff3b27 0 9%,transparent 28%),radial-gradient(circle at 88% 58%,#ff3ca84a 0 13%,transparent 31%),linear-gradient(110deg,#07010b,#18051f 52%,#250612)}
#films .trilogy-convergence span{color:#ff9c72}
#films .trilogy-convergence strong{color:#fff8f0;text-shadow:2px 0 #20dfff,-2px 0 #ff4db1,0 0 20px #ff75c852}

/* Physical signal texture: grain, scanlines, halftone and uneven light. */
#films .trilogy-heading{isolation:isolate}
#films .trilogy-heading:before{content:"";display:block;position:absolute;z-index:8;inset:0;background:url("/assets/analog-noise.svg") repeat,linear-gradient(102deg,transparent 0 31%,#fff5 31.2%,transparent 31.7% 68%,#ff4db126 68.2%,transparent 68.7%);background-size:180px 180px,100% 100%;mix-blend-mode:soft-light;opacity:.34;pointer-events:none}
#films .trilogy-heading:after{content:"";display:block;position:absolute;z-index:7;inset:0;background:repeating-linear-gradient(180deg,transparent 0 3px,#fff 4px,transparent 5px 8px),repeating-linear-gradient(90deg,transparent 0 79px,#20dfff16 80px,transparent 81px 160px);mix-blend-mode:overlay;opacity:.12;pointer-events:none}
#films-heading,#films .trilogy-intro{position:relative;z-index:2}
#films-heading span,#films .trilogy-summary>span,#films .trilogy-convergence{background-blend-mode:screen,normal}
#films-heading span.trilogy-title-the{background:radial-gradient(ellipse at 48% 54%,#fffdf5 0 5%,transparent 6%),radial-gradient(ellipse at 53% 45%,#ffe7cf 0 14%,#ff9e7e 28%,transparent 51%),radial-gradient(ellipse at 39% 60%,#ff3e9361 0 17%,transparent 45%),repeating-radial-gradient(ellipse at 50% 50%,transparent 0 12px,#fff5 13px,transparent 14px 27px),#030104;background-blend-mode:screen,screen,screen,overlay,normal}
#films-heading span.trilogy-title-eclipse{background:radial-gradient(ellipse at 48% 52%,#fff0fb 0 4%,transparent 5%),radial-gradient(ellipse at 54% 48%,#eaa2ff 0 17%,#8e48ff 34%,transparent 57%),repeating-linear-gradient(174deg,transparent 0 8px,#ffeffb26 9px,transparent 10px 17px),linear-gradient(120deg,#07010d,#17032b);background-blend-mode:screen,screen,overlay,normal}
#films-heading span.trilogy-title-trilogy{background:repeating-radial-gradient(circle at 74% 28%,#ff6bc48a 0 1.5px,transparent 2px 8px),radial-gradient(circle at 22% 72%,#14d7ff75 0 9%,transparent 29%),radial-gradient(circle at 78% 24%,#ff3ca882 0 12%,transparent 31%),radial-gradient(circle at 54% 65%,#b8ff3f55 0 9%,transparent 28%),linear-gradient(145deg,#040108,#14021d);background-blend-mode:screen,screen,screen,screen,normal}
#films .trilogy-summary>span:nth-child(1){background:repeating-linear-gradient(164deg,transparent 0 13px,#a9d1ff14 14px,transparent 15px 27px),radial-gradient(circle at 18% 22%,#82b7ff4a 0 12%,transparent 35%),linear-gradient(135deg,#050915,#11051c)}
#films .trilogy-summary>span:nth-child(2){background:repeating-radial-gradient(circle at 82% 16%,#b3ff3c44 0 1px,transparent 1.5px 7px),radial-gradient(circle at 80% 18%,#b3ff3c38 0 10%,transparent 32%),radial-gradient(circle at 20% 80%,#8538e74b 0 12%,transparent 36%),linear-gradient(135deg,#07010e,#1c0731)}
#films .trilogy-summary>span:nth-child(3){background:repeating-linear-gradient(90deg,transparent 0 17px,#ff75c814 18px,transparent 19px 36px),radial-gradient(circle at 78% 20%,#ff4db15c 0 13%,transparent 35%),radial-gradient(circle at 20% 80%,#ef765040 0 12%,transparent 34%),linear-gradient(135deg,#110208,#320615)}
#films .trilogy-convergence{background:repeating-radial-gradient(circle at 76% 50%,#ff75c83d 0 1.2px,transparent 1.8px 8px),radial-gradient(circle at 14% 66%,#20dfff42 0 11%,transparent 29%),radial-gradient(circle at 54% 32%,#a9ff3b2c 0 9%,transparent 28%),radial-gradient(circle at 88% 58%,#ff3ca852 0 13%,transparent 31%),linear-gradient(110deg,#07010b,#18051f 52%,#250612)}

/* Equal-force title sequence: film material translated, never illustrated. */
#films-heading{grid-template-columns:.72fr 1.28fr 1fr}
#films-heading span,#films-heading span:first-child,#films-heading span:last-child{min-height:clamp(11.5rem,16vw,16rem);position:relative;overflow:hidden;isolation:isolate;box-shadow:inset 0 0 0 1px #fff4ed24,inset 0 -2rem 4rem #0007}
#films-heading span.trilogy-title-the{
  background:
    linear-gradient(104deg,transparent 0 13%,#fffaf0 13.5% 25%,transparent 25.5% 42%,#fffaf0 42.5% 43.5%,transparent 44% 100%),
    linear-gradient(76deg,transparent 0 37%,#aaff24 37.5% 67%,transparent 67.5%),
    radial-gradient(ellipse at 49% 54%,#ff6b9b 0 12%,#ef7650 13% 25%,transparent 26%),
    repeating-linear-gradient(168deg,#050105 0 11px,#17151a 12px,#050105 13px 25px);
  background-blend-mode:screen,multiply,screen,normal;
  color:#fffaf4;
  font-size:clamp(5.8rem,8vw,8.4rem);
  letter-spacing:-.045em;
  -webkit-text-stroke:1.5px #110102;
  text-shadow:5px 4px 0 #ef7650,-3px -2px 0 #070107,0 0 16px #fffaf4a6;
}
#films-heading span.trilogy-title-eclipse{
  background:
    repeating-linear-gradient(90deg,transparent 0 8%,#ffedf42e 8.2% 8.8%,transparent 9% 17%),
    repeating-linear-gradient(174deg,transparent 0 9px,#fff6 10px,transparent 11px 18px),
    radial-gradient(ellipse at 50% 52%,#080109 0 9%,#b4ff36 10% 24%,#ff31c7 25% 40%,#7416bd 41% 57%,#060108 58% 100%);
  background-blend-mode:overlay,overlay,normal;
  color:#fffaf5;
  font-size:clamp(3.8rem,6vw,6.4rem);
  letter-spacing:-.075em;
  -webkit-text-stroke:1.5px #09010b;
  text-shadow:6px 0 0 #ff30c8,-6px 0 0 #9dff37,0 7px 20px #000;
  transform:none;
}
@media(max-width:800px){
  #films-heading span,#films-heading span:first-child,#films-heading span:last-child{min-height:8.5rem}
  #films-heading span.trilogy-title-the{font-size:5rem}
  #films-heading span.trilogy-title-eclipse{font-size:clamp(3.5rem,13vw,5rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-the{font-size:4.9rem}
  #films-heading span.trilogy-title-eclipse{font-size:3.6rem;letter-spacing:-.065em}
}

/* Cold-screen menace, dragged back through paper, dust and damaged signal. */
#films .trilogy-heading{background:linear-gradient(180deg,#050507 0%,#0b090d 58%,#030304 100%)}
#films-heading{border-color:#b8c3c87a;box-shadow:0 20px 50px #000b,0 0 0 1px #ff58b21a;transform:rotate(-.06deg)}
#films-heading::before{background:linear-gradient(90deg,#08090b,#0d0b0f 54%,#080609);color:#ff8f6e;text-shadow:1px 0 #d8f4e4}
#films-heading::after{background:linear-gradient(90deg,#090a0d,#17111c 49%,#0d090f);border-top:1px solid #cdd6da2e;border-bottom:1px solid #ff4fb929}
#films-heading span::before{position:absolute;z-index:4;left:.75rem;bottom:.6rem;padding:.22rem .36rem;background:#040405b8;color:#eef4f1;content:"SIGNAL 01 / SHATTERED ILLUSION";font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;font-size:clamp(.43rem,.5vw,.55rem);font-weight:650;line-height:1;letter-spacing:.08em;text-shadow:1px 0 #ff49ad;text-transform:uppercase}
#films-heading span::after{position:absolute;z-index:3;inset:0;background:url("/assets/analog-noise.svg") repeat,repeating-linear-gradient(179deg,transparent 0 4px,#e7f1ed23 5px,transparent 6px 11px),linear-gradient(96deg,transparent 0 31%,#fff3 31.2%,transparent 31.7% 77%,#ff48b51f 77.2%,transparent 77.7%);background-size:135px 135px,100% 100%,100% 100%;content:"";mix-blend-mode:hard-light;opacity:.48;pointer-events:none}
#films-heading span.trilogy-title-eclipse::before{content:"SIGNAL 02 / 10,000 STILLS / 60 FPS"}
#films-heading span.trilogy-title-trilogy::before{content:"SIGNAL 03 / 96:00 / DESIRE UNDER PRESSURE"}
#films-heading span.trilogy-title-the{background:linear-gradient(104deg,transparent 0 13%,#e8ece9 13.5% 25%,transparent 25.5% 42%,#f7f4ec 42.5% 43.5%,transparent 44% 100%),linear-gradient(76deg,transparent 0 37%,#9edb34 37.5% 67%,transparent 67.5%),radial-gradient(ellipse at 49% 54%,#a83262 0 12%,#db694e 13% 25%,transparent 26%),repeating-linear-gradient(168deg,#050507 0 11px,#18191c 12px,#050507 13px 25px);background-blend-mode:screen,multiply,screen,normal}
#films-heading span.trilogy-title-eclipse{background:repeating-linear-gradient(90deg,#050507 0 10%,#dce7e52b 10.2% 10.8%,#121116 11% 22%,#ff32bd38 22.2% 23%,#08080a 23.2% 35%),repeating-linear-gradient(176deg,transparent 0 8px,#b6ff3c32 9px,transparent 10px 17px),radial-gradient(ellipse at 50% 52%,#050506 0 10%,#dfe7e4 10.8% 12%,#ff35bd 12.8% 18%,#729e31 19% 30%,#17121c 31% 51%,#070708 52% 100%);background-blend-mode:screen,overlay,normal}
#films-heading span.trilogy-title-trilogy{background:repeating-radial-gradient(circle at 74% 28%,#ff6bc469 0 1.2px,transparent 1.8px 8px),radial-gradient(circle at 22% 72%,#2d8fa266 0 9%,transparent 29%),radial-gradient(circle at 78% 24%,#b924706e 0 12%,transparent 31%),radial-gradient(circle at 54% 65%,#799c3a3d 0 9%,transparent 28%),linear-gradient(145deg,#06070a,#18121b);background-blend-mode:screen,screen,screen,screen,normal}
#films .trilogy-intro{box-shadow:0 22px 45px #0008;transform:rotate(.035deg)}
@media(max-width:800px){#films-heading{transform:none}#films-heading span::before{left:.6rem;bottom:.45rem;font-size:.42rem}#films .trilogy-intro{transform:none}}

/* Actual printed title voices: one event, three physical registrations. */
#films-heading span>b{position:relative;z-index:2;display:inline-block;font:inherit;color:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;transform-origin:center}
#films-heading span>b::before,#films-heading span>b::after{position:absolute;z-index:-1;inset:0;content:attr(data-text);font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;pointer-events:none}
#films-heading span.trilogy-title-the>b{font-family:"DM Serif Display",Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.075em;transform:rotate(-1.2deg) scaleY(1.08)}
#films-heading span.trilogy-title-the>b::before{color:#ef7650;clip-path:polygon(0 0,100% 0,100% 47%,0 54%);transform:translate(-4px,2px) rotate(-.5deg)}
#films-heading span.trilogy-title-the>b::after{color:#09090b;clip-path:polygon(0 54%,100% 47%,100% 100%,0 100%);transform:translate(3px,-1px) rotate(.35deg)}
#films-heading span.trilogy-title-eclipse>b{font-family:"Permanent Marker","Marker Felt","Bradley Hand",cursive;font-style:normal;font-weight:400;letter-spacing:-.07em;transform:rotate(-.75deg) scaleX(1.03)}
#films-heading span.trilogy-title-eclipse>b::before{color:#ff38bd;clip-path:polygon(0 0,100% 0,100% 43%,0 52%);transform:translate(-5px,3px) rotate(-.35deg)}
#films-heading span.trilogy-title-eclipse>b::after{color:#a5d842;clip-path:polygon(0 55%,100% 45%,100% 100%,0 100%);transform:translate(5px,-2px) rotate(.3deg)}
#films-heading span.trilogy-title-trilogy>b{font-family:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit}
#films-heading span.trilogy-title-trilogy>b::before,#films-heading span.trilogy-title-trilogy>b::after{display:none}
@media(max-width:620px){#films-heading span.trilogy-title-the>b{transform:rotate(-.8deg) scaleY(1.05)}#films-heading span.trilogy-title-eclipse>b{transform:rotate(-.5deg) scaleX(1.01)}}

/* Source rebuild: one contained title event. Pressure first; color returns at the break. */
#films{
  background:
    radial-gradient(circle at 86% 4%,#ef765022 0 9%,transparent 27%),
    linear-gradient(180deg,#fffaf5 0%,#f4e7e2 52%,#fffaf5 100%);
}
#films .trilogy-heading{
  position:relative;
  display:block;
  width:min(100%,86rem);
  min-height:0;
  margin:0 auto clamp(3.8rem,5vw,5.6rem);
  padding:0;
  overflow:visible;
  background:transparent;
  border:0;
  box-shadow:none;
  text-align:left;
  transform:none;
}
#films .trilogy-heading::before,
#films .trilogy-heading::after{display:none;content:none}

#films-heading{
  position:relative;
  isolation:isolate;
  display:block;
  width:100%;
  min-height:clamp(25rem,35vw,33rem);
  margin:0;
  overflow:hidden;
  background:
    url("/assets/analog-noise.svg") repeat,
    linear-gradient(90deg,transparent 0 7%,#e8ece918 7.1% 7.25%,transparent 7.35% 92.5%,#e8ece918 92.6% 92.75%,transparent 92.85%),
    repeating-linear-gradient(180deg,transparent 0 5px,#f0f4f116 6px,transparent 7px 13px),
    radial-gradient(ellipse at 50% 46%,#2d26304f 0 17%,transparent 48%),
    linear-gradient(112deg,#030405 0%,#0b090d 48%,#13080e 78%,#050405 100%);
  background-size:170px 170px,100% 100%,100% 100%,100% 100%,100% 100%;
  background-blend-mode:soft-light,normal,overlay,screen,normal;
  border:1px solid #dbe0dd76;
  box-shadow:0 26px 55px #20060355,0 0 0 1px #ff54b51c,inset 0 0 6rem #000b;
  color:#f9f5ec;
  font-size:1rem;
  font-style:normal;
  font-weight:400;
  line-height:1;
  letter-spacing:0;
  text-align:left;
  text-shadow:none;
  text-transform:none;
  transform:none;
}
#films-heading::before{
  content:"A RYAN CHANG FILM CYCLE     /     I  ·  II  ·  III";
  position:absolute;
  z-index:5;
  top:clamp(1.05rem,1.8vw,1.7rem);
  left:clamp(1.2rem,2.4vw,2.4rem);
  display:block;
  margin:0;
  padding:0;
  background:none;
  color:#f4eee8;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.54rem,.66vw,.7rem);
  font-style:normal;
  font-weight:650;
  line-height:1;
  letter-spacing:.17em;
  text-align:left;
  text-shadow:1px 0 #ff4cae;
  text-transform:uppercase;
}
#films-heading::after{
  content:"";
  position:absolute;
  z-index:0;
  top:0;
  right:0;
  bottom:0;
  left:auto;
  display:block;
  width:43%;
  height:auto;
  aspect-ratio:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:
    url("/assets/analog-noise.svg") repeat,
    repeating-linear-gradient(90deg,transparent 0 62px,#fff7f027 63px,transparent 64px 126px),
    linear-gradient(142deg,#edafd5 0%,#ff75c0 48%,#ef7650 125%);
  background-size:145px 145px,100% 100%,100% 100%;
  background-blend-mode:soft-light,overlay,normal;
  box-shadow:none;
  opacity:.95;
  filter:none;
  transform:none;
  clip-path:polygon(22% 0,100% 0,100% 100%,0 100%,13% 53%);
  mix-blend-mode:normal;
  pointer-events:none;
}

#films-heading span,
#films-heading span:first-child,
#films-heading span:last-child{
  position:absolute;
  z-index:2;
  display:block;
  width:auto;
  min-height:0;
  margin:0;
  padding:0;
  overflow:visible;
  align-items:initial;
  justify-content:initial;
  background:none;
  border:0;
  box-shadow:none;
  color:#f9f5ec;
  font-size:inherit;
  line-height:1;
  letter-spacing:0;
  text-shadow:none;
  text-transform:none;
  transform:none;
  white-space:nowrap;
  -webkit-text-stroke:0;
}
#films-heading span::before,
#films-heading span::after{display:none;content:none}
#films-heading span.trilogy-title-the,
#films-heading span.trilogy-title-eclipse,
#films-heading span.trilogy-title-trilogy{
  background:none;
  background-image:none;
  background-blend-mode:normal;
  box-shadow:none;
  filter:none;
}
#films-heading span.trilogy-title-the{top:22%;left:7.2%}
#films-heading span.trilogy-title-eclipse{top:30%;left:6.5%;right:5%}
#films-heading span.trilogy-title-trilogy{right:6.5%;bottom:11%}

#films-heading span>b{
  position:relative;
  z-index:2;
  isolation:isolate;
  display:inline-block;
  color:inherit;
  font:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  transform-origin:center;
}
#films-heading span>b::before,
#films-heading span>b::after{
  position:absolute;
  z-index:-1;
  inset:0;
  display:block;
  content:attr(data-text);
  color:inherit;
  font:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  text-transform:inherit;
  pointer-events:none;
}
#films-heading span.trilogy-title-the>b{
  color:#f5eee5;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(2.1rem,3.3vw,3.5rem);
  font-style:italic;
  font-weight:400;
  letter-spacing:-.035em;
  transform:rotate(-1.1deg);
}
#films-heading span.trilogy-title-the>b::before{
  color:#ef7650;
  clip-path:polygon(0 0,100% 0,100% 44%,0 55%);
  transform:translate(-2px,1px);
}
#films-heading span.trilogy-title-the>b::after{
  color:#ff4db1;
  clip-path:polygon(0 57%,100% 46%,100% 100%,0 100%);
  transform:translate(2px,-1px);
}
#films-heading span.trilogy-title-eclipse>b{
  color:#f7f2ea;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(7rem,13vw,13.5rem);
  font-style:normal;
  font-weight:700;
  line-height:.76;
  letter-spacing:-.055em;
  text-transform:uppercase;
  transform:scaleX(.91);
  transform-origin:left center;
  text-shadow:0 9px 24px #000d;
}
#films-heading span.trilogy-title-eclipse>b::before{
  color:#ff45b3;
  clip-path:polygon(0 0,100% 0,100% 48%,0 56%);
  transform:translate(-5px,2px) rotate(-.22deg);
}
#films-heading span.trilogy-title-eclipse>b::after{
  color:#ef7650;
  clip-path:polygon(0 57%,100% 48%,100% 100%,0 100%);
  transform:translate(5px,-2px) rotate(.18deg);
}
#films-heading span.trilogy-title-trilogy>b{
  color:#200603;
  font-family:"Allura","La Belle Aurore","Snell Roundhand",cursive;
  font-size:clamp(5rem,8.8vw,9rem);
  font-style:normal;
  font-weight:400;
  line-height:.74;
  letter-spacing:.005em;
  text-transform:none;
  text-shadow:1px 0 #fff3ec,0 0 18px #fff3ec52,0 7px 22px #7d28517d;
  transform:rotate(-5deg);
}
#films-heading span.trilogy-title-trilogy>b::before,
#films-heading span.trilogy-title-trilogy>b::after{display:none;content:none}

#films .trilogy-intro{
  position:relative;
  z-index:2;
  display:block;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#070506;
  border:1px solid #dbe0dd76;
  border-top:0;
  box-shadow:0 24px 48px #20060342;
  color:#f6eee8;
  font-family:"Inter Tight",var(--sans);
  font-size:1rem;
  line-height:1.4;
  text-align:left;
  transform:none;
}
#films .trilogy-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
  max-width:none;
  margin:0;
  gap:0;
  background:linear-gradient(90deg,#a9d1ff 0 33.33%,#b8ff3c 33.33% 66.66%,#ff4db1 66.66% 100%) top/100% 3px no-repeat;
}
#films .trilogy-summary>span,
#films .trilogy-summary>span:last-child{
  position:relative;
  display:block;
  min-height:9.5rem;
  padding:clamp(1.65rem,2.3vw,2.25rem);
  background:linear-gradient(145deg,#0b090b,#050405);
  border:0;
  color:#f6eee8;
  text-align:left;
}
#films .trilogy-summary>span+span{border-left:1px solid #dbe0dd33}
#films .trilogy-summary>span::before{
  display:block;
  margin-bottom:.85rem;
  color:#a9d1ff;
  content:"01  /  PROJECTION";
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.5rem,.58vw,.62rem);
  font-weight:650;
  letter-spacing:.14em;
  line-height:1;
  text-transform:uppercase;
}
#films .trilogy-summary>span:nth-child(2)::before{content:"02  /  FORMAL STRESS TEST";color:#b8ff3c}
#films .trilogy-summary>span:nth-child(3)::before{content:"03  /  THRILLER SYNTHESIS";color:#ff70c4}
#films .trilogy-intro i,
#films .trilogy-summary>span:nth-child(1) i,
#films .trilogy-summary>span:nth-child(2) i,
#films .trilogy-summary>span:nth-child(3) i{
  display:block;
  margin:0;
  color:#f7f1ea;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(1.35rem,1.75vw,1.8rem);
  font-style:normal;
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.02em;
  text-transform:none;
}
#films .trilogy-summary b{
  display:block;
  max-width:22rem;
  margin:.7rem 0 0;
  color:#d9cdc6;
  font-family:"Inter Tight",var(--sans);
  font-size:clamp(.75rem,.82vw,.88rem);
  font-weight:550;
  line-height:1.45;
  letter-spacing:.035em;
  text-transform:uppercase;
}
#films .trilogy-convergence{
  position:relative;
  display:grid;
  justify-items:start;
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(1.55rem,2.5vw,2.5rem) clamp(1.65rem,3vw,3.2rem);
  overflow:hidden;
  background:
    url("/assets/analog-noise.svg") repeat,
    radial-gradient(circle at 85% 20%,#fff4ed75 0 5%,transparent 24%),
    linear-gradient(104deg,#edafd5 0%,#f4bed8 53%,#ef7650 128%);
  background-size:170px 170px,100% 100%,100% 100%;
  background-blend-mode:soft-light,screen,normal;
  border:0;
  border-top:1px solid #fff7f066;
  color:#200603;
  text-align:left;
  transform:none;
}
#films .trilogy-convergence::after{
  content:"";
  position:absolute;
  right:-3rem;
  bottom:-6rem;
  width:18rem;
  aspect-ratio:1;
  border:1px solid #20060345;
  border-radius:50%;
  box-shadow:0 0 0 2.2rem #2006030a,0 0 0 4.6rem #20060308;
}
#films .trilogy-convergence span{
  position:relative;
  z-index:1;
  color:#200603;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.54rem,.64vw,.7rem);
  font-weight:700;
  letter-spacing:.15em;
  line-height:1.35;
  text-transform:uppercase;
}
#films .trilogy-convergence strong{
  position:relative;
  z-index:1;
  margin:.32rem 0 .16rem;
  background:none;
  color:#200603;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(4.1rem,7.2vw,7.4rem);
  font-style:italic;
  font-weight:700;
  line-height:.72;
  letter-spacing:-.025em;
  text-align:left;
  text-shadow:none;
  text-transform:uppercase;
}

@media(max-width:800px){
  #films .trilogy-heading{width:100%;margin-bottom:3.6rem;padding:0}
  #films-heading{min-height:clamp(21rem,64vw,28rem)}
  #films-heading::after{width:46%}
  #films-heading span.trilogy-title-the{top:22%;left:6%}
  #films-heading span.trilogy-title-eclipse{top:33%;left:5%;right:3%}
  #films-heading span.trilogy-title-trilogy{right:5%;bottom:12%}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(6.1rem,17vw,9rem)}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.7rem,13vw,7rem)}
  #films .trilogy-summary{grid-template-columns:1fr}
  #films .trilogy-summary>span,#films .trilogy-summary>span:last-child{min-height:0;padding:1.5rem}
  #films .trilogy-summary>span+span{border-top:1px solid #dbe0dd33;border-left:0}
}
@media(max-width:620px){
  #films .trilogy-heading{padding-inline:0}
  #films-heading{min-height:22rem}
  #films-heading::before{right:1rem;left:1rem;font-size:.48rem;line-height:1.4;letter-spacing:.1em}
  #films-heading::after{top:0;right:0;bottom:0;left:auto;width:48%}
  #films-heading span.trilogy-title-the{top:23%;left:5%}
  #films-heading span.trilogy-title-eclipse{top:37%;left:4%;right:2%}
  #films-heading span.trilogy-title-trilogy{right:4%;bottom:13%}
  #films-heading span.trilogy-title-the>b{font-size:2rem}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(4.8rem,23vw,6rem);letter-spacing:-.065em}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4rem,19vw,5.2rem)}
  #films .trilogy-convergence{padding:1.65rem 1.35rem}
  #films .trilogy-convergence strong{font-size:clamp(3.5rem,18vw,4.8rem)}
}

/* The title is the eclipse: print, interruption, and return. No illustrative emblem. */
#films-heading{
  min-height:clamp(27rem,36vw,34rem);
  background:
    url("/assets/analog-noise.svg") repeat,
    linear-gradient(90deg,transparent 0 7%,#f2eee923 7.1% 7.25%,transparent 7.35% 92.5%,#f2eee923 92.6% 92.75%,transparent 92.85%),
    repeating-linear-gradient(180deg,transparent 0 5px,#f0f4f112 6px,transparent 7px 13px),
    radial-gradient(ellipse at 67% 53%,#2e15254f 0 12%,transparent 46%),
    linear-gradient(112deg,#030405 0%,#0b090d 60%,#16090f 100%);
  background-size:165px 165px,100% 100%,100% 100%,100% 100%,100% 100%;
}
#films-heading::after{
  content:"PSYCHOLOGICAL THRILLER  /  96:00  /  FOUR LOCATIONS";
  position:absolute;
  z-index:6;
  right:clamp(1.2rem,2.4vw,2.4rem);
  bottom:clamp(1rem,1.7vw,1.6rem);
  top:auto;
  left:auto;
  display:block;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  background:none;
  border:0;
  color:#ff72c2;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.5rem,.58vw,.62rem);
  font-weight:650;
  line-height:1;
  letter-spacing:.14em;
  text-align:right;
  text-transform:uppercase;
  opacity:1;
  filter:none;
  transform:none;
  clip-path:none;
  mix-blend-mode:normal;
}
#films-heading span.trilogy-title-the{
  top:17%;
  left:7%;
  right:auto;
  bottom:auto;
  z-index:4;
}
#films-heading span.trilogy-title-the>b{
  color:#ef7650;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(2.7rem,4vw,4.2rem);
  font-style:normal;
  font-weight:700;
  line-height:.85;
  letter-spacing:.05em;
  text-transform:uppercase;
  transform:rotate(-.4deg);
}
#films-heading span.trilogy-title-the>b::before,
#films-heading span.trilogy-title-the>b::after{display:none;content:none}

#films-heading span.trilogy-title-eclipse{
  top:27%;
  right:0;
  left:0;
  bottom:auto;
  z-index:3;
  display:block;
  width:100%;
  padding:clamp(.8rem,1.5vw,1.35rem) clamp(1.6rem,4.3vw,4.5rem) clamp(1rem,1.8vw,1.55rem);
  overflow:hidden;
  background:
    url("/assets/analog-noise.svg") repeat,
    linear-gradient(90deg,#f4efe5 0%,#eee6dd 58%,#edafd5 100%);
  background-size:120px 120px,100% 100%;
  background-blend-mode:multiply,normal;
  box-shadow:0 12px 28px #0009,inset 0 1px #fff9,inset 0 -1px #20060359;
}
#films-heading span.trilogy-title-eclipse::after{
  content:"";
  position:absolute;
  z-index:5;
  top:43%;
  right:-2%;
  left:54%;
  display:block;
  height:18%;
  background:#070708;
  border-top:1px solid #ff4db17d;
  border-bottom:1px solid #ef76506b;
  box-shadow:0 5px 13px #0007;
  transform:rotate(-.32deg);
}
#films-heading span.trilogy-title-eclipse>b{
  color:#080708;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(8rem,14vw,14.5rem);
  font-style:normal;
  font-weight:700;
  line-height:.66;
  letter-spacing:-.055em;
  text-transform:uppercase;
  transform:scaleX(.93);
  transform-origin:left center;
  text-shadow:none;
}
#films-heading span.trilogy-title-eclipse>b::before{
  color:#ff45b3;
  clip-path:polygon(0 0,100% 0,100% 41%,0 48%);
  transform:translate(-4px,2px) rotate(-.18deg);
}
#films-heading span.trilogy-title-eclipse>b::after{
  color:#ef7650;
  clip-path:polygon(0 58%,100% 50%,100% 100%,0 100%);
  transform:translate(4px,-2px) rotate(.15deg);
}

#films-heading span.trilogy-title-trilogy{
  z-index:7;
  right:auto;
  bottom:11%;
  left:27%;
}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff78c7;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(6rem,10.5vw,10.8rem);
  font-style:italic;
  font-weight:400;
  line-height:.72;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:3px 2px 0 #4a122f,0 0 26px #ff4db14c,0 9px 28px #000d;
  transform:rotate(-2.1deg) scaleX(.97);
}

@media(max-width:800px){
  #films-heading{min-height:clamp(23rem,67vw,31rem)}
  #films-heading::after{display:none}
  #films-heading span.trilogy-title-the{top:18%;left:6%}
  #films-heading span.trilogy-title-the>b{font-size:clamp(2.2rem,6vw,3.1rem)}
  #films-heading span.trilogy-title-eclipse{top:29%;padding-inline:clamp(1rem,4vw,2rem)}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(7rem,20vw,10rem)}
  #films-heading span.trilogy-title-trilogy{bottom:13%;left:17%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.5rem,16vw,8rem)}
}
@media(max-width:620px){
  #films-heading{min-height:23rem}
  #films-heading::after{right:1rem;bottom:.9rem;max-width:70%;font-size:.42rem;line-height:1.35;letter-spacing:.09em}
  #films-heading span.trilogy-title-the{top:21%;left:5%}
  #films-heading span.trilogy-title-the>b{font-size:2.15rem}
  #films-heading span.trilogy-title-eclipse{top:32%;padding:.75rem .85rem .9rem}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(5.3rem,25vw,6.5rem)}
  #films-heading span.trilogy-title-trilogy{bottom:16%;left:11%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.6rem,21vw,5.7rem)}
}

/* Film-gauge title: 16mm -> 35mm -> 70mm. The image expands with the trilogy. */
#films-heading{
  min-height:clamp(33rem,45vw,42rem);
  background:
    url("/assets/analog-noise.svg") repeat,
    repeating-linear-gradient(90deg,transparent 0 77px,#f0e9df0d 78px,transparent 79px 156px),
    radial-gradient(ellipse at 64% 55%,#6a173c25 0 14%,transparent 47%),
    linear-gradient(118deg,#050505 0%,#0a080a 58%,#190a0f 100%);
  background-size:155px 155px,100% 100%,100% 100%,100% 100%;
  box-shadow:0 28px 60px #20060359,0 0 0 1px #ff54b518,inset 0 0 7rem #000c;
}
#films-heading::before{
  content:"A RYAN CHANG FILM CYCLE     /     ORIGINAL MOTION PICTURE WORK";
  color:#f1eae2;
}
#films-heading::after{
  content:"16MM  /  35MM  /  70MM     ·     I  /  II  /  III";
  color:#ef7650;
}

#films-heading span.trilogy-title-the,
#films-heading span.trilogy-title-eclipse,
#films-heading span.trilogy-title-trilogy{
  position:absolute;
  right:auto;
  bottom:auto;
  display:flex;
  width:auto;
  min-height:0;
  margin:0;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid #f6eee45e;
  border-radius:0;
  background-blend-mode:normal;
  filter:drop-shadow(0 15px 15px #000c);
  transform-origin:center;
}
#films-heading span.trilogy-title-the::before,
#films-heading span.trilogy-title-eclipse::before,
#films-heading span.trilogy-title-trilogy::before{
  position:absolute;
  z-index:5;
  top:.42rem;
  left:.65rem;
  display:block;
  margin:0;
  padding:.2rem .32rem;
  background:#040404c7;
  color:#f3eae1;
  content:"16MM  /  FRAME 01";
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.42rem,.48vw,.52rem);
  font-weight:650;
  line-height:1;
  letter-spacing:.09em;
  text-shadow:1px 0 #ff4db1;
  text-transform:uppercase;
}
#films-heading span.trilogy-title-eclipse::before{content:"35MM  /  FRAME 02"}
#films-heading span.trilogy-title-trilogy::before{content:"70MM  /  FRAME 03"}
#films-heading span.trilogy-title-the::after,
#films-heading span.trilogy-title-eclipse::after,
#films-heading span.trilogy-title-trilogy::after{
  position:absolute;
  z-index:4;
  inset:0;
  display:block;
  height:auto;
  background:url("/assets/analog-noise.svg") repeat;
  background-size:115px 115px;
  border:0;
  box-shadow:inset 0 0 0 1px #fff4ed20,inset 0 0 2.4rem #0007;
  content:"";
  opacity:.28;
  mix-blend-mode:hard-light;
  pointer-events:none;
  transform:none;
}

#films-heading span.trilogy-title-the{
  z-index:4;
  top:12%;
  left:7%;
  width:31%;
  height:clamp(5.8rem,8.2vw,8rem);
  padding:1rem 2rem;
  background:
    repeating-linear-gradient(90deg,transparent 0 18px,#efe2cd 19px 29px,transparent 30px 47px) top 5px left/100% 9px no-repeat,
    repeating-linear-gradient(90deg,transparent 0 18px,#efe2cd 19px 29px,transparent 30px 47px) bottom 5px left/100% 9px no-repeat,
    linear-gradient(100deg,#25170e,#0c0a08 62%,#30131e);
  box-shadow:inset 0 15px #070605,inset 0 -15px #070605;
  transform:rotate(-2.2deg);
}
#films-heading span.trilogy-title-the>b{
  color:#f1e5d4;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(3.4rem,5.3vw,5.4rem);
  font-style:normal;
  font-weight:700;
  line-height:.72;
  letter-spacing:.09em;
  text-transform:uppercase;
  text-shadow:2px 0 #ef7650,-2px 0 #b92d70;
  transform:none;
}

#films-heading span.trilogy-title-eclipse{
  z-index:3;
  top:31%;
  left:3.5%;
  width:72%;
  height:clamp(10.5rem,15vw,14rem);
  padding:1.4rem 3rem;
  background:
    repeating-linear-gradient(90deg,transparent 0 24px,#ddd6c9 25px 39px,transparent 40px 64px) top 7px left/100% 13px no-repeat,
    repeating-linear-gradient(90deg,transparent 0 24px,#ddd6c9 25px 39px,transparent 40px 64px) bottom 7px left/100% 13px no-repeat,
    linear-gradient(105deg,#18181b 0%,#060607 57%,#2b0a1d 100%);
  box-shadow:inset 0 23px #050506,inset 0 -23px #050506;
  transform:rotate(.75deg);
}
#films-heading span.trilogy-title-eclipse>b{
  color:#f4f0e8;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(7.2rem,12.5vw,12.5rem);
  font-style:normal;
  font-weight:700;
  line-height:.68;
  letter-spacing:-.035em;
  text-transform:uppercase;
  text-shadow:4px 0 #ff42b0,-4px 0 #ef7650,0 9px 20px #000;
  transform:scaleX(.94);
}
#films-heading span.trilogy-title-eclipse>b::before,
#films-heading span.trilogy-title-eclipse>b::after{display:none;content:none}

#films-heading span.trilogy-title-trilogy{
  z-index:2;
  top:58%;
  left:16%;
  width:81%;
  height:clamp(13.2rem,19vw,18rem);
  padding:1.8rem 3.5rem;
  background:
    repeating-linear-gradient(90deg,transparent 0 34px,#ead8c9 35px 56px,transparent 57px 90px) top 9px left/100% 17px no-repeat,
    repeating-linear-gradient(90deg,transparent 0 34px,#ead8c9 35px 56px,transparent 57px 90px) bottom 9px left/100% 17px no-repeat,
    radial-gradient(circle at 78% 46%,#8c235663 0 12%,transparent 36%),
    linear-gradient(102deg,#15080c 0%,#300b20 58%,#11090d 100%);
  box-shadow:inset 0 30px #050405,inset 0 -30px #050405;
  transform:rotate(-1.15deg);
}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff7cc9;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(7rem,12.2vw,12rem);
  font-style:italic;
  font-weight:400;
  line-height:.68;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:3px 2px 0 #5d173a,0 0 20px #ff4db13d,0 9px 24px #000;
  transform:scaleX(.98);
}

@media(max-width:800px){
  #films-heading{min-height:clamp(31rem,84vw,39rem)}
  #films-heading span.trilogy-title-the{top:12%;left:6%;width:42%;height:6rem}
  #films-heading span.trilogy-title-the>b{font-size:4rem}
  #films-heading span.trilogy-title-eclipse{top:32%;left:3%;width:86%;height:10rem;padding-inline:1.5rem}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(7rem,19vw,9rem)}
  #films-heading span.trilogy-title-trilogy{top:59%;left:10%;width:88%;height:12rem;padding-inline:1.5rem}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(6.8rem,18vw,8.8rem)}
}
@media(max-width:620px){
  #films-heading{min-height:32rem}
  #films-heading::before{max-width:75%}
  #films-heading::after{max-width:82%}
  #films-heading span.trilogy-title-the{top:14%;left:5%;width:49%;height:5.2rem;padding-inline:.8rem}
  #films-heading span.trilogy-title-the>b{font-size:3.45rem}
  #films-heading span.trilogy-title-eclipse{top:34%;left:2%;width:94%;height:9rem;padding-inline:.8rem}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(5.4rem,25vw,6.4rem);letter-spacing:-.05em}
  #films-heading span.trilogy-title-trilogy{top:62%;left:5%;width:94%;height:10.7rem;padding-inline:.7rem}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.1rem,23vw,6.1rem)}
  #films-heading span.trilogy-title-the::before,
  #films-heading span.trilogy-title-eclipse::before,
  #films-heading span.trilogy-title-trilogy::before{top:.35rem;left:.45rem;font-size:.38rem}
}

/* The feature is already ticking inside the widest frame. */
#films-heading span.trilogy-title-countdown{
  position:absolute;
  z-index:8;
  top:66.5%;
  right:3.25%;
  bottom:auto;
  left:auto;
  display:flex;
  width:25%;
  min-height:0;
  margin:0;
  padding:0;
  flex-direction:column;
  align-items:flex-end;
  overflow:visible;
  border:0;
  background:none;
  color:#f5eee8;
  filter:drop-shadow(0 7px 8px #000c);
  text-align:right;
  text-transform:uppercase;
  transform:rotate(-1.15deg);
  pointer-events:none;
}
#films-heading span.trilogy-title-countdown::before,
#films-heading span.trilogy-title-countdown::after{display:none;content:none}
#films-heading .trilogy-title-countdown small{
  margin:0 0 .32rem;
  color:#ff7cc9;
  font-family:"Barlow Condensed","Avenir Next Condensed",sans-serif;
  font-size:clamp(.5rem,.62vw,.68rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.2em;
}
#films-heading .trilogy-title-countdown strong{
  display:block;
  margin:0;
  padding:.28rem .55rem .32rem .72rem;
  border:1px solid #f5eee878;
  border-left:.34rem solid #ef7650;
  background:#050506e8;
  color:#f7f0e8;
  box-shadow:4px 4px 0 #8f245f,10px 9px 21px #000b;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(1.65rem,2.55vw,2.85rem);
  font-style:normal;
  font-weight:700;
  line-height:.9;
  letter-spacing:-.075em;
  text-shadow:2px 0 #ff42b0,-2px 0 #ef7650;
  white-space:nowrap;
}
#films-heading .trilogy-title-countdown em{
  margin:.48rem 0 0;
  color:#ef7650;
  font-family:"Barlow Condensed","Avenir Next Condensed",sans-serif;
  font-size:clamp(.45rem,.52vw,.58rem);
  font-style:normal;
  font-weight:700;
  line-height:1;
  letter-spacing:.14em;
  white-space:nowrap;
}
@media(max-width:800px){
  #films-heading span.trilogy-title-countdown{
    top:auto;
    right:4%;
    bottom:3.8%;
    width:auto;
    transform:rotate(-1deg);
  }
  #films-heading .trilogy-title-countdown small,
  #films-heading .trilogy-title-countdown em{display:none}
  #films-heading .trilogy-title-countdown strong{
    padding:.22rem .42rem .26rem .55rem;
    border-left-width:.22rem;
    box-shadow:3px 3px 0 #8f245f,6px 6px 12px #000a;
    font-size:clamp(1.12rem,4vw,1.55rem);
  }
}

/* Approved direction: orange ignition, white eclipse, pink release. */
#films-heading{
  min-height:clamp(27rem,36vw,34rem);
  background:
    url("/assets/analog-noise.svg") repeat,
    linear-gradient(90deg,transparent 0 7%,#f2eee923 7.1% 7.25%,transparent 7.35% 92.5%,#f2eee923 92.6% 92.75%,transparent 92.85%),
    repeating-linear-gradient(180deg,transparent 0 5px,#f0f4f112 6px,transparent 7px 13px),
    radial-gradient(ellipse at 67% 53%,#2e15254f 0 12%,transparent 46%),
    linear-gradient(112deg,#030405 0%,#0b090d 60%,#16090f 100%);
  background-size:165px 165px,100% 100%,100% 100%,100% 100%,100% 100%;
  box-shadow:0 28px 60px #20060359,0 0 0 1px #ff54b518,inset 0 0 7rem #000c;
}
#films-heading::before{
  content:"A RYAN CHANG FILM CYCLE     /     I  ·  II  ·  III";
  color:#f1eae2;
}
#films-heading::after{
  content:"PSYCHOLOGICAL THRILLER  /  FOUR LOCATIONS";
  position:absolute;
  z-index:6;
  top:auto;
  right:clamp(1.2rem,2.4vw,2.4rem);
  bottom:clamp(1rem,1.7vw,1.6rem);
  left:auto;
  display:block;
  width:auto;
  height:auto;
  margin:0;
  padding:0;
  border:0;
  background:none;
  color:#ff72c2;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.5rem,.58vw,.62rem);
  font-weight:650;
  line-height:1;
  letter-spacing:.14em;
  text-align:right;
  text-transform:uppercase;
  opacity:1;
  filter:none;
  transform:none;
  clip-path:none;
  mix-blend-mode:normal;
}
#films-heading span.trilogy-title-the,
#films-heading span.trilogy-title-eclipse,
#films-heading span.trilogy-title-trilogy{
  min-height:0;
  border:0;
  border-radius:0;
  filter:none;
  transform:none;
}
#films-heading span.trilogy-title-the::before,
#films-heading span.trilogy-title-trilogy::before,
#films-heading span.trilogy-title-the::after,
#films-heading span.trilogy-title-trilogy::after{display:none;content:none}
#films-heading span.trilogy-title-the{
  z-index:4;
  top:17%;
  right:auto;
  bottom:auto;
  left:7%;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
  background:none;
  box-shadow:none;
}
#films-heading span.trilogy-title-the>b{
  color:#ef7650;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(2.7rem,4vw,4.2rem);
  font-style:normal;
  font-weight:700;
  line-height:.85;
  letter-spacing:.05em;
  text-transform:uppercase;
  text-shadow:none;
  transform:rotate(-.4deg);
}
#films-heading span.trilogy-title-the>b::before,
#films-heading span.trilogy-title-the>b::after{display:none;content:none}
#films-heading span.trilogy-title-eclipse{
  z-index:3;
  top:27%;
  right:0;
  bottom:auto;
  left:0;
  display:block;
  width:100%;
  height:auto;
  padding:clamp(.8rem,1.5vw,1.35rem) clamp(1.6rem,4.3vw,4.5rem) clamp(1rem,1.8vw,1.55rem);
  overflow:hidden;
  background:
    url("/assets/analog-noise.svg") repeat,
    linear-gradient(90deg,#f4efe5 0%,#eee6dd 58%,#edafd5 100%);
  background-size:120px 120px,100% 100%;
  background-blend-mode:multiply,normal;
  box-shadow:0 12px 28px #0009,inset 0 1px #fff9,inset 0 -1px #20060359;
}
#films-heading span.trilogy-title-eclipse::before{display:none;content:none}
#films-heading span.trilogy-title-eclipse::after{
  content:"";
  position:absolute;
  z-index:5;
  top:43%;
  right:-2%;
  bottom:auto;
  left:54%;
  display:block;
  width:auto;
  height:18%;
  border-top:1px solid #ff4db17d;
  border-right:0;
  border-bottom:1px solid #ef76506b;
  border-left:0;
  background:#070708;
  box-shadow:0 5px 13px #0007;
  opacity:1;
  mix-blend-mode:normal;
  transform:rotate(-.32deg);
}
#films-heading span.trilogy-title-eclipse>b{
  color:#080708;
  font-family:"Barlow Condensed","Avenir Next Condensed",Impact,sans-serif;
  font-size:clamp(8rem,14vw,14.5rem);
  font-style:normal;
  font-weight:700;
  line-height:.66;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:none;
  transform:scaleX(.93);
  transform-origin:left center;
}
#films-heading span.trilogy-title-eclipse>b::before{
  display:block;
  color:#ff45b3;
  content:attr(data-text);
  clip-path:polygon(0 0,100% 0,100% 41%,0 48%);
  transform:translate(-4px,2px) rotate(-.18deg);
}
#films-heading span.trilogy-title-eclipse>b::after{
  display:block;
  color:#ef7650;
  content:attr(data-text);
  clip-path:polygon(0 58%,100% 50%,100% 100%,0 100%);
  transform:translate(4px,-2px) rotate(.15deg);
}
#films-heading span.trilogy-title-trilogy{
  z-index:7;
  top:auto;
  right:auto;
  bottom:11%;
  left:27%;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
  background:none;
  box-shadow:none;
}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff78c7;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(6rem,10.5vw,10.8rem);
  font-style:italic;
  font-weight:400;
  line-height:.72;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:3px 2px 0 #4a122f,0 0 26px #ff4db14c,0 9px 28px #000d;
  transform:rotate(-2.1deg) scaleX(.97);
}
#films-heading span.trilogy-title-countdown{
  z-index:9;
  top:auto;
  right:2.8%;
  bottom:11.5%;
  width:auto;
  align-items:flex-end;
  filter:none;
  transform:rotate(-.8deg);
}
#films-heading .trilogy-title-countdown small{margin:0 0 .28rem;color:#ff78c7}
#films-heading .trilogy-title-countdown strong{
  padding:.24rem .5rem .3rem;
  border-top:1px solid #ef7650;
  border-right:0;
  border-bottom:1px solid #ff78c7;
  border-left:0;
  background:transparent;
  color:#f5eee8;
  box-shadow:none;
  font-size:clamp(1.45rem,2.05vw,2.25rem);
  text-shadow:2px 0 #ff42b0,-2px 0 #ef7650;
}
#films-heading .trilogy-title-countdown em{margin:.35rem 0 0;color:#ef7650}
@media(max-width:800px){
  #films-heading{min-height:clamp(23rem,67vw,31rem)}
  #films-heading span.trilogy-title-the{top:18%;left:6%}
  #films-heading span.trilogy-title-the>b{font-size:clamp(2.2rem,6vw,3.1rem)}
  #films-heading span.trilogy-title-eclipse{top:29%;padding-inline:clamp(1rem,4vw,2rem)}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(7rem,20vw,10rem)}
  #films-heading span.trilogy-title-trilogy{bottom:13%;left:17%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.5rem,16vw,8rem)}
  #films-heading span.trilogy-title-countdown{right:2.5%;bottom:5.5%}
}
@media(max-width:620px){
  #films-heading{min-height:23rem}
  #films-heading::after{right:1rem;bottom:.9rem;max-width:70%;font-size:.42rem;line-height:1.35;letter-spacing:.09em}
  #films-heading span.trilogy-title-the{top:21%;left:5%}
  #films-heading span.trilogy-title-the>b{font-size:2.15rem}
  #films-heading span.trilogy-title-eclipse{top:32%;padding:.75rem .85rem .9rem}
  #films-heading span.trilogy-title-eclipse>b{font-size:clamp(5.3rem,25vw,6.5rem)}
  #films-heading span.trilogy-title-trilogy{bottom:16%;left:11%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.6rem,21vw,5.7rem)}
  #films-heading span.trilogy-title-countdown{right:1rem;bottom:4.5%}
  #films-heading .trilogy-title-countdown strong{font-size:1.08rem}
}

/* Neon is an object emitting light, not pink type with a preset glow. */
#films-heading span.trilogy-title-trilogy>b{
  color:#210916;
  -webkit-text-fill-color:#210916;
  -webkit-text-stroke:2px #ffd9ef;
  paint-order:stroke fill;
  text-shadow:
    0 0 1px #fff,
    0 0 3px #fff6fb,
    0 0 8px #ff79c0,
    0 0 18px #ff2d9a,
    0 0 31px #a70c6485,
    3px 6px 1px #060204;
}
#films-heading span.trilogy-title-trilogy>b::before,
#films-heading span.trilogy-title-trilogy>b::after{
  display:block;
  content:attr(data-text);
  transform:none;
}
#films-heading span.trilogy-title-trilogy>b::before{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:7px #ff2e9f;
  opacity:.38;
  filter:blur(9px);
}
#films-heading span.trilogy-title-trilogy>b::after{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.7px #fffaff;
  opacity:.95;
  filter:none;
}
@media(prefers-reduced-motion:no-preference){
  #films-heading span.trilogy-title-trilogy>b{
    animation:trilogy-neon-breathe 6.8s steps(1,end) infinite;
  }
}
@keyframes trilogy-neon-breathe{
  0%,11%,13%,56%,58%,100%{opacity:1}
  12%,57%{opacity:.96}
}

/* The rave release returns after the controlled title sequence. */
#films .trilogy-convergence{
  background:
    url("/assets/analog-noise.svg") repeat,
    repeating-radial-gradient(circle at 76% 50%,#ff75c83d 0 1.2px,transparent 1.8px 8px),
    radial-gradient(circle at 14% 66%,#20dfff42 0 11%,transparent 29%),
    radial-gradient(circle at 54% 32%,#a9ff3b2c 0 9%,transparent 28%),
    radial-gradient(circle at 88% 58%,#ff3ca852 0 13%,transparent 31%),
    linear-gradient(110deg,#07010b,#18051f 52%,#250612);
  background-size:170px 170px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;
  background-blend-mode:soft-light,screen,screen,screen,screen,normal;
  border-top:1px solid #ff75c86b;
  color:#fff8f0;
  box-shadow:inset 0 0 4rem #0008;
}
#films .trilogy-convergence::after{
  border-color:#ff75c850;
  box-shadow:0 0 0 2.2rem #20dfff0e,0 0 0 4.6rem #ff3ca80d,0 0 4rem #ff3ca830;
}
#films .trilogy-convergence span{color:#ff9c72}
#films .trilogy-convergence strong{
  color:#fff8f0;
  text-shadow:2px 0 #20dfff,-2px 0 #ff4db1,0 0 9px #fff8f0b0,0 0 22px #ff75c86b;
}
@media(max-width:800px){
  #films-heading::after{display:none}
}

/* One film surface across title, progression and rave release. */
#films .trilogy-heading::before{
  content:"";
  position:absolute;
  z-index:20;
  inset:-8%;
  display:block;
  background:
    url("/assets/analog-noise.svg") repeat,
    repeating-linear-gradient(180deg,transparent 0 3px,#fff 4px,transparent 5px 9px);
  background-size:118px 118px,100% 100%;
  mix-blend-mode:overlay;
  opacity:.2;
  transform:translate3d(0,0,0);
  pointer-events:none;
}
#films .trilogy-heading::after{
  content:"";
  position:absolute;
  z-index:19;
  inset:0;
  display:block;
  background:
    linear-gradient(101deg,transparent 0 29%,#fff5 29.15%,transparent 29.65% 67%,#ff4db124 67.2%,transparent 67.7%),
    radial-gradient(ellipse at 50% 48%,transparent 0 54%,#0006 100%);
  opacity:.22;
  mix-blend-mode:soft-light;
  pointer-events:none;
}
@media(prefers-reduced-motion:no-preference){
  #films .trilogy-heading::before{
    animation:trilogy-film-grain .48s steps(2,end) infinite;
  }
}
@keyframes trilogy-film-grain{
  0%,100%{transform:translate3d(0,0,0)}
  20%{transform:translate3d(-2.4%,1.2%,0)}
  40%{transform:translate3d(1.4%,-1.8%,0)}
  60%{transform:translate3d(2.1%,1.6%,0)}
  80%{transform:translate3d(-1.3%,-1%,0)}
}

/* Feminine neon signature: the script itself becomes the tube. */
#films-heading span.trilogy-title-trilogy{
  bottom:7.5%;
  left:25%;
}
#films-heading span.trilogy-title-trilogy>b{
  color:#ffd3ea;
  -webkit-text-fill-color:#ffd3ea;
  -webkit-text-stroke:.45px #fff9fd;
  paint-order:stroke fill;
  font-family:"Allura","Snell Roundhand","Segoe Script",cursive;
  font-size:clamp(8.7rem,13.8vw,14rem);
  font-style:normal;
  font-weight:400;
  line-height:.62;
  letter-spacing:-.035em;
  text-transform:none;
  text-shadow:
    0 0 1px #fff,
    0 0 4px #fff4fa,
    0 0 9px #ff7bc4,
    0 0 20px #ff2d9a,
    0 0 38px #a70c648a,
    3px 6px 2px #050203;
  transform:rotate(-2.1deg) scaleX(1.02);
}
#films-heading span.trilogy-title-trilogy>b::before{
  color:#ff2e9f;
  -webkit-text-fill-color:#ff2e9f;
  -webkit-text-stroke:1.5px #ff2e9f;
  opacity:.46;
  filter:blur(7px);
}
#films-heading span.trilogy-title-trilogy>b::after{
  color:#fff9fd;
  -webkit-text-fill-color:#fff9fd;
  -webkit-text-stroke:0;
  opacity:.42;
  filter:blur(.2px);
}

/* Hackers-orange rupture: hotter, harder, unapologetically electronic. */
#films .trilogy-convergence{
  background:
    url("/assets/analog-noise.svg") repeat,
    repeating-linear-gradient(180deg,transparent 0 3px,#ff742014 4px,transparent 5px 9px),
    repeating-radial-gradient(circle at 77% 52%,#ff6c1f38 0 1.2px,transparent 1.8px 8px),
    radial-gradient(circle at 12% 70%,#00e5ff33 0 10%,transparent 29%),
    radial-gradient(circle at 58% 28%,#b5ff3630 0 8%,transparent 27%),
    radial-gradient(circle at 88% 56%,#ff4d1750 0 14%,transparent 33%),
    linear-gradient(108deg,#020407,#10030c 52%,#240703);
  background-size:170px 170px,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%,100% 100%;
  background-blend-mode:soft-light,screen,screen,screen,screen,screen,normal;
  border-top-color:#ff6d27a8;
}
#films .trilogy-convergence span{color:#ff9d42;text-shadow:0 0 8px #ff5c1b70}
#films .trilogy-convergence strong{
  color:#ff6d1f;
  -webkit-text-stroke:.55px #ffd05a;
  text-shadow:
    2px 0 #ffe04b,
    -2px 0 #ff174f,
    0 0 7px #ffb322,
    0 0 18px #ff5b18,
    0 0 34px #ff2b0f9c,
    5px 7px 0 #060102;
}
#films .trilogy-convergence::after{
  border-color:#ff6d275e;
  box-shadow:0 0 0 2.2rem #00e5ff0e,0 0 0 4.6rem #ff5b1815,0 0 4rem #ff5b1840;
}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:12%;left:13%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(7rem,21vw,10rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:14%;left:7%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(6rem,26vw,7.5rem)}
}

/* Final script calibration: nightlife sign-painting, not wedding calligraphy. */
#films-heading span.trilogy-title-trilogy{
  bottom:8.5%;
  left:26%;
}
#films-heading span.trilogy-title-trilogy>b{
  color:#ffc1e1;
  -webkit-text-fill-color:#ffc1e1;
  -webkit-text-stroke:.38px #fff8fc;
  font-family:"Yellowtail","Brush Script MT","Segoe Script",cursive;
  font-size:clamp(7.8rem,11.9vw,12.4rem);
  line-height:.64;
  letter-spacing:-.018em;
  text-rendering:geometricPrecision;
  transform:rotate(-1.35deg) scaleX(1.01);
}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:12.5%;left:15%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(6.4rem,18.5vw,8.8rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:14.5%;left:8%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.5rem,22.5vw,6.8rem)}
}

/* Cursive proved too romantic. Keep the pink; give it a future-facing spine. */
#films-heading span.trilogy-title-trilogy{
  bottom:11.5%;
  left:22%;
}
#films-heading span.trilogy-title-trilogy>b{
  color:#180711;
  -webkit-text-fill-color:#180711;
  -webkit-text-stroke:1.55px #ffd9ef;
  paint-order:stroke fill;
  font-family:"Syne","Space Grotesk",sans-serif;
  font-size:clamp(6.2rem,9.35vw,9.8rem);
  font-style:normal;
  font-weight:600;
  line-height:.72;
  letter-spacing:.018em;
  text-transform:uppercase;
  text-shadow:
    0 0 1px #fff,
    0 0 4px #fff4fa,
    0 0 9px #ff78c1,
    0 0 21px #ff2d9a,
    0 0 39px #a70c6480,
    4px 7px 1px #050203;
  transform:rotate(-1deg) skewX(-3deg) scaleX(1.01);
}
#films-heading span.trilogy-title-trilogy>b::before{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:6px #ff2e9f;
  opacity:.4;
  filter:blur(8px);
}
#films-heading span.trilogy-title-trilogy>b::after{
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.62px #fffaff;
  opacity:.96;
  filter:none;
}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:14.5%;left:13%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5rem,15vw,7.2rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:17%;left:8%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(3.55rem,15.8vw,4.25rem);letter-spacing:.012em}
}

/* FINAL VISIBLE OVERRIDE: solid pink italic Trilogy. */
#films-heading span.trilogy-title-trilogy{
  bottom:11%;
  left:27%;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
  transform:none;
}
#films-heading span.trilogy-title-trilogy::before,
#films-heading span.trilogy-title-trilogy::after{display:none;content:none}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff78c7;
  -webkit-text-fill-color:#ff78c7;
  -webkit-text-stroke:0;
  paint-order:normal;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(6rem,10.5vw,10.8rem);
  font-style:italic;
  font-weight:400;
  line-height:.72;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:3px 2px 0 #4a122f,0 0 26px #ff4db14c,0 9px 28px #000d;
  transform:rotate(-2.1deg) scaleX(.97);
  animation:none;
}
#films-heading span.trilogy-title-trilogy>b::before,
#films-heading span.trilogy-title-trilogy>b::after{display:none;content:none}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:13%;left:17%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.5rem,16vw,8rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:16%;left:11%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.6rem,21vw,5.7rem)}
}

/* Actual requested return: the word itself is pink, not black with a pink halo. */
#films-heading span.trilogy-title-trilogy{
  bottom:11%;
  left:27%;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
  transform:none;
}
#films-heading span.trilogy-title-trilogy::before,
#films-heading span.trilogy-title-trilogy::after{display:none;content:none}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff78c7;
  -webkit-text-fill-color:#ff78c7;
  -webkit-text-stroke:0;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(6rem,10.5vw,10.8rem);
  font-style:italic;
  font-weight:400;
  line-height:.72;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:3px 2px 0 #4a122f,0 0 26px #ff4db14c,0 9px 28px #000d;
  transform:rotate(-2.1deg) scaleX(.97);
  animation:none;
}
#films-heading span.trilogy-title-trilogy>b::before,
#films-heading span.trilogy-title-trilogy>b::after{display:none;content:none}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:13%;left:17%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.5rem,16vw,8rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:16%;left:11%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.6rem,21vw,5.7rem)}
}

/* Trilogy is not signage: a sharp fashion serif against the brutal eclipse. */
#films-heading span.trilogy-title-trilogy{
  bottom:10.5%;
  left:24%;
}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff78c7;
  -webkit-text-fill-color:#ff78c7;
  -webkit-text-stroke:0;
  font-family:"Bodoni Moda",Didot,"Bodoni 72",serif;
  font-size:clamp(6.5rem,9.8vw,10.2rem);
  font-style:italic;
  font-weight:600;
  line-height:.7;
  letter-spacing:-.045em;
  text-transform:uppercase;
  text-shadow:
    0 1px 0 #ffd9ee,
    0 0 7px #ff9bd1a6,
    0 0 19px #ff4d9f52,
    3px 5px 0 #4a122f,
    0 10px 28px #000c;
  transform:rotate(-1.65deg) scaleX(.99);
  animation:none;
}
#films-heading span.trilogy-title-trilogy>b::before{
  color:#ff4da5;
  -webkit-text-fill-color:#ff4da5;
  -webkit-text-stroke:0;
  opacity:.22;
  filter:blur(8px);
}
#films-heading span.trilogy-title-trilogy>b::after{display:none;content:none}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:14%;left:14%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.4rem,16vw,7.7rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:17%;left:8%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.1rem,18vw,5rem);letter-spacing:-.04em}
}

/* Give the final word a physical container instead of making it float. */
#films-heading span.trilogy-title-trilogy{
  bottom:8.5%;
  left:19.5%;
  display:flex;
  width:59%;
  height:clamp(7.6rem,10.2vw,10.4rem);
  padding:.65rem 2.2rem .95rem;
  align-items:center;
  justify-content:center;
  overflow:visible;
  border:1px solid #ff78c7b8;
  background:
    url("/assets/analog-noise.svg") repeat,
    linear-gradient(104deg,#080407 0%,#2b0a1d 66%,#12060d 100%);
  background-size:130px 130px,100% 100%;
  background-blend-mode:soft-light,normal;
  box-shadow:
    0 0 0 5px #050203,
    0 0 0 6px #ef76503d,
    0 16px 25px #000b,
    inset 0 0 2.8rem #ff4da51c;
  transform:rotate(-1.05deg);
}
#films-heading span.trilogy-title-trilogy::before{
  content:"03  /  FINAL ECLIPSE";
  position:absolute;
  z-index:3;
  top:.42rem;
  left:.62rem;
  display:block;
  color:#ef7650;
  font-family:ui-monospace,"SFMono-Regular",Menlo,monospace;
  font-size:clamp(.39rem,.47vw,.5rem);
  font-weight:700;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
#films-heading span.trilogy-title-trilogy::after{
  content:"";
  position:absolute;
  z-index:1;
  right:.7rem;
  bottom:.55rem;
  display:block;
  width:24%;
  height:1px;
  background:linear-gradient(90deg,transparent,#ff78c7);
  opacity:.72;
}
#films-heading span.trilogy-title-trilogy>b{
  z-index:2;
  font-size:clamp(5.7rem,8.6vw,8.9rem);
  transform:scaleX(.99);
}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{
    bottom:12%;
    left:8%;
    width:72%;
    height:clamp(6rem,15vw,7.4rem);
    padding:.55rem 1.2rem .75rem;
  }
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.7rem,13.5vw,6.4rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{
    bottom:15%;
    left:4.5%;
    width:69%;
    height:5.4rem;
    padding:.45rem .65rem .6rem;
  }
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(3.35rem,14.6vw,4rem)}
  #films-heading span.trilogy-title-trilogy::before{top:.32rem;left:.4rem;font-size:.32rem}
}

/* Settled working version: preserve the geometric pink title on Ryan's screen. */
#films-heading span.trilogy-title-trilogy{
  bottom:11.5%;
  left:22%;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
  transform:none;
}
#films-heading span.trilogy-title-trilogy::before,
#films-heading span.trilogy-title-trilogy::after{display:none;content:none}
#films-heading span.trilogy-title-trilogy>b{
  color:#180711;
  -webkit-text-fill-color:#180711;
  -webkit-text-stroke:1.55px #ffd9ef;
  paint-order:stroke fill;
  font-family:"Syne","Space Grotesk",sans-serif;
  font-size:clamp(6.2rem,9.35vw,9.8rem);
  font-style:normal;
  font-weight:600;
  line-height:.72;
  letter-spacing:.018em;
  text-transform:uppercase;
  text-shadow:
    0 0 1px #fff,
    0 0 4px #fff4fa,
    0 0 9px #ff78c1,
    0 0 21px #ff2d9a,
    0 0 39px #a70c6480,
    4px 7px 1px #050203;
  transform:rotate(-1deg) skewX(-3deg) scaleX(1.01);
  animation:none;
}
#films-heading span.trilogy-title-trilogy>b::before{
  display:block;
  content:attr(data-text);
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:6px #ff2e9f;
  opacity:.4;
  filter:blur(8px);
}
#films-heading span.trilogy-title-trilogy>b::after{
  display:block;
  content:attr(data-text);
  color:transparent;
  -webkit-text-fill-color:transparent;
  -webkit-text-stroke:.62px #fffaff;
  opacity:.96;
  filter:none;
}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:14.5%;left:13%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5rem,15vw,7.2rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:17%;left:8%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(3.55rem,15.8vw,4.25rem);letter-spacing:.012em}
}

/* FINAL VISIBLE OVERRIDE: solid pink italic Trilogy. */
#films-heading span.trilogy-title-trilogy{
  bottom:11%;
  left:27%;
  display:block;
  width:auto;
  height:auto;
  padding:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
  transform:none;
}
#films-heading span.trilogy-title-trilogy::before,
#films-heading span.trilogy-title-trilogy::after{display:none;content:none}
#films-heading span.trilogy-title-trilogy>b{
  color:#ff78c7;
  -webkit-text-fill-color:#ff78c7;
  -webkit-text-stroke:0;
  paint-order:normal;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:clamp(6rem,10.5vw,10.8rem);
  font-style:italic;
  font-weight:400;
  line-height:.72;
  letter-spacing:-.055em;
  text-transform:uppercase;
  text-shadow:3px 2px 0 #4a122f,0 0 26px #ff4db14c,0 9px 28px #000d;
  transform:rotate(-2.1deg) scaleX(.97);
  animation:none;
}
#films-heading span.trilogy-title-trilogy>b::before,
#films-heading span.trilogy-title-trilogy>b::after{display:none;content:none}
@media(max-width:800px){
  #films-heading span.trilogy-title-trilogy{bottom:13%;left:17%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(5.5rem,16vw,8rem)}
}
@media(max-width:620px){
  #films-heading span.trilogy-title-trilogy{bottom:16%;left:11%}
  #films-heading span.trilogy-title-trilogy>b{font-size:clamp(4.6rem,21vw,5.7rem)}
}
