/* Waldemar Raźniak — waldemarrazniak.pl
   Bodoni Moda for display, Archivo for text; bone paper, blackout bands. */

@font-face{font-family:'Archivo';src:url("fonts/archivo-latin.woff2") format('woff2');font-weight:400 700;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Archivo';src:url("fonts/archivo-latinext.woff2") format('woff2');font-weight:400 700;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Bodoni Moda';src:url("fonts/bodoni-latin.woff2") format('woff2');font-weight:400 900;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Bodoni Moda';src:url("fonts/bodoni-latinext.woff2") format('woff2');font-weight:400 900;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  --paper:#EDECE7; --surface:#F7F6F2; --ink:#16171A; --ink-soft:#5B5C5E;
  --rule:rgba(22,23,26,.15); --accent:#8E2C24;
  --stage:#0B0C0E; --stage-ink:#EDECE7; --stage-soft:#96958F;
  --stage-rule:rgba(237,236,231,.18); --stage-accent:#CB6154;
  --measure:34rem; --gutter:clamp(20px,5vw,72px); --maxw:1360px;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#101114;--surface:#171A1E;--ink:#E9E7E2;--ink-soft:#9C9D9D;--rule:rgba(233,231,226,.16);--accent:#CB6154;}
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:'Archivo',system-ui,-apple-system,'Helvetica Neue',sans-serif;
  font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}

.skip{position:absolute;left:-9999px;top:0;z-index:99;background:var(--ink);color:var(--paper);padding:12px 18px}
.skip:focus{left:8px;top:8px}

.eyebrow{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin:0;font-variant-numeric:tabular-nums}
.serif{font-family:'Bodoni Moda','Bodoni 72',Didot,Georgia,serif;font-weight:400}

/* sticky bar */
.bar{position:fixed;inset-inline:0;top:0;z-index:40;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:14px var(--gutter);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--rule);transform:translateY(-102%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
/* keyboard users must not tab into a bar parked above the viewport */
.bar.show,.bar:focus-within{transform:none}
.bar .who{font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:19px}
.bar nav{display:flex;gap:clamp(12px,2vw,28px);flex-wrap:wrap;align-items:baseline}
.bar nav a{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.bar nav a:hover{color:var(--ink)}
.bar nav a.lang{color:var(--ink);border-bottom:1px solid var(--rule)}

/* hero */
.hero{position:relative;min-height:clamp(520px,86svh,940px);display:grid;background:var(--stage);overflow:hidden}
.hero picture,.hero picture img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,12,14,.55) 0%,rgba(11,12,14,.05) 34%,rgba(11,12,14,.42) 68%,rgba(11,12,14,.88) 100%)}
.hero .plate{position:relative;z-index:2;align-self:end;width:100%;max-width:var(--maxw);margin-inline:auto;padding:0 var(--gutter) clamp(36px,6vh,72px);color:var(--stage-ink)}
.hero h1{font-family:'Bodoni Moda',Didot,Georgia,serif;font-weight:400;font-size:clamp(2.9rem,9.2vw,8.4rem);line-height:.92;letter-spacing:-.015em;margin:.18em 0 .22em;text-wrap:balance}
.hero h1 span{display:block}
.hero h1 span:last-child{padding-left:clamp(0px,4.5vw,88px)}
.hero .role{font-size:clamp(12px,1.5vw,15px);font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--stage-ink);margin:0}
.hero .credit{position:absolute;z-index:2;right:var(--gutter);top:calc(100% - 26px);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--stage-soft)}

/* statement */
.statement{padding:clamp(56px,9vw,120px) 0 clamp(44px,6vw,76px)}
.statement p{font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:clamp(1.32rem,2.55vw,2.1rem);line-height:1.34;letter-spacing:-.005em;max-width:min(46rem,100%);margin:0 0 1.1em;text-wrap:pretty}
.statement p.sub{font-family:'Archivo',sans-serif;font-size:1.02rem;line-height:1.62;color:var(--ink-soft);max-width:var(--measure);margin-bottom:0}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(30px,4vw,46px)}
.btn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--ink);padding:13px 22px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}
.btn:hover{background:var(--ink);color:var(--paper)}
.btn.ghost{border-color:var(--rule);color:var(--ink-soft)}
.btn.ghost:hover{background:transparent;border-color:var(--ink);color:var(--ink)}

/* section heads */
.head{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;border-top:1px solid var(--rule);padding-top:16px;margin-bottom:clamp(34px,5vw,66px)}
.head h2{font-family:'Bodoni Moda',Didot,Georgia,serif;font-weight:400;font-size:clamp(1.6rem,3.4vw,2.7rem);line-height:1.1;margin:.15em 0 0;letter-spacing:-.01em}
.head .count{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);font-variant-numeric:tabular-nums}

