@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Source+Sans+Pro:wght@400;600&display=swap');
:root{--paper:#f5f4f0;--ink:#1e211f;--sub:#696b66;--line:#cbc9c2}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Source Sans Pro',Arial,sans-serif;font-size:14px}.page{max-width:1180px;margin:auto;padding:0 72px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.top{height:94px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand,nav,.eyebrow,.section-top,button,.footer-links,footer small{font-size:10px;font-weight:600;letter-spacing:.11em}nav{display:flex;gap:30px}.intro{padding:100px 0 115px}.eyebrow{color:var(--sub);margin:0 0 35px}.intro h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(58px,9vw,132px);line-height:1.16;letter-spacing:-.055em;font-weight:400;margin:0}.punctuation{color:#989c91}.subtitle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px}.subtitle-row p{font-family:'Playfair Display',Georgia,serif;font-size:clamp(22px,3vw,36px);margin:0;color:var(--sub)}button{font-family:inherit;color:var(--ink);background:none;border:1px solid var(--ink);padding:15px 20px;cursor:pointer}button:hover{background:var(--ink);color:var(--paper)}.section-top{display:flex;justify-content:space-between;color:var(--sub);padding-bottom:18px;border-bottom:1px solid var(--ink)}.credit{display:grid;grid-template-columns:90px minmax(0,1fr) minmax(220px,36%);gap:20px;padding:38px 0 44px;border-bottom:1px solid var(--line);break-inside:avoid}.year{color:var(--sub);font-size:12px;padding-top:9px}.credit h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(29px,3.8vw,49px);letter-spacing:-.035em;font-weight:400;margin:0 0 11px;line-height:1.22}.studio{font-size:12px;color:var(--sub);margin:0;line-height:1.6}.role{font-size:11px;letter-spacing:.04em;color:var(--ink);margin:12px 0 0}.detail{font-size:12px;line-height:1.7;color:#50534f;padding-top:6px}.detail p{margin:0 0 10px}.detail label{display:block;color:#96968f;font-size:9px;letter-spacing:.1em;font-weight:600;margin-bottom:2px}.loading{color:var(--sub)}footer{padding:120px 0 35px}.footer-statement{font-family:'Playfair Display',Georgia,serif;font-size:clamp(44px,7vw,85px);letter-spacing:-.04em;margin-bottom:30px}.footer-links{display:flex;gap:32px;border-top:1px solid var(--line);padding-top:20px}.imdb-placeholder{color:#aaa}footer small{display:block;color:var(--sub);text-align:right;margin-top:90px}@media(max-width:700px){.page{padding:0 24px}.top{height:70px}nav{gap:16px}.intro{padding:90px 0}.intro h1{font-size:clamp(51px,12vw,85px)}.subtitle-row{align-items:flex-start;flex-direction:column;gap:32px}.credit{grid-template-columns:55px 1fr;gap:8px 12px;padding:31px 0}.year{padding-top:6px}.detail{grid-column:2;padding-top:8px}.credit h2{font-size:33px}footer{padding-top:90px}}
@page{size:A4;margin:15mm 18mm} @media print{html,body{background:white!important;color:#181818;-webkit-print-color-adjust:exact;print-color-adjust:exact}.page{max-width:none;padding:0}.top{height:37px}.top nav,.intro .eyebrow,.subtitle-row button,.footer-links,.footer-statement{display:none!important}.intro{padding:22px 0 26px}.intro h1{font-size:43px}.subtitle-row{margin-top:4px}.subtitle-row p{font-size:17px}.section-top{padding-bottom:8px}.credit{grid-template-columns:40px minmax(0,1fr) minmax(0,40%);gap:12px;padding:15px 0 18px}.credit h2{font-size:21px;margin-bottom:3px}.year,.studio,.detail{font-size:9px}.detail{line-height:1.38}.detail p{margin-bottom:5px}.detail label{font-size:7px}.role{font-size:8px;margin-top:4px}footer{padding:20px 0 0}footer small{margin-top:6px;font-size:8px}a{text-decoration:none!important}}

/* Editorial contact section */
footer{padding:116px 0 35px}
.footer-kicker{font-size:10px;letter-spacing:.11em;font-weight:600;color:var(--sub);margin:0 0 24px}
.footer-statement{margin-bottom:55px;font-size:clamp(43px,6.5vw,78px)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding:25px 0 40px;border-top:1px solid var(--ink)}
.contact-grid a{display:flex;flex-direction:column;gap:12px;min-width:0}
.contact-grid span{font-size:10px;font-weight:600;letter-spacing:.11em;color:var(--sub)}
.contact-grid strong{font-size:clamp(14px,1.6vw,21px);font-weight:400;overflow-wrap:anywhere}
.footer-links{border-top:1px solid var(--line);padding-top:24px}
.footer-links .imdb-placeholder{letter-spacing:.11em;font-size:10px}
@media(max-width:700px){.contact-grid{grid-template-columns:1fr;gap:34px}footer{padding-top:95px}}

/* Typography revision — same colours, content, spacing, and three-column layout */
.intro h1 { font-weight:600; }
.subtitle-row p { font-weight:500; }
.credit h2 { font-weight:500; letter-spacing:-.025em; }
.footer-statement { font-weight:600; }
@media print {
 .intro h1 { font-weight:600; }
 .credit h2 { font-weight:500; }
}

/* Revision 3: less scale, more ink. The grid and PDF engine are unchanged. */
@media screen and (min-width:701px) {
  .intro h1 { font-size:clamp(62px,7.2vw,106px); font-weight:700; letter-spacing:-.047em; line-height:1.12; }
  .subtitle-row p { font-size:clamp(22px,2.5vw,31px); font-weight:600; }
  .credit h2 { font-size:clamp(29px,3.05vw,40px); font-weight:600; letter-spacing:-.023em; }
  .footer-statement { font-size:clamp(39px,5.3vw,68px); font-weight:700; }
}
@media screen and (max-width:700px) {
  .intro h1 { font-size:clamp(45px,10.6vw,72px); font-weight:700; letter-spacing:-.045em; }
  .subtitle-row p { font-size:clamp(21px,5vw,28px); font-weight:600; }
  .credit h2 { font-size:30px; font-weight:600; letter-spacing:-.02em; }
  .footer-statement { font-weight:700; }
}

/* More compact credits rhythm — screen only. PDF renderer unchanged. */
@media screen and (min-width:701px){.credit{padding-top:24px;padding-bottom:27px}}
@media screen and (max-width:700px){.credit{padding-top:22px;padding-bottom:24px}}

/* v5: equal featured credit heights, sized to Bunker; content never clipped. */
@media screen and (min-width:701px){
 .filmography:not(.all-filmography) .credit{min-height:205px;padding:24px 0;}
 .all-filmography .credit{min-height:150px;padding:20px 0;}
}
@media screen and (max-width:700px){.filmography .credit{min-height:0}}
.subtitle-row sup,.role sup{font-size:.55em;vertical-align:super}
nav{align-items:center;gap:23px}
.nav-download{border:0;padding:0;font-size:10px;letter-spacing:.11em;white-space:nowrap}
.nav-download:hover{background:none;color:inherit;text-decoration:underline;text-underline-offset:3px}
.quiet-link{font-size:10px;color:var(--sub);text-decoration:none}
.project-imdb{display:inline-block;margin-top:11px;font-size:10px;font-weight:600;letter-spacing:.065em;color:var(--sub)}
.contact-section{padding:100px 0 90px;scroll-margin-top:40px}
.all-filmography{padding-bottom:85px}
.all-filmography .credit h2{font-size:clamp(26px,2.45vw,32px)}
@media screen and (max-width:700px){nav{gap:10px}.nav-download{font-size:9px}.contact-section{padding:75px 0}.all-filmography .credit h2{font-size:27px}}

/* Editorial v6 — tighter sticky navigation, selected only, clean section rules */
html{scroll-padding-top:78px}
.top{
 position:sticky;top:0;z-index:30;height:58px;
 background:var(--paper);
}
@media screen and (min-width:701px) {
 .filmography:not(.all-filmography) .credit{
   min-height:158px;
   padding:19px 0 19px;
 }
 .filmography:not(.all-filmography) .credit:last-child{border-bottom:0}
 .intro{padding-top:68px;padding-bottom:80px}
 .contact-section{padding:58px 0 65px}
}
.filmography:not(.all-filmography) .credit .detail p:last-child{margin-bottom:0}
.section-top{border-bottom:1.5px solid var(--ink)}
.contact-section{
 border-top:1.5px solid var(--ink);
 border-bottom:1.5px solid var(--ink);
}
.contact-section .contact-grid{border-top:0;padding-top:5px}
.contact-section .footer-statement{margin-bottom:25px}
.all-filmography{padding-top:56px}
.all-filmography .section-top{border-bottom:1.5px solid var(--ink)}
.compact-credit{
 display:flex;align-items:center;justify-content:space-between;
 gap:24px;padding:21px 0;border-bottom:1px solid var(--line);
}
.compact-credit:last-child{border-bottom:1.5px solid var(--ink)}
.compact-credit h2{
 font-family:'Playfair Display',Georgia,serif;
 font-size:clamp(22px,2.5vw,31px);line-height:1.2;
 font-weight:600;letter-spacing:-.02em;margin:0
}
.compact-imdb{font-size:11px;white-space:nowrap;color:var(--sub);font-weight:600}
@media screen and (max-width:700px){
 .top{height:58px}
 nav{flex-wrap:wrap;justify-content:flex-end;row-gap:7px}
 .intro{padding:65px 0}
 .filmography:not(.all-filmography) .credit{padding:20px 0}
 .contact-section{padding:45px 0 50px}
 .all-filmography{padding-top:42px}
 .compact-credit{padding:17px 0}
}

/* v7 — additional credits as three calm editorial columns */
.brand-separator{color:var(--sub);padding:0 7px;font-weight:400}
.contact-section{border-bottom:0!important}
.all-filmography{padding-top:12px!important}
.all-filmography .section-top{border-bottom:1px solid var(--line)!important}
#all-credit-list{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 column-gap:36px;row-gap:0;
}
#all-credit-list .compact-credit{
 display:flex;min-width:0;flex-direction:column;align-items:flex-start;
 justify-content:flex-start;gap:6px;padding:19px 0;
 border-bottom:1px solid var(--line);
}
#all-credit-list .compact-credit h2{
 font-family:'Playfair Display',Georgia,serif;
 font-size:clamp(16px,1.5vw,20px);font-weight:500;
 letter-spacing:-.013em;line-height:1.25;
 overflow-wrap:anywhere;
}
#all-credit-list .compact-imdb{font-size:10px;letter-spacing:.045em;font-weight:400}
@media(max-width:900px){#all-credit-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}}
@media(max-width:590px){#all-credit-list{grid-template-columns:1fr}#all-credit-list .compact-credit{padding:13px 0}}

/* v8 final refinements */
.top .brand{white-space:nowrap;font-size:9px;letter-spacing:.075em}
.top nav{gap:20px;flex-shrink:0}
.contact-section{border-top:1.5px solid var(--ink)!important;border-bottom:1.5px solid var(--ink)!important;padding-top:32px!important;padding-bottom:28px!important}
.contact-section .footer-kicker{margin:0 0 18px}
.contact-section .contact-grid{padding:0!important;border-top:0!important}
.all-filmography{padding-top:26px!important}
.intro{padding-top:82px!important}
@media(max-width:1000px){
  .top{height:auto;min-height:58px;gap:8px;flex-wrap:wrap;padding:13px 0}
  .top .brand{white-space:normal;line-height:1.4}
  .top nav{gap:14px}
}
@media(max-width:700px){
  .intro{padding-top:60px!important}
  .contact-section{padding:24px 0!important}
  .contact-section .contact-grid{gap:20px}
}
/* v9 refinements — website only, no PDF generator changes */
@media screen {
  .filmography:not(.all-filmography) .section-top {
    border-top: 1.5px solid var(--ink);
    border-bottom: 0;
    padding-top: 15px;
    padding-bottom: 10px;
  }
  .all-filmography .section-top {
    border-top: 0 !important;
    border-bottom: 0 !important;
    padding-bottom: 10px;
  }
  .section-top > span:first-child,
  .contact-section .footer-kicker {
    font-weight: 700;
    color: var(--ink);
    letter-spacing: .105em;
    font-size: 11px;
  }
  #all-credit-list .compact-credit h2 {
    font-family: 'Playfair Display', Georgia, serif;
    font-weight: 400;
    font-size: 16px;
    letter-spacing: -.007em;
    line-height: 1.3;
  }
  #all-credit-list .compact-credit { padding: 15px 0; }
}
@media screen and (max-width:590px) {
  #all-credit-list .compact-credit h2 { font-size: 17px; }
}

/* v10: discreet filmography metadata; one line below each title */
#all-credit-list .compact-credit{gap:6px;padding:17px 0 18px}
#all-credit-list .compact-title-row{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;min-width:0}
#all-credit-list .compact-meta{
  margin:0;color:#90918A;font-family:'Source Sans Pro',Arial,sans-serif;
  font-size:11px;font-weight:400;letter-spacing:.018em;line-height:1.45;
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;
}
#all-credit-list .compact-separator{color:#C0C0BA;font-size:10px}
#all-credit-list .compact-imdb{margin:0;font-size:10px}
@media(max-width:590px){#all-credit-list .compact-meta{font-size:11px}}

/* v11 mobile typography and icon treatment. Desktop remains unchanged. */
.brand-mobile{display:none}
.ui-arrow{display:inline-block;width:11px;height:11px;vertical-align:-1px;flex-shrink:0;margin-left:2px}
nav a,.quiet-link,.nav-download,.project-imdb,.compact-imdb{display:inline-flex;align-items:center;gap:2px}
.contact-grid .ui-arrow{width:15px;height:15px;vertical-align:middle;margin-left:5px}
@media screen and (max-width:700px){
  .brand-desktop{display:none}
  .brand-mobile{display:inline}
  .top{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:10px 0;min-height:76px;height:auto}
  .top .brand{white-space:nowrap!important;line-height:1.15;font-size:10px;letter-spacing:.075em}
  .top nav{display:flex;flex-wrap:nowrap;justify-content:space-between;gap:10px;width:100%;white-space:nowrap}
  .top nav a,.top .nav-download{font-size:10px;letter-spacing:.055em}
  .top .ui-arrow{width:11px;height:11px}
}

/* v12 — read Additional Credits vertically in Display Order, top-to-bottom
   in column 1, then column 2, then column 3. DOM order stays unchanged. */
@media screen {
  #all-credit-list {display:block;columns:3;column-gap:36px;}
  #all-credit-list .compact-credit {break-inside:avoid;page-break-inside:avoid;display:flex;width:100%;}
}
@media screen and (max-width:900px) {#all-credit-list {columns:2;column-gap:26px;}}
@media screen and (max-width:590px) {#all-credit-list {columns:1;}}

/* v13 mobile: single-line sticky identity and actions, plus one-row contact */
@media screen and (max-width:700px) {
  .top {
    display:flex;
    flex-direction:row;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:space-between;
    min-height:0;
    height:48px;
    padding:0;
    gap:7px;
  }
  .top .brand {
    flex:0 0 auto;
    white-space:nowrap!important;
    font-size:clamp(7px,1.95vw,9px);
    letter-spacing:0.015em;
    line-height:1;
  }
  .top .brand-separator { margin:0 3px; }
  .top nav {
    display:flex;
    flex:0 1 auto;
    min-width:0;
    width:auto;
    gap:clamp(5px,1.5vw,12px);
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-end;
    white-space:nowrap;
  }
  .top nav a,.top .nav-download {
    font-size:clamp(7px,1.9vw,9px);
    letter-spacing:0;
    white-space:nowrap;
  }
  .top .ui-arrow{width:8px;height:8px;margin-left:0}
  .contact-section .contact-grid {
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);
    gap:8px;
    align-items:end;
  }
  .contact-section .contact-grid a {min-width:0;gap:5px;}
  .contact-section .contact-grid span {font-size:9px;}
  .contact-section .contact-grid strong {
    font-size:clamp(10px,2.9vw,13px);
    line-height:1.2;
    white-space:nowrap;
    overflow-wrap:normal;
  }
  .contact-section .contact-grid .ui-arrow{width:10px;height:10px;margin-left:1px}
}
@media screen and (max-width:360px) {
  .page {padding-left:16px;padding-right:16px;}
  .top .brand{font-size:7px;}
  .top nav a,.top .nav-download {font-size:7px;}
  .top nav{gap:5px;}
  .contact-section .contact-grid strong{font-size:10px;}
}

/* Dynamic identity: one compact line, responsive to Sheet values. */
.brand-mobile-text{display:none}@media(max-width:700px){.brand-desktop-text{display:none}.brand-mobile-text{display:inline}.brand{min-width:0;white-space:nowrap;letter-spacing:.02em;font-size:clamp(6px,1.55vw,10px)}}