/* 2026 band */
.season{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-block:clamp(22px,3.2vw,34px);margin-bottom:clamp(50px,8vw,104px)}
.season .eyebrow{margin-bottom:clamp(16px,2.2vw,24px)}
.season .pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,48px)}
.season .item{margin:0}
.season .item img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:14px;filter:saturate(.94)}
.season .t{margin:0;font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:clamp(1.1rem,2vw,1.42rem);line-height:1.24}
.season .t .sub{font-family:'Archivo',sans-serif;font-style:normal;font-size:13px;color:var(--ink-soft);display:block;margin-top:.55em;line-height:1.55}
.season figcaption{margin-top:.7em;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
@media (max-width:760px){.season .pair{grid-template-columns:1fr;gap:30px}}

/* productions */
.productions{padding-bottom:clamp(60px,8vw,110px)}
.prod{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,3vw,48px);align-items:center;padding-block:clamp(38px,5.5vw,74px);border-top:1px solid var(--rule)}
.prod:first-of-type{border-top:0;padding-top:0}
/* grid-row is not decoration: without it the auto-placement cursor cannot go
   back left, so the flipped rows drop their text into a second row. */
.prod .fig{grid-column:1/8;grid-row:1;margin:0}
.prod .txt{grid-column:8/13;grid-row:1}
.prod.flip .fig{grid-column:6/13;grid-row:1}
.prod.flip .txt{grid-column:1/6;grid-row:1}
.prod .fig img{width:100%;filter:saturate(.92);transition:filter .6s ease}
.prod:hover .fig img{filter:saturate(1.05)}
.prod .fig figcaption{margin-top:9px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft)}
.prod h3{font-family:'Bodoni Moda',Didot,Georgia,serif;font-weight:400;font-size:clamp(1.55rem,3.6vw,2.85rem);line-height:1.06;letter-spacing:-.015em;margin:.3em 0 .05em;text-wrap:balance}
.prod .alt{font-size:14px;color:var(--ink-soft);margin:0 0 .9em;font-style:italic}
.prod .blurb{margin:0 0 1.4em;max-width:38rem}
.prod.flagship{display:block;padding-top:0}
.prod.flagship .fig{margin-bottom:clamp(22px,3vw,40px)}
.prod.flagship .body{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(18px,3vw,48px);align-items:start}
.prod.flagship .txt{grid-column:1/7}
.prod.flagship .rail{grid-column:8/13}
.prod.flagship h3{font-size:clamp(2rem,5.4vw,4.2rem)}

.credits{margin:0;border-top:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;column-gap:clamp(14px,2vw,28px);font-size:13.5px;line-height:1.5}
.credits dt{margin:0;padding:9px 0;border-bottom:1px solid var(--rule);font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap}
.credits dd{margin:0;padding:9px 0;border-bottom:1px solid var(--rule)}
.more{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);border-bottom:1px solid var(--rule);padding-bottom:3px}
.more:hover{color:var(--accent);border-color:var(--accent)}

/* at a glance */
.glance{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding-block:clamp(26px,3.4vw,40px);margin-bottom:clamp(50px,8vw,100px)}
.glance .eyebrow{margin-bottom:clamp(18px,2.4vw,26px)}
.glance dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,48px)}
.glance dt{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.55em}
.glance dd{margin:0;font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:clamp(1.05rem,1.9vw,1.38rem);line-height:1.3}
.glance dd small{display:block;font-family:'Archivo',sans-serif;font-size:13px;color:var(--ink-soft);margin-top:.6em;line-height:1.55}
@media (max-width:900px){.glance dl{grid-template-columns:1fr;gap:26px}}

/* showreel band */
.reel{background:var(--stage);color:var(--stage-ink)}
.reel .inner{max-width:var(--maxw);margin-inline:auto;padding:clamp(48px,7vw,88px) var(--gutter)}
.reel .head{border-color:var(--stage-rule);margin-bottom:0}
.reel .head h2{color:var(--stage-ink)}
.reel .eyebrow{color:var(--stage-soft)}
.reel .note{margin:18px 0 0;color:var(--stage-soft);font-size:15px;max-width:44rem}

/* press */
.press{padding-block:clamp(56px,8vw,110px)}
.press .lede{font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:clamp(1.3rem,3vw,2.15rem);line-height:1.34;max-width:min(44rem,100%);margin:0 0 clamp(34px,5vw,58px);text-wrap:pretty}
.press .lede small{display:block;font-family:'Archivo',sans-serif;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-top:1.1em}
.press .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(22px,3.4vw,52px)}
.press .cols article{border-top:1px solid var(--rule);padding-top:16px}
.press .who{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);margin:0 0 .7em}
.press .cols p:last-child{margin:0;font-size:15px;line-height:1.6}
@media (max-width:900px){.press .cols{grid-template-columns:1fr}}

/* about */
.about{padding-bottom:clamp(60px,9vw,120px)}
.about .grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(22px,3.4vw,56px);align-items:start}
.about .pic{grid-column:1/5;max-width:340px}
.about .bio{grid-column:6/13;max-width:44rem}
.about .bio p{margin:0 0 1.15em}
.about .bio>p.lead{font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:1.32rem;line-height:1.42}
.bio .subhead{margin:clamp(30px,4vw,46px) 0 .9em;padding-top:16px;border-top:1px solid var(--rule);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.facts{margin:clamp(26px,3.5vw,42px) 0 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:auto 1fr;column-gap:clamp(14px,2vw,28px);font-size:14px}
.facts dt{padding:10px 0;font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;border-bottom:1px solid var(--rule)}
.facts dd{margin:0;padding:10px 0;border-bottom:1px solid var(--rule)}
.shortbio{margin:clamp(30px,4vw,46px) 0 0;padding:clamp(20px,2.6vw,30px);background:var(--surface);border:1px solid var(--rule)}
.shortbio .lbl{margin:0 0 .8em;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.shortbio .txt{margin:0;font-size:15px;line-height:1.62}

/* awards */
.awards{padding-bottom:clamp(60px,9vw,110px)}
.awards ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.awards li{display:grid;grid-template-columns:7rem 1fr;gap:clamp(12px,2.4vw,32px);padding:16px 0;border-bottom:1px solid var(--rule);align-items:baseline}
.awards .yr{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.awards .nm{font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:1.2rem;line-height:1.3;margin:0 0 .25em}
.awards .for{margin:0;font-size:14px;color:var(--ink-soft);max-width:44rem}
@media (max-width:900px){.awards li{grid-template-columns:1fr;gap:4px}}

/* index */
.index{padding-bottom:clamp(60px,9vw,110px)}
.index ol{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.index li{display:grid;grid-template-columns:5.5rem 1fr auto;gap:clamp(10px,2vw,28px);align-items:baseline;padding:12px 0;border-bottom:1px solid var(--rule)}
.index .yr{font-size:12px;font-weight:600;letter-spacing:.1em;color:var(--ink-soft);font-variant-numeric:tabular-nums}
.index .ttl{font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:1.12rem;line-height:1.3}
.index .ttl .sub{font-family:'Archivo',sans-serif;font-style:normal;font-size:12px;color:var(--ink-soft)}
.index .hs{font-size:13px;color:var(--ink-soft);text-align:right}
.index .grouphead{margin:clamp(38px,5vw,60px) 0 0;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
@media (max-width:900px){.index li{grid-template-columns:4.2rem 1fr;row-gap:2px}.index .hs{grid-column:2;text-align:left}}

/* cv */
.cv{padding-bottom:clamp(60px,9vw,110px)}
.cv .pages{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vw,40px)}
.cv .pages img{width:100%;border:1px solid var(--rule);background:#fff}
.cv .dl{margin-top:clamp(22px,3vw,32px)}
@media (max-width:760px){.cv .pages{grid-template-columns:1fr}}

/* contact */
.contact{background:var(--stage);color:var(--stage-ink)}
.contact .inner{max-width:var(--maxw);margin-inline:auto;padding:clamp(56px,9vw,120px) var(--gutter)}
.contact .eyebrow{color:var(--stage-soft)}
.contact a.mail{display:inline-block;font-family:'Bodoni Moda',Didot,Georgia,serif;font-size:clamp(1.5rem,5vw,3.4rem);line-height:1.1;letter-spacing:-.015em;margin:.25em 0 0;border-bottom:1px solid var(--stage-rule);padding-bottom:.08em;transition:border-color .3s,color .3s;word-break:break-word}
.contact a.mail:hover{color:var(--stage-accent);border-color:var(--stage-accent)}
.contact .links{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(30px,4vw,44px)}
.contact .btn{border-color:var(--stage-rule);color:var(--stage-ink)}
.contact .btn:hover{background:var(--stage-ink);color:var(--stage);border-color:var(--stage-ink)}
.contact .btn.ghost{color:var(--stage-soft)}
.contact .btn.ghost:hover{background:transparent;border-color:var(--stage-ink);color:var(--stage-ink)}
.contact .cols{display:flex;flex-wrap:wrap;gap:clamp(24px,5vw,72px);margin-top:clamp(38px,5vw,64px);padding-top:22px;border-top:1px solid var(--stage-rule);font-size:13px;color:var(--stage-soft)}
.contact .cols div{min-width:180px;max-width:320px}
.contact .cols b{display:block;color:var(--stage-ink);font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px;font-weight:600}
.colophon{margin-top:clamp(30px,4vw,48px);font-size:11px;letter-spacing:.06em;color:var(--stage-soft)}

/* motion */
.reveal{opacity:0;transform:translateY(20px)}
.reveal.in{opacity:1;transform:none;transition:opacity .85s ease,transform .85s cubic-bezier(.16,.8,.24,1)}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}
@media (max-width:900px){
  .prod,.prod.flagship .body,.about .grid{display:block}
  .prod .fig{margin-bottom:20px}
  .prod.flagship .rail{margin-top:28px}
  .about .pic{max-width:320px;margin-bottom:28px}
  .hero h1 span:last-child{padding-left:0}
}

/* narrow screens: the bar keeps only identity and the language switch */
@media (max-width:700px){
  .bar{padding:10px var(--gutter)}
  .bar .who{font-size:16px;white-space:nowrap}
  .bar nav a:not(.lang){display:none}
}
